Stripe
借助 Stripe 连接器,您可以对 Stripe 数据集执行插入、删除、更新和读取操作。
准备工作
在使用 Stripe 连接器之前,请先完成以下任务:
- 在您的 Google Cloud 项目中:
- 将 IAM 角色 roles/connectors.admin 授予该用户 配置连接器。
- 将以下 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 > 连接页面,然后选择或创建一个 Google Cloud 项目。
- 点击 + 新建,打开创建连接页面。
- 在位置部分中,选择连接的位置。
- 区域:从下拉列表中选择一个位置。
如需查看所有受支持区域的列表,请参阅位置。
- 点击下一步。
- 区域:从下拉列表中选择一个位置。
- 在连接详情部分中,完成以下操作:
- 连接器:从可用连接器的下拉列表中选择 Stripe。
- 连接器版本:从可用版本的下拉列表中选择一个连接器版本。
- 在连接名称字段中,输入连接实例的名称。
连接名称必须符合以下条件:
- 连接名称可以使用字母、数字或连字符。
- 字母必须小写。
- 连接名称必须以字母开头,以字母或数字结尾。
- 连接名称不能超过 49 个字符。
- (可选)输入连接实例的说明。
- 您可以选择启用 Cloud Logging,然后选择日志级别。默认情况下,日志级别设置为
Error
。 - 服务账号:选择具有所需角色的服务账号。
- (可选)配置连接节点设置:
- 节点数下限:输入连接节点数下限。
- 节点数上限:输入连接节点数上限。
节点是处理事务的连接单元(或副本)。 连接处理越多事务就需要越多节点,相反,处理越少事务需要越少节点。 如需了解节点如何影响连接器价格,请参阅连接节点的价格。如果未输入任何值,则默认情况下,节点数下限设置为 2(以便提高可用性),节点数上限设置为 50。
- 账号 ID:您要使用的账号的 ID。
- 使用代理:选中此复选框可为连接配置代理服务器并配置以下值:
-
代理身份验证方案:选择要通过代理服务器进行身份验证的身份验证类型。支持以下身份验证类型:
- 基本:基本 HTTP 身份验证。
- 摘要:摘要 HTTP 身份验证。
- 代理用户:用于向代理服务器进行身份验证的用户名。
- 代理密码:用户密码的 Secret Manager 密文。
-
代理 SSL 类型:连接到代理服务器时使用的 SSL 类型。支持以下身份验证类型:
- 自动:默认设置。如果网址是 HTTPS 网址,则使用“隧道”选项。如果网址是 HTTP 网址,则使用“永不”选项。
- 始终:连接始终启用 SSL。
- 永不:连接未启用 SSL。
- 隧道:连接通过隧道代理建立。代理服务器会打开与远程主机的连接,并且流量会流经该代理。
- 在代理服务器部分中,输入代理服务器的详细信息。
- (可选)点击 + 添加标签,以键值对的形式向连接添加标签。
- 点击下一步。
-
在身份验证部分中,输入身份验证详细信息。
Stripe 连接支持
API Key
类型身份验证。选择 从 API 密钥下拉菜单中选择 API 密钥的 Secret Manager 密钥,然后选择 相应的 Secret 版本。 - 点击下一步。
- 查看:查看您的连接和身份验证详细信息。
- 点击创建。
连接配置示例
本部分列出了您在创建 Stripe 关联时配置的各种字段的示例值。
实时 API 密钥连接类型
字段名称 | 详细信息 |
---|---|
位置 | us-central1 |
连接器 | Stripe |
连接器版本 | 1 |
连接名称 | stripe-connection |
启用 Cloud Logging | 是 |
服务账号 | SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com |
账号 ID | ACCOUNT_ID |
详细程度 | 5 |
节点数下限 | 2 |
节点数上限 | 50 |
当前 API 密钥 | LIVE_API_KEY |
Secret 版本 | 1 |
如需了解实际 API 密钥,请参阅实时 API 密钥。
实体、操作和动作
所有集成连接器都会为所连接应用的对象提供抽象层。您只能通过此抽象访问应用的对象。抽象作为实体、操作和动作向您展示。
- 实体:实体可以被视为连接的应用或服务中的对象或属性集合。不同连接器的实体定义也会有所不同。例如,在数据库连接器中,表是实体;在文件服务器连接器中,文件夹是实体;在消息传递系统连接器中,队列是实体。
但是,连接器可能不支持或不支持任何实体,在这种情况下, “
Entities
”列表将为空。 - 操作:操作是指您可以对实体执行的操作。您可以对实体执行以下任一操作:
从可用列表中选择一个实体,系统会生成该实体可用的操作列表。如需了解操作的详细说明,请参阅连接器任务的实体操作。不过,如果连接器不支持任何实体操作,则
Operations
列表中不会列出此类不受支持的操作。 - 动作:动作是可通过连接器接口提供给集成的头等函数。动作可让您对一个或多个实体进行更改,并且动作因连接器而异。通常,操作将具有一些输入参数和一个输出参数。但可能的情况是,连接器不支持任何动作,在这种情况下,
Actions
列表将为空。
系统限制
Stripe 连接器每个节点每秒可处理 6 笔交易,并会对超出此限制的所有交易进行节流。默认情况下,Integration Connectors 会为连接分配 2 个节点(以提高可用性)。
如需了解适用于集成连接器的限制,请参阅限制。
在集成中使用 Stripe 连接
创建连接后,该连接便可在 Apigee Integration 和 Application Integration。您可以通过连接器任务在集成中使用该连接。
操作
本部分列出了该连接器支持的操作。如需了解如何配置操作,请参阅操作示例。
ConfirmPaymentIntent 操作
您可以通过此操作确认付款 intent。
ConfirmPaymentIntent 操作的输入参数
参数名称 | 数据类型 | 必填 | 说明 |
---|---|---|---|
PaymentIntentId | 字符串 | 是 | PaymentIntent ID。 |
例如,关于如何配置 ConfirmPaymentIntent
操作,
请参阅操作示例。
CapturePaymentIntent 操作
您可以通过此操作捕获付款 intent。
CapturePaymentIntent 操作的输入参数
参数名称 | 数据类型 | 必填 | 说明 |
---|---|---|---|
PaymentIntentId | 字符串 | 是 | PaymentIntent ID。 |
例如,关于如何配置 ConfirmPaymentIntent
操作,
请参阅操作示例。
CancelPaymentIntent 操作
通过此操作,您可以取消付款意图。
CancelPaymentIntent 操作的输入参数
参数名称 | 数据类型 | 必填 | 说明 |
---|---|---|---|
PaymentIntentId | 字符串 | 是 | PaymentIntent ID。 |
如需了解如何配置 CancelPaymentIntent
操作,请参阅操作示例。
AttachPaymentMethodToCustomer 操作
通过此操作,您可以将 PaymentMethod 对象附加到 Customer。
AttachPaymentMethodToCustomer 操作的输入参数
参数名称 | 数据类型 | 必填 | 说明 |
---|---|---|---|
PaymentMethodId | 字符串 | 是 | PaymentMethod ID。 |
CustomerId | 字符串 | 是 | 要附加 PaymentMethod 的客户的 ID。 |
如需了解如何配置 AttachPaymentMethodToCustomer
操作,请参阅操作示例。
DetachPaymentMethodFromCustomer 操作
从客户分离 PaymentMethod 对象。PaymentMethod 一旦分离,便无法再用于付款或重新关联到客户。
DetachPaymentMethodFromCustomer 操作的输入参数
参数名称 | 数据类型 | 必填 | 说明 |
---|---|---|---|
PaymentMethodId | 字符串 | 是 | PaymentMethod ID。 |
如需了解如何配置 DetachPaymentMethodFromCustomer
操作,请参阅操作示例。
完成账单操作
为了完成账单草稿。
Finalize Invoice 操作的输入参数
参数名称 | 数据类型 | 必填 | 说明 |
---|---|---|---|
InvoiceId | 字符串 | 是 | 账单 ID。 |
例如,关于如何配置 FinalizeInvoice
操作,
请参阅操作示例。
FinalizeQuote 操作
敲定草拟的报价。
FinalizeQuote 操作的输入参数
参数名称 | 数据类型 | 必填 | 说明 |
---|---|---|---|
SouQuoteIdrcePath | 字符串 | 是 | 报价 ID。 |
如需了解如何配置 FinalizeQuote
操作,请参阅操作示例。
AcceptQuote 操作
通过此操作,您可以接受报价并为已接受的报价生成账单。
AcceptQuote 操作的输入参数
参数名称 | 数据类型 | 必填 | 说明 |
---|---|---|---|
QuoteId | 字符串 | 是 | 报价 ID。 |
如需了解如何配置 AcceptQuote
操作,请参阅操作示例。
CancelQuote 操作
此操作可让您取消草稿报价。
CancelQuote 操作的输入参数
参数名称 | 数据类型 | 必填 | 说明 |
---|---|---|---|
QuoteId | 字符串 | 是 | 报价 ID。 |
例如,关于如何配置 CancelQuote
操作,
请参阅操作示例。
操作示例
本部分介绍如何在此连接器中执行一些操作。
示例 - 确认付款意图
以下示例展示了如何确认指定付款的 intent。
- 在
Configure connector task
对话框中,点击Actions
。 - 选择
ConfirmPaymentIntent
操作,然后点击完成。 - 在连接器任务的任务输入部分,点击
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 }]
示例 - 把握付款意向
此示例展示了如何捕获指定付款的 intent。
- 在
Configure connector task
对话框中,点击Actions
。 - 选择
CapturePaymentIntent
操作,然后点击完成。 - 在连接器任务的任务输入部分,点击
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 }]
示例 - 取消付款 intent
此示例展示了如何取消指定付款的 intent。
- 在
Configure connector task
对话框中,点击Actions
。 - 选择
CancelPaymentIntent
操作,然后点击完成。 - 在连接器任务的任务输入部分中,点击
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
操作,然后点击完成。 - 在连接器任务的任务输入部分,点击
connectorInputPayload
,然后在Default Value
字段:{ "PaymentMethodId": "pm_1OYm2nANHgX3SHp7ihGfm5U8", "CustomerId": "cus_PNX7n9xMDsMPH4" }
如果操作成功,AttachPaymentMethodToCustomer
任务的 connectorOutputPayload
响应参数的值将类似于以下内容:
[{ "Success": "true" }]
示例 - 将付款方式与客户解除关联
此示例展示了如何将付款方式与客户解除关联。
- 在
Configure connector task
对话框中,点击Actions
。 - 选择
DetachPaymentMethodFromCustomer
操作,然后点击完成。 - 在连接器任务的任务输入部分,点击
connectorInputPayload
,然后在Default Value
字段:{ "PaymentMethodId": "pm_1OYm2nANHgX3SHp7ihGfm5U8" }
如果操作成功,
DetachPaymentMethodFromCustomer
任务的 connectorOutputPayload
响应
参数的值类似于以下内容:
[{ "Success": "true" }]
示例 - 完成账单
以下示例展示了如何完成账单。
- 在
Configure connector task
对话框中,点击Actions
。 - 选择
FinalizeInvoice
操作,然后点击完成。 - 在连接器任务的任务输入部分中,点击
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
操作,然后点击完成。 - 在连接器任务的任务输入部分中,点击
connectorInputPayload
,然后在Default Value
字段中输入类似于以下内容的值:{ "QuoteId": "qt_1ObiPfANHgX3SHp7KT7DXaJe" }
如果操作成功,FinalizeQuote
任务的 connectorOutputPayload
响应参数的值将类似于以下内容:
[{ "Success": "true" }]
示例 - 接受报价
以下示例展示了如何接受报价。
- 在
Configure connector task
对话框中,点击Actions
。 - 选择
AcceptQuote
操作,然后点击完成。 - 在连接器任务的任务输入部分中,点击
connectorInputPayload
,然后在Default Value
字段中输入类似于以下内容的值:{ "QuoteId": "qt_1ObmqKANHgX3SHp7ahHydwav" }
如果操作成功,AcceptQuote
任务的 connectorOutputPayload
响应参数的值将类似于以下内容:
[{ "InvoiceId": "in_1Obmr5ANHgX3SHp7HKi6bJDu", "Success": "true" }]
示例 - 取消报价
以下示例展示了如何取消报价。
- 在
Configure connector task
对话框中,点击Actions
。 - 选择
CancelQuote
操作,然后点击完成。 - 在连接器任务的任务输入部分,点击
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
操作,然后点击完成。 - 在连接器任务的任务输入部分,点击实体 ID,然后
然后在 Default Value 字段中输入
cus_OxHsz0u5bCGWuy
。其中,
cus_OxHsz0u5bCGWuy
是Customer
实体中的唯一记录 ID。
示例 - 创建付款 intent
此示例在 PaymentIntent
实体中创建了一个付款 intent。
- 在
Configure connector task
对话框中,点击Entities
。 - 从
Entity
列表中选择PaymentIntent
。 - 选择
Create
操作,然后点击完成。 - 在连接器任务的任务输入部分中,点击
connectorInputPayload
,然后在Default Value
字段中输入类似于以下内容的值:{ "PaymentMethod": "pm_1OXN5YANHgX3SHp7Q5Y0rb39", "Currency": "usd", "Amount": 1500.0 }
如果集成成功,连接器任务的
connectorOutputPayload
响应参数的值将类似于以下内容:{ "Id": "pi_3OXN69ANHgX3SHp70tgsxkuR" }
示例 - 更新客户记录
此示例会更新指定客户的详细信息。
- 在
Configure connector task
对话框中,点击Entities
。 - 从
Entity
列表中选择Customer
。 - 选择
Update
操作,然后点击完成。 - 在连接器任务的任务输入部分,点击
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_auth_scheme | ENUM | 错误 | 用于向 ProxyServer 代理进行身份验证的身份验证类型。支持的值包括:BASIC、DIGEST、NONE |
proxy_user | STRING | 错误 | 用于向 ProxyServer 代理进行身份验证的用户名。 |
proxy_password | SECRET | 错误 | 用于向 ProxyServer 代理进行身份验证的密码。 |
proxy_ssltype | ENUM | 错误 | 连接到 ProxyServer 代理时使用的 SSL 类型。支持的值包括:AUTO、ALWAYS、NEVER、TUNNEL |
account_id | STRING | 错误 | 要使用的账号的 ID。 |
详细程度 | STRING | 错误 | 连接的详细程度级别从 1 到 5 不等。较高的详细程度将记录所有通信详情(请求、响应和 SSL 证书)。 |