Stripe
透過 Stripe 連接器,您可以在 Stripe 資料集上執行插入、刪除、更新和讀取作業。
事前準備
使用 Stripe 連接器前,請先完成下列工作:
- 在 Google Cloud 專案中:
- 確認已設定網路連線。如要瞭解網路模式,請參閱「網路連線」。
- 將 roles/connectors.admin IAM 角色授予設定連線器的使用者。
- 將下列 IAM 角色授予要用於連接器的服務帳戶:
roles/secretmanager.viewer
roles/secretmanager.secretAccessor
服務帳戶是特殊的 Google 帳戶類型,主要用於代表需要驗證且必須取得授權才能存取 Google API 資料的非人類使用者。如果您沒有服務帳戶,請建立服務帳戶。詳情請參閱「建立服務帳戶」。
- 啟用下列服務:
secretmanager.googleapis.com
(Secret Manager API)connectors.googleapis.com
(Connectors API)
如要瞭解如何啟用服務,請參閱「啟用服務」。
如果專案先前未啟用這些服務或權限,系統會在設定連結器時提示您啟用。
- 如要瞭解如何建立 Stripe 帳戶,請參閱「建立 Stripe 帳戶」或「建立帳戶並瞭解如何開始使用 Stripe」。
設定連接器
連線專屬於資料來源。也就是說,如果您有多個資料來源,則必須為每個資料來源建立個別的連線。如要建立連線,請按照下列步驟操作:
- 在 Cloud 控制台中,前往「Integration Connectors」>「Connections」頁面,然後選取或建立 Google Cloud 專案。
- 按一下「+ 建立新連線」,開啟「建立連線」頁面。
- 在「位置」部分中,選擇連線位置。
- 區域:從下拉式清單中選取位置。
如需所有支援的地區清單,請參閱「位置」一文。
- 點選「下一步」。
- 區域:從下拉式清單中選取位置。
- 在「連線詳細資料」部分,完成下列步驟:
- 連接器:從可用連接器的下拉式清單中選取「Stripe」。
- 連接器版本:從可用版本的下拉式清單中選取連接器版本。
- 在「連線名稱」欄位中,輸入連線執行個體的名稱。
連線名稱必須符合下列條件:
- 連線名稱可使用英文字母、數字或連字號。
- 字母必須為小寫。
- 連線名稱開頭須為英文字母,結尾則須為英文字母或數字。
- 連結名稱不得超過 49 個字元。
- 視需要輸入連線執行個體的「Description」(說明)。
- 或者,可啟用 Cloud Logging,然後選取記錄層級。記錄層級預設為
Error
。 - 服務帳戶:選取具備必要角色的服務帳戶。
- 視需要設定「連線節點設定」:
- 節點數量下限:輸入連線節點數量下限。
- 節點數量上限:輸入連線節點數量上限。
節點是用來處理交易的連線單位 (或備用資源)。連線處理的交易量越多,就需要越多節點;反之,處理的交易量越少,需要的節點就越少。如要瞭解節點對連接器定價的影響,請參閱「 連線節點定價」。如未輸入任何值,系統預設會將節點下限設為 2 (提高可用性),節點上限則設為 50。
- 帳戶 ID:您要使用的帳戶 ID。
- (選用) 在「進階設定」部分,選取「使用 Proxy」核取方塊,為連線設定 Proxy 伺服器,並設定下列值:
-
Proxy 驗證機制:選取與 Proxy 伺服器進行驗證的驗證類型。系統支援下列驗證類型:
- 基本:基本 HTTP 驗證。
- 摘要:摘要 HTTP 驗證。
- Proxy 使用者:用於向 Proxy 伺服器驗證的使用者名稱。
- Proxy Password:使用者的密碼 Secret Manager 密鑰。
-
Proxy SSL Type:連線至 Proxy 伺服器時要使用的 SSL 類型。系統支援下列驗證類型:
- 自動:預設設定。如果網址是 HTTPS 網址,則會使用「通道」選項。如果網址是 HTTP 網址,系統會使用「永不」選項。
- 一律:連線一律啟用 SSL。
- 從未:連線未啟用 SSL。
- 通道:連線是透過通道 Proxy 建立。Proxy 伺服器會開啟與遠端主機的連線,流量則會透過 Proxy 來回傳輸。
- 在「Proxy 伺服器」部分中,輸入 Proxy 伺服器的詳細資料。
- 選用:按一下「+ 新增標籤」,以鍵/值組合的形式為連線新增標籤。
- 點選「下一步」。
-
在「Authentication」(驗證) 部分中,輸入驗證詳細資料。
Stripe 連線支援
API Key
類型驗證。從「API 金鑰」下拉式選單中,選取 API 金鑰的 Secret Manager 密鑰,然後選取對應的密鑰版本。 - 點選「下一步」。
- 檢查:檢查連線和驗證詳細資料。
- 點選「建立」。
連線設定範例
本節列出您在建立 Stripe 連線時設定的各個欄位範例值。
Live API Key 連線類型
欄位名稱 | 詳細資料 |
---|---|
位置 | us-central1 |
連接器 | Stripe |
連接器版本 | 1 |
連線名稱 | stripe-connection |
啟用 Cloud Logging | 是 |
服務帳戶 | SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com |
帳戶 ID | ACCOUNT_ID |
詳細程度 | 5 |
節點數量下限 | 2 |
節點數量上限 | 50 |
Live APIKey | LIVE_API_KEY |
密鑰版本 | 1 |
如要瞭解正式版 API 金鑰,請參閱「正式版 API 金鑰」。
實體、作業和動作
所有整合連接器都會為所連應用程式的物件提供抽象層。您只能透過這個抽象化程序存取應用程式的物件。抽象化會以實體、作業和動作的形式呈現。
- 實體: 實體可以視為已連結應用程式或服務中的物件,或是屬性集合。實體的定義因連接器而異。舉例來說,在資料庫連接器中,資料表是實體;在檔案伺服器連接器中,資料夾是實體;在訊息系統連接器中,佇列是實體。
不過,連接器可能不支援或沒有任何實體,在這種情況下,
Entities
清單會是空白。 - 作業: 作業是指您可以在實體上執行的活動。您可以對實體執行下列任一操作:
從可用清單中選取實體,系統會產生該實體可用的作業清單。如需作業的詳細說明,請參閱 Connectors 工作的實體作業。 不過,如果連接器不支援任何實體作業,系統就不會在
Operations
清單中列出這些不支援的作業。 - 動作: 動作是透過連接器介面提供給整合的第一類函式。動作可讓您變更一或多個實體,且因連接器而異。一般來說,動作會有一些輸入參數和輸出參數。不過,連接器可能不支援任何動作,此時
Actions
清單會是空白。
系統限制
Stripe 連接器每秒可處理 6 筆交易,每個節點也是如此,超過此限制的交易都會受到節流。根據預設,Integration Connectors 會為連線分配 2 個節點 (以提高可用性)。
如要瞭解 Integration Connectors 適用的限制,請參閱「限制」一文。
在整合服務中使用 Stripe 連線
建立連線後,Apigee Integration 和 Application Integration 都會提供該連線。您可以在整合中透過「連線器」工作使用連線。
動作
本節列出連接器支援的操作。如要瞭解如何設定動作,請參閱「動作範例」。
ConfirmPaymentIntent 動作
這項動作會確認付款意圖。
ConfirmPaymentIntent 動作的輸入參數
參數名稱 | 資料類型 | 必填 | 說明 |
---|---|---|---|
PaymentIntentId | 字串 | 是 | PaymentIntent ID。 |
如要瞭解如何設定 ConfirmPaymentIntent
動作,請參閱動作範例。
CapturePaymentIntent 動作
這項操作會擷取付款意圖。
CapturePaymentIntent 動作的輸入參數
參數名稱 | 資料類型 | 必填 | 說明 |
---|---|---|---|
PaymentIntentId | 字串 | 是 | PaymentIntent ID。 |
如要瞭解如何設定 ConfirmPaymentIntent
動作,請參閱動作範例。
CancelPaymentIntent 動作
這項操作會取消付款意圖。
CancelPaymentIntent 動作的輸入參數
參數名稱 | 資料類型 | 必填 | 說明 |
---|---|---|---|
PaymentIntentId | 字串 | 是 | PaymentIntent ID。 |
如要瞭解如何設定 CancelPaymentIntent
動作,請參閱動作範例。
AttachPaymentMethodToCustomer 動作
這項動作會將 PaymentMethod 物件附加至顧客。
AttachPaymentMethodToCustomer 動作的輸入參數
參數名稱 | 資料類型 | 必填 | 說明 |
---|---|---|---|
PaymentMethodId | 字串 | 是 | 付款方式 ID。 |
CustomerId | 字串 | 是 | 要附加 PaymentMethod 的顧客 ID。 |
如要瞭解如何設定 AttachPaymentMethodToCustomer
動作,請參閱動作範例。
DetachPaymentMethodFromCustomer 動作
這項操作會將 PaymentMethod 物件從顧客中分離。付款方式分離後,就無法重新附加至顧客。
DetachPaymentMethodFromCustomer 動作的輸入參數
參數名稱 | 資料類型 | 必填 | 說明 |
---|---|---|---|
PaymentMethodId | 字串 | 是 | 付款方式 ID。 |
如要瞭解如何設定 DetachPaymentMethodFromCustomer
動作,請參閱動作範例。
FinalizeInvoice 動作
這項操作會完成草擬的月結單。
「結算月結單」動作的輸入參數
參數名稱 | 資料類型 | 必填 | 說明 |
---|---|---|---|
InvoiceId | 字串 | 是 | QuoInvoice ID。 |
如要瞭解如何設定 FinalizeInvoice
動作,請參閱動作範例。
FinalizeQuote 動作
這項操作會完成草擬的報價。
FinalizeQuote 動作的輸入參數
參數名稱 | 資料類型 | 必填 | 說明 |
---|---|---|---|
SouQuoteIdrcePath | 字串 | 是 | 報價 ID。 |
如要瞭解如何設定 FinalizeQuote
動作,請參閱「動作範例」。
AcceptQuote 動作
這項動作會接受報價,並為接受的報價產生發票。
AcceptQuote 動作的輸入參數
參數名稱 | 資料類型 | 必填 | 說明 |
---|---|---|---|
QuoteId | 字串 | 是 | 報價 ID。 |
如要瞭解如何設定 AcceptQuote
動作,請參閱「動作範例」。
CancelQuote 動作
這項操作會取消草擬的報價。
CancelQuote 動作的輸入參數
參數名稱 | 資料類型 | 必填 | 說明 |
---|---|---|---|
QuoteId | 字串 | 是 | 報價 ID。 |
如要瞭解如何設定 CancelQuote
動作,請參閱「動作範例」。
動作範例
本節說明如何在這個連接器中執行部分動作。
範例 - 確認付款意圖
這個範例說明如何確認指定付款的意圖。
- 在「
Configure connector task
」對話方塊中,按一下Actions
。 - 選取
ConfirmPaymentIntent
動作,然後按一下「完成」。 - 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下
connectorInputPayload
,然後在Default Value
欄位中輸入類似下列的值:{ "ReturnUrl": "http://google.com/", "PaymentIntentId": "pi_3OggwFANHgX3SHp71AVrNtT3" }
如果動作成功,ConfirmPaymentIntent
工作的 connectorOutputPayload
回應參數會包含類似下列內容的值:
[{ "Success": "true", "id": "pi_3OggwFANHgX3SHp71AVrNtT3", "object": "payment_intent", "amount": "33000", "amount_capturable": "0", "amount_received": "33000", "canceled_at": null, "cancellation_reason": null, "capture_method": "automatic", "client_secret": "pi_3OggwFANHgX3SHp71AVrNtT3_secret_YEfjrYL5uHQZrGCx66cJbedlA", "confirmation_method": "automatic", "created": "1707196279", "currency": "usd", "invoice": null, "last_payment_error": null, "latest_charge": "ch_3OggwFANHgX3SHp71uYScRAw", "level3": null, "livemode": "false", "next_action": null, "on_behalf_of": null, "payment_method": "pm_1Oggu6ANHgX3SHp7zaRNKNVL", "payment_method_configuration_details": null, "payment_method_options.card.installments": null, "review": null, "setup_future_usage": null, "statement_descriptor_suffix": null, "status": "succeeded", "transfer_data": null, "transfer_group": null }]
範例 - 擷取付款意圖
以下範例說明如何擷取指定付款的意圖。
- 在「
Configure connector task
」對話方塊中,按一下Actions
。 - 選取
CapturePaymentIntent
動作,然後按一下「完成」。 - 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下
connectorInputPayload
,然後在Default Value
欄位中輸入類似下列的值:{ "PaymentIntentId": "pi_3Ogh4sANHgX3SHp72YB0YotA" }
如果動作成功,CapturePaymentIntent
工作項目的 connectorOutputPayload
回應參數會包含類似下列內容的值:
[{ "Success": "true", "id": "pi_3Ogh4sANHgX3SHp72YB0YotA", "object": "payment_intent", "amount": "33000", "amount_capturable": "0", "amount_received": "33000", "canceled_at": null, "cancellation_reason": null, "capture_method": "manual", "client_secret": "pi_3Ogh4sANHgX3SHp72YB0YotA_secret_jgqc0olEAOTcurQSDeQThJa3X", "confirmation_method": "automatic", "created": "1707196814", "currency": "usd", "customer": "cus_Okyi4e7t7BImUL", "description": null, "invoice": null, "last_payment_error": null, "latest_charge": "ch_3Ogh4sANHgX3SHp72uGBS7g4", "level3": null, "livemode": "false", "next_action": null, "on_behalf_of": null, "payment_method": "pm_1Ogh4FANHgX3SHp7GBJJvfGR", "payment_method_configuration_details": null, "payment_method_options.card.installments": null, "payment_method_types": null, "processing": null, "receipt_email": null, "review": null, "statement_descriptor_suffix": null, "status": "succeeded", "transfer_data": null, "transfer_group": null }]
範例 - 取消付款意圖
以下範例說明如何取消指定付款的意圖。
- 在「
Configure connector task
」對話方塊中,按一下Actions
。 - 選取
CancelPaymentIntent
動作,然後按一下「完成」。 - 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下
connectorInputPayload
,然後在Default Value
欄位中輸入類似下列的值:{ "PaymentIntentId": "pi_3Ogh7HANHgX3SHp738skMdSQ" }
如果動作成功,CancelPaymentIntent
工作項目的 connectorOutputPayload
回應參數會包含類似下列內容的值:
[{ "Success": "true", "id": "pi_3Ogh7HANHgX3SHp738skMdSQ", "object": "payment_intent", "amount": "33000", "amount_capturable": "0", "amount_received": "0", "canceled_at": "1707197160", "cancellation_reason": null, "capture_method": "manual", "client_secret": "pi_3Ogh7HANHgX3SHp738skMdSQ_secret_NqQsBexbdyk19ETdMnpQXF19j", "confirmation_method": "automatic", "created": "1707196963", "currency": "usd", "customer": "cus_Okyi4e7t7BImUL", "description": null, "invoice": null, "last_payment_error": null, "latest_charge": "ch_3Ogh7HANHgX3SHp73LJMZiy5", "level3": null, "livemode": "false", "next_action": null, "on_behalf_of": null, "payment_method": "pm_1Ogh75ANHgX3SHp79MNT6IHs", "payment_method_configuration_details": null, "receipt_email": null, "review": null, "setup_future_usage": null, "shipping": null, "status": "canceled", "transfer_data": null, "transfer_group": null }]
範例 - 將付款方式附加至客戶
這個範例說明如何將付款方式附加至指定客戶。
- 在「
Configure connector task
」對話方塊中,按一下Actions
。 - 選取
AttachPaymentMethodToCustomer
動作,然後按一下「完成」。 - 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下
connectorInputPayload
,然後在Default Value
欄位中輸入類似下列的值:{ "PaymentMethodId": "pm_1OYm2nANHgX3SHp7ihGfm5U8", "CustomerId": "cus_PNX7n9xMDsMPH4" }
如果動作成功,AttachPaymentMethodToCustomer
工作項目的 connectorOutputPayload
回應參數會包含類似下列內容的值:
[{ "Success": "true" }]
範例 - 從客戶卸離付款方式
這個範例說明如何從顧客卸離付款方式。
- 在「
Configure connector task
」對話方塊中,按一下Actions
。 - 選取
DetachPaymentMethodFromCustomer
動作,然後按一下「完成」。 - 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下
connectorInputPayload
,然後在Default Value
欄位中輸入類似下列的值:{ "PaymentMethodId": "pm_1OYm2nANHgX3SHp7ihGfm5U8" }
如果動作成功,DetachPaymentMethodFromCustomer
工作項目的 connectorOutputPayload
回應參數會包含類似下列內容的值:
[{ "Success": "true" }]
範例 - 結算月結單
這個範例說明如何結算月結單。
- 在「
Configure connector task
」對話方塊中,按一下Actions
。 - 選取
FinalizeInvoice
動作,然後按一下「完成」。 - 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下
connectorInputPayload
,然後在Default Value
欄位中輸入類似下列的值:{ "InvoiceId": "in_1OhnXRANHgX3SHp73ufStlXy" }
如果動作成功,Finalize Invoice
工作的 connectorOutputPayload
回應參數會包含類似以下內容的值:
[{ "Success": "true", "id": "in_1OhnXRANHgX3SHp73ufStlXy", "object": "invoice", "account_country": "US", "account_name": "ZBTA_US_SAPDPA_TestAccount", "billing_reason": "manual", "charge": null, "collection_method": "charge_automatically", "created": "1707459976", "currency": "usd", "discounts": null, "due_date": null, "effective_at": "1707460034", "ending_balance": "0", "footer": null, "lines.data": null, "lines.has_more": "false", "lines.total_count": "0", "livemode": "false", "next_payment_attempt": null, "number": "F3C0E263-0004", "on_behalf_of": null, "paid": "true", "paid_out_of_band": "false", "payment_intent": null, }]
範例 - 確定報價
這個範例說明如何完成報價。
- 在「
Configure connector task
」對話方塊中,按一下Actions
。 - 選取
FinalizeQuote
動作,然後按一下「完成」。 - 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下
connectorInputPayload
,然後在Default Value
欄位中輸入類似下列的值:{ "QuoteId": "qt_1ObiPfANHgX3SHp7KT7DXaJe" }
如果動作成功,FinalizeQuote
工作的 connectorOutputPayload
回應參數會包含類似以下內容的值:
[{ "Success": "true" }]
示例 - 接受報價
這個範例說明如何接受報價。
- 在「
Configure connector task
」對話方塊中,按一下Actions
。 - 選取
AcceptQuote
動作,然後按一下「完成」。 - 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下
connectorInputPayload
,然後在Default Value
欄位中輸入類似下列的值:{ "QuoteId": "qt_1ObmqKANHgX3SHp7ahHydwav" }
如果動作成功,AcceptQuote
工作項目的 connectorOutputPayload
回應參數會包含類似下列內容的值:
[{ "InvoiceId": "in_1Obmr5ANHgX3SHp7HKi6bJDu", "Success": "true" }]
範例 - 取消報價
以下範例說明如何取消報價。
- 在「
Configure connector task
」對話方塊中,按一下Actions
。 - 選取
CancelQuote
動作,然後按一下「完成」。 - 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下
connectorInputPayload
,然後在Default Value
欄位中輸入類似下列的值:{ "QuoteId": "qt_1Obmu3ANHgX3SHp7as57wBLf" }
如果動作成功,CancelQuote
工作項目的 connectorOutputPayload
回應參數會包含類似下列內容的值:
[{ "Success": "true" }]
實體作業範例
本節說明如何使用這個連接器執行部分實體作業。
範例 - 列出所有顧客
這個範例會列出 Customer
實體中的所有客戶。
- 在「
Configure connector task
」對話方塊中,按一下Entities
。 - 從「清單」
Entity
中選取Customer
。 - 選取「
List
」作業,然後按一下「完成」。 - (選用) 在「連結器」工作的「工作輸入」部分,您可以指定篩選子句,篩選結果集。 請一律在單引號 (') 內指定篩選子句值。
範例 - 取得客戶記錄
這個範例會取得指定的客戶記錄。
- 在「
Configure connector task
」對話方塊中,按一下Entities
。 - 從
Entity
清單中選取Customer
。 - 選取「
Get
」作業,然後按一下「完成」。 - 在「連線器」工作的「工作輸入」部分,按一下「EntityId」,然後在「預設值」欄位中輸入
cus_OxHsz0u5bCGWuy
。其中
cus_OxHsz0u5bCGWuy
是Customer
實體中的專屬記錄 ID。
範例 - 建立付款意圖
這個範例會在 PaymentIntent
實體中建立付款意圖。
- 在「
Configure connector task
」對話方塊中,按一下Entities
。 - 從
Entity
清單中選取PaymentIntent
。 - 選取「
Create
」作業,然後按一下「完成」。 - 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下
connectorInputPayload
,然後在Default Value
欄位中輸入類似下列的值:{ "PaymentMethod": "pm_1OXN5YANHgX3SHp7Q5Y0rb39", "Currency": "usd", "Amount": 1500.0 }
如果整合成功,連接器工作的
connectorOutputPayload
回應參數值會類似以下內容:{ "Id": "pi_3OXN69ANHgX3SHp70tgsxkuR" }
範例 - 更新客戶記錄
這個範例會更新指定客戶的詳細資料。
- 在「
Configure connector task
」對話方塊中,按一下Entities
。 - 從
Entity
清單中選取Customer
。 - 選取「
Update
」作業,然後按一下「完成」。 - 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下
connectorInputPayload
,然後在Default Value
欄位中輸入類似下列的值:{ "Name": "John" }
- 按一下「entityId」,然後在「Default Value」欄位中輸入
cus_OxHsz0u5bCGWuy
。如果整合成功,連接器工作的
connectorOutputPayload
欄位會包含類似下列的值:{ "Id": "cus_OxHsz0u5bCGWuy" }
範例 - 刪除客戶記錄
這個範例會從 Customer
實體中刪除指定客戶。
- 在「
Configure connector task
」對話方塊中,按一下Entities
。 - 從
Entity
清單中選取Customer
。 - 選取「
Delete
」作業,然後按一下「完成」。 - 按一下「EntityId」,然後在「Default Value」欄位中輸入
cus_OxIqiMh1W335rE
。
使用 Terraform 建立連線
您可以使用 Terraform 資源建立新連線。
如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。
如要查看用於建立連線的 Terraform 範本範例,請參閱範本範例。
使用 Terraform 建立這項連線時,您必須在 Terraform 設定檔中設定下列變數:
參數名稱 | 資料類型 | 必填 | 說明 |
---|---|---|---|
proxy_enabled | BOOLEAN | 否 | 選取這個核取方塊,即可為連線設定 Proxy 伺服器。 |
proxy_auth_scheme | ENUM | 否 | 用於向 ProxyServer Proxy 驗證的驗證類型。支援的值包括:BASIC、DIGEST、NONE |
proxy_user | STRING | 否 | 用於向 ProxyServer Proxy 驗證的使用者名稱。 |
proxy_password | SECRET | 否 | 用於向 ProxyServer 代理程式驗證的密碼。 |
proxy_ssltype | ENUM | 否 | 連線至 ProxyServer Proxy 時要使用的 SSL 類型,支援的值包括:AUTO、ALWAYS、NEVER、TUNNEL |
account_id | STRING | 否 | 要使用的帳戶 ID。 |
詳細程度 | STRING | 否 | 連線的詳細程度,範圍為 1 到 5。詳細程度越高,記錄的通訊詳細資料就越多 (要求、回應和 SSL 憑證)。 |