View a markdown version of this page

创建付款管理器和连接器 - Amazon Bedrock AgentCore
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

创建付款管理器和连接器

付款管理器是协调 Amazon 账户付款操作的顶级资源。创建付款管理器时,您需要指定授权者类型和 IAM 角色,该服务会在 Identity 中配置相应的工作负载身 AgentCore 份。

本指南将引导您使用管理控制台或 Amazon SDK 创建支付 Amazon 管理器并连接支付连接器。有关完整的请求和响应架构,请参阅 API 参考CreatePaymentConnector中的CreatePaymentManager和。

提示

您可以使用 Amazon 代理工具包中的 “ AgentCore 付款” 技能自动执行此页面上的步骤。该技能是 aws- agents 插件的一部分,它允许 AI 编码代理使用 CL agentcore I 创建您的支付管理器、连接器、凭证提供商、支付工具和会话,并向您的代理添加流程付款工具。有关详细信息,请参阅上的快速入门和Amazon 代理工具包。 GitHub

在开始之前,请确保您满足以下条件:

  • 已完成先决条件(账户、凭证、提供商密钥)。

  • 设置所需的 IAM 角色(管理员角色和服务角色)。

重要

要创建 Coinbase 支付连接器,您的账户必须在 Amazon Marketplace 上订阅了 Coinbase AgentCore 支付钱包列表。通过此订阅,您的Coinbase钱包使用费用将根据Coinbase在Coinbase网站上的定价合并到您的每月 Amazon 账单中。订阅不收取任何额外费用或义务。如果缺少订阅,则CreatePaymentConnector会失败,并显示 SubscriptionRequiredException (HTTP 403)。此要求仅适用于Coinbase;其他提供商,例如Stripe(Privy),不受影响。欲了解更多信息,请参阅在 Mark Amazon etplace 中订阅 Coinbase 钱包进行 AgentCore 支付。

创建付款管理器

例
Console

第 1 步:打开 “付款” 页面

  1. 打开 Amazon Bedrock AgentCore 控制台。

  2. 在导航窗格的 “构建” 下,选择 “付款”。

  3. 在付款管理器部分,选择创建付款管理器。

第 2 步:配置付款管理器详细信息

  1. 在 “姓名” 中,输入您的付款经理的姓名。名称必须以字母开头。有效字符为a–z、A–Z、0–9。该名称最多可包含 48 个字符。

  2. (可选)选择描述以展开该部分,然后输入描述以帮助识别此付款管理器。

步骤 3:配置权限

权限部分指定了此付款管理器的权限以及付款可以访问的 Amazon 资源。

对于 IAM 权限,请选择以下选项之一:

  • 创建和使用新的服务角色 — Amazon Bedrock p AgentCore ayments 代表您创建一个新的服务角色。默认服务角色名称是自动生成的。有关更多信息,请参阅服务角色权限。

  • 使用现有的服务角色-使用您已经创建的服务角色。如果选择此选项,请从下拉列表中选择一个角色。

步骤 4:配置入站授权

入站授权控制谁可以访问此付款管理器。在入站身份验证部分中,对于入站身份验证类型,选择以下选项之一:

要使用 IAM 授权:

  1. 选择使用 IAM 用户名。这使用您用于登录 Amazon 控制台的 IAM 用户名。

要在 Amazon Cognito 上使用 JWT 授权,请执行以下操作:

  1. 选择使用 JSON 网络令牌 (JWT)。

  2. 对于 JWT 架构配置,请选择使用 Cognito 快速创建配置-推荐。Amazon Bedrock P AgentCore ayments 使用亚马逊 Cognito 作为身份提供者代表您创建入库授权配置。无需其他配置。

要对现有身份提供商使用 JWT 授权,请执行以下操作:

  1. 选择使用 JSON 网络令牌 (JWT)。

  2. 对于 JWT 架构配置,请选择使用现有的身份提供商配置。此选项允许您使用来自任何身份提供商的现有入站授权配置来启用 OAuth 2.0。

  3. 对于发现网址,请输入您的身份提供商(例如 Okta 或 Cognito)提供的发现网址,该网址通常位于该提供商的文档中。这允许您的代理或工具获取登录信息、下游资源令牌和验证设置。例如 https://accounts.cognito.com/.well-known/openid-configuration。

  4. 对于允许的受众,请输入向身份提供者注册的客户端 ID 或授权者必须验证的 JWT 受众声明中的任意字符串。选择 + 添加受众以添加更多受众。

  5. 对于允许的客户端,请输入向身份提供者注册的客户端 ID 或授权者必须验证的 JWT 受众声明中的任意字符串。选择 “+ 添加客户端” 以添加其他客户端。

  6. 在 “允许的范围” 中,输入所需的范围。仅当令牌包含此处配置的至少一个所需范围时,才允许访问。选择 + 添加作用域以添加其他范围。

  7. (可选)对于自定义声明,请定义将传入令牌中的特定声明与预定义值进行匹配的规则。为每条规则指定声明名称、字符串类型、运算符和值。选择 + 添加索赔以添加其他索赔。

第 5 步:添加支付连接器(可选)

支付连接器存储与支付服务提供商连接所需的凭据和配置。在创建期间添加连接器是可选的,但是服务需要连接器才能处理付款。

  1. 在 “付款连接器:新建连接器” 部分,在 “名称” 中输入连接器的名称。有效字符为a–z、A–Z0–9、和_(下划线)。该名称最多可包含 48 个字符。

  2. (可选)选择描述以展开该部分,然后输入连接器的描述。

  3. 在付款身份验证部分,如果您想重复使用之前在 Ident AgentCore ity 中创建的付款身份验证(付款凭证提供商),请从下拉列表中选择现有的付款身份验证;或者选择创建新的付款身份验证来创建新的支付身份验证。如果您选择创建新的付款身份验证,请参阅创建付款身份验证。

  4. (可选)要添加其他连接器,请选择 + 添加连接器并重复上述步骤。

  5. (可选)决定如何轮换此连接器的凭证。如果您使用 Coinbase Qu ick create 创建支付身份验证,则凭证将由服务管理,您可以根据需要从连接器详细信息页面或操作中轮换凭证。RotatePaymentConnectorCredentials如果您提供自己的凭证,则可以将其轮换给支付提供商。有关更多信息,请参阅轮换服务管理的连接器凭据。

创建付款身份验证

当您在连接器的 “付款身份验证” 部分中选择创建新的付款身份验证时,将打开 “创建付款身份验证” 面板。在此面板中,您可以配置新的支付身份验证,即存储在 Identity 中的 AgentCore 支付凭证提供商。

  1. 在付款身份验证名称中,输入付款身份验证的名称。有效字符为a–z、、A–Z0–9、_(下划线)和-(连字符)。

  2. 对于支付提供商,请从下拉列表中选择支付提供商。可用的提供商是 Coinbase 和 Stripe(Privy)。

如果您选择 Coinbase,请选择如何为支付身份验证提供凭据:

  • 快速创建配置——推荐 — 快速创建允许您链接到您的 Coinbase CDP 账户,让 AgentCore 付款无需离开控制台即可为您创建凭证。 AgentCore 它会打开一个窗口,供您注册或登录您的 Coinbase CDP 账户。然后,该服务会提供Coinbase CDP API密钥和钱包密钥,并代表您将其存储为付款身份验证。您不会生成或粘贴任何密钥。

  • 使用现有配置 — 提供您自己在 Coinbase 开发者平台中生成的 C oinbase CDP 凭证。

使用快速创建

如果您选择快速创建配置(推荐),则在您通过 Coinbase 授权访问权限后,P AgentCore ayments 会为您创建付款身份验证。完成以下步骤:

  1. 选择快速创建配置-推荐。

  2. 选择 “创建付款身份验证”。Coinbase 窗口打开,显示正在进行的 Coinbase 连接。

  3. 在 Coinbase 窗口中,使用您的电子邮件地址和电话号码登录或注册,然后选择或创建一个 Coinbase CDP 项目。

  4. 查看请求的访问权限,然后授权 AgentCore 付款以创建和管理您的 Coinbase CDP 项目的凭证。

  5. 授权完成后,Coinbase 窗口将显示 Co inbase 已连接并关闭。 AgentCore 支付提供了 Coinbase CDP API 密钥和钱包密钥。该服务将它们安全地存储在 S Amazon ecrets Manager 中,并代表您创建付款身份验证。

注意

快速创建不支持使用钱包密钥链接到现有项目。如果您授权的Coinbase项目已经有钱包密钥,则 AgentCore 付款将在不轮换的情况下停止。相反,请选择使用现有配置并手动提供您的凭据。

由于 Quick create 会为您配置证书,因此它们是服务管理的,您可以随时替换它们,而无需在 Coinbase 中生成密钥。有关更多信息,请参阅轮换服务管理的连接器凭据。

使用现有配置

如果您选择使用现有配置,请填写支付服务提供商配置下的以下字段,然后选择创建付款身份验证:

  1. 对于 API 密钥 ID,请输入您的 Coinbase CDP 账户凭证的唯一标识符。

  2. 对于 API 密钥密钥,请输入用于对 Coinbase CDP 进行身份验证和签署请求的私钥。

  3. 在 “钱包密钥” 中,输入用于验证敏感钱包写入操作的非对称私钥。

重要

如果您选择 Coinbase 作为提供商,则您的账户必须拥有有效的 Amazon 市场订阅 Coinbase AgentCore 支付钱包列表。这是对 Amazon 账户的一次性订阅。通过此订阅,您的Coinbase钱包使用费用将根据Coinbase在Coinbase网站上的定价合并到您的每月 Amazon 账单中。否则,连接器创建将失败,并显示 SubscriptionRequiredException (HTTP 403)。如果您未订阅,控制台会显示 “订阅 Coinbase”,通过 Amazon 提醒启用计费,并带有 “订阅” 按钮,您无需离开向导即可使用该按钮进行订阅。欲了解更多信息,请参阅在 Mark Amazon etplace 中订阅 Coinbase 钱包进行 AgentCore 支付。

如果您选择 Stripe (Privy),请在 “支付提供商配置” 下填写以下字段,然后选择 “创建付款身份验证”:

  1. 在应用程序 ID 中,输入您的 Privy 账户凭据的唯一标识符。

  2. 在 “应用程序密钥” 中,输入用于对 Privy 应用程序进行身份验证和签署请求的私钥。

  3. 在授权 ID 中,输入授权实体的唯一标识符。

  4. 在授权私钥中,输入用于签署授权请求的私钥。

第 6 步:创建付款管理器

  1. 查看您的配置,然后选择创建付款管理器。

选择创建付款管理器后,控制台将导航至付款管理器详细信息页面。成功横幅确认付款管理器已创建,并提供以下后续步骤:

  1. 设置付款工具和会话,也可以指定预算。

  2. 将付款管理器集成到您的代理框架中。

  3. 探索付费 MCP 工具和终端。

  4. 启用日志传输和跟踪,以便在可观测性控制面板中查看指标。

付款管理器详细信息页面包括付款连接器、集成代码模板、入站身份验证、可观察性指标以及日志交付和跟踪配置等部分。

AgentCore CLI

AgentCore CLI 从您的项目目录中同时创建凭证提供商、付款管理器和支付连接器。需要 CLI 版本 0.19.0 或更高版本。

交互式向导:

agentcore add payment-manager

向导会提示您输入经理姓名、模式、自动付款切换、支出限制,并可选择性地介绍如何添加带有提供商凭据的连接器。

Coinbase — 快速创建(推荐):

快速创建会为您配置 Coinbase 凭证提供商,因此您无需传递任何 API 密钥。添加带有--provision-mode QUICK_CREATE标志的连接器,然后部署:

agentcore add payment-connector \ --manager MyPaymentManager \ --name CoinbaseConnector \ --provider CoinbaseCDP \ --provision-mode QUICK_CREATE agentcore deploy

CLI 会打开 Coinbase 授权流程。在您授权后,服务会配置凭证,连接器就会到达READY。

Coinbase CDP — 手动流程(非交互式):

agentcore add payment-manager \ --name MyPaymentManager \ --auto-payment \ --default-spend-limit 10.00 agentcore add payment-connector \ --manager MyPaymentManager \ --name CoinbaseConnector \ --provider CoinbaseCDP \ --api-key-id <YOUR_API_KEY_ID> \ --api-key-secret <YOUR_API_KEY_SECRET> \ --wallet-secret <YOUR_WALLET_SECRET> agentcore deploy

Stripe(Privy)— 手动流程(非交互式):

agentcore add payment-manager \ --name MyPaymentManager \ --auto-payment \ --default-spend-limit 10.00 agentcore add payment-connector \ --manager MyPaymentManager \ --name StripePrivyConnector \ --provider StripePrivy \ --app-id <YOUR_APP_ID> \ --app-secret <YOUR_APP_SECRET> \ --authorization-id <YOUR_AUTHORIZATION_ID> \ --authorization-private-key <YOUR_PRIVATE_KEY_BASE64> agentcore deploy

运行配置 agentcore deploy IAM 角色,在 Ident AgentCore ity 中存储证书,并创建支付管理器和连接器。

AgentCore SDK

该 AgentCore 软件开发工具包支持 Coinbase 快速创建(如图所示)和手动配置。随后的手册示例直接传递提供商证书。他们使用便捷方法create_payment_manager_with_connector,只需一次调用即可创建付款管理器、凭证提供商和连接器。

Coinbase — 快速创建(推荐):

使用 “快速创建”,您可以使用空credential_provider_configurations列表创建连接器,然后provision_mode="QUICK_CREATE"。连接器返回状态PENDING_AUTHENTICATION和授权 URL。在您通过 Coinbase 授权后,该服务会提供证书提供商和连接器到达。READY

import time import webbrowser from bedrock_agentcore.payments.client import PaymentClient payment_client = PaymentClient(region_name="us-east-1") connector = payment_client.create_payment_connector( payment_manager_id="<paymentManagerId>", name="CoinbaseConnector", connector_type="CoinbaseCDP", credential_provider_configurations=[], provision_mode="QUICK_CREATE", ) # Authorize through Coinbase using the returned URL. webbrowser.open(connector["authorizationUrl"]) # Terminal states that mean provisioning did not succeed. TERMINAL_FAILURES = { "AUTHENTICATION_EXPIRED", "AUTHENTICATION_FAILED", "AWS_MARKETPLACE_SUBSCRIPTION_REQUIRED", "CREATE_FAILED", } # Poll until the connector reaches READY or fails. while True: response = payment_client.get_payment_connector( payment_connector_id=connector["paymentConnectorId"] ) status = response["status"] if status == "READY": break if status in TERMINAL_FAILURES: raise RuntimeError(f"Connector provisioning failed: {status}") time.sleep(5)

授权网址的有效期约为 10 分钟。如果连接器过期,则连接器会过渡到,AUTHENTICATION_EXPIRED然后您重新创建它。

获得 IAM 授权的 Coinbase CDP:

from bedrock_agentcore.payments.client import PaymentClient payment_client = PaymentClient(region_name="us-east-1") response = payment_client.create_payment_manager_with_connector( payment_manager_name="MyPaymentManager", payment_manager_description="Payment manager for my agent.", authorizer_type="AWS_IAM", role_arn="arn:aws:iam::123456789012:role/MyPaymentRole", payment_connector_config={ "name": "CoinbaseConnector", "description": "Coinbase CDP connector", "payment_credential_provider_config": { "name": "MyCoinbaseProvider", "credential_provider_vendor": "CoinbaseCDP", "credentials": { "api_key_id": "your-api-key-id", "api_key_secret": "your-api-key-secret", "wallet_secret": "your-wallet-secret", }, }, }, wait_for_ready=True, max_wait=300, poll_interval=5, ) payment_manager = response.get("paymentManager", {}) payment_connector = response.get("paymentConnector", {}) credential_provider = response.get("credentialProvider", {}) payment_manager_arn = payment_manager.get("paymentManagerArn") payment_connector_id = payment_connector.get("paymentConnectorId") print(f"Payment Manager ARN: {payment_manager_arn}") print(f"Connector ID: {payment_connector_id}")

获得智威汤逊授权的 Coinbase CDP:

from bedrock_agentcore.payments.client import PaymentClient payment_client = PaymentClient(region_name="us-east-1") response = payment_client.create_payment_manager_with_connector( payment_manager_name="CoinbasePaymentManagerJWT", payment_manager_description="Coinbase Payment Manager (JWT auth)", authorizer_type="CUSTOM_JWT", role_arn="arn:aws:iam::123456789012:role/BedrockAgentCoreFullAccess", payment_connector_config={ "name": "coinbase-connector-jwt", "description": "Coinbase Connector (JWT)", "payment_credential_provider_config": { "name": "my-coinbase-provider-jwt", "credential_provider_vendor": "CoinbaseCDP", "credentials": { "api_key_id": "your-api-key-id", "api_key_secret": "your-api-key-secret", "wallet_secret": "your-wallet-secret", }, }, }, wait_for_ready=True, ) manager_arn = response["paymentManager"]["paymentManagerArn"] connector_id = response["paymentConnector"]["paymentConnectorId"] provider_arn = response["credentialProvider"]["credentialProviderArn"]

获得 IAM 授权的 Stripe(Privy):

from bedrock_agentcore.payments.client import PaymentClient payment_client = PaymentClient(region_name="us-east-1") response = payment_client.create_payment_manager_with_connector( payment_manager_name="StripePaymentManager", payment_manager_description="Stripe + Privy Payment Manager (IAM auth)", authorizer_type="AWS_IAM", role_arn="arn:aws:iam::123456789012:role/BedrockAgentCoreFullAccess", payment_connector_config={ "name": "stripe-privy-connector", "description": "Stripe + Privy Connector", "payment_credential_provider_config": { "name": "my-stripe-privy-provider", "credential_provider_vendor": "StripePrivy", "credentials": { "app_id": "your-privy-app-id", "app_secret": "your-privy-app-secret", "authorization_private_key": "your-authorization-private-key", "authorization_id": "your-authorization-id", }, }, }, wait_for_ready=True, ) manager_arn = response["paymentManager"]["paymentManagerArn"] connector_id = response["paymentConnector"]["paymentConnectorId"] provider_arn = response["credentialProvider"]["credentialProviderArn"]

获得 JWT 授权的 Stripe(Privy):

from bedrock_agentcore.payments.client import PaymentClient payment_client = PaymentClient(region_name="us-east-1") response = payment_client.create_payment_manager_with_connector( payment_manager_name="StripePaymentManagerJWT", payment_manager_description="Stripe + Privy Payment Manager (JWT auth)", authorizer_type="CUSTOM_JWT", role_arn="arn:aws:iam::123456789012:role/BedrockAgentCoreFullAccess", payment_connector_config={ "name": "stripe-privy-connector-jwt", "description": "Stripe + Privy Connector (JWT)", "payment_credential_provider_config": { "name": "my-stripe-privy-provider-jwt", "credential_provider_vendor": "StripePrivy", "credentials": { "app_id": "your-privy-app-id", "app_secret": "your-privy-app-secret", "authorization_private_key": "your-authorization-private-key", "authorization_id": "your-authorization-id", }, }, }, wait_for_ready=True, ) manager_arn = response["paymentManager"]["paymentManagerArn"] connector_id = response["paymentConnector"]["paymentConnectorId"] provider_arn = response["credentialProvider"]["credentialProviderArn"]
Amazon CLI

创建具有 IAM 授权的支付管理器:

aws bedrock-agentcore-control create-payment-manager \ --name "MyPaymentManager" \ --authorizer-type AWS_IAM \ --role-arn "arn:aws:iam::123456789012:role/AgentCorePaymentsResourceRetrievalRole" \ --region us-east-1

创建具有 JWT 授权的支付管理器:

aws bedrock-agentcore-control create-payment-manager \ --name "MyPaymentManager" \ --authorizer-type CUSTOM_JWT \ --role-arn "arn:aws:iam::123456789012:role/AgentCorePaymentsResourceRetrievalRole" \ --custom-jwt-authorizer-configuration '{ "discoveryUrl": "https://cognito-idp.us-east-1.amazonaws.com/us-east-1_EXAMPLE/.well-known/openid-configuration", "allowedAudience": ["your-client-id"], "allowedClients": ["your-client-id"] }' \ --region us-east-1

付款管理器状态从配置完成时开始,CREATING然后过渡到配置完成READY时。

Coinbase — 快速创建(推荐):

使用 Quick create,您可以使用空的凭据提供者配置列表创建连接器,然后。--provision-mode QUICK_CREATE您无需先创建凭证提供商。

aws bedrock-agentcore-control create-payment-connector \ --payment-manager-id <paymentManagerId> \ --name "CoinbaseConnector" \ --type CoinbaseCDP \ --credential-provider-configurations '[]' \ --provision-mode QUICK_CREATE \ --region us-east-1

响应具有状态PENDING_AUTHENTICATION和authorizationUrl。打开网址,通过 Coinbase 进行授权,然后进行民意调查,get-payment-connector直到状态为READY。该 URL 的有效期约为 10 分钟;如果过期,连接器会过渡到,AUTHENTICATION_EXPIRED然后您重新创建它。

Quick create 提供的凭据是服务管理的,因此您可以根据需要将其替换为。rotate-payment-connector-credentials有关更多信息,请参阅轮换服务管理的连接器凭据。

手动流程:使用手动流程,您可以创建付款凭证提供商,然后在创建连接器时引用其 ARN。这是 Stripe(Privy)的唯一流程。

付款管理器准备就绪后,创建付款凭证提供商:

以下示例为 Coinbase CDP 创建了一个支付凭证提供商:

aws bedrock-agentcore-control create-payment-credential-provider \ --name "coinbase-provider" \ --credential-provider-vendor CoinbaseCDP \ --provider-configuration-input '{ "coinbaseCdpConfiguration": { "apiKeyId": "your-coinbase-api-key-id", "apiKeySecret": "your-coinbase-api-key-secret", "walletSecret": "your-coinbase-wallet-secret" } }' \ --region us-east-1

以下示例为 Stripe Privy 创建了一个支付凭证提供商:

aws bedrock-agentcore-control create-payment-credential-provider \ --name "stripe-privy-provider" \ --credential-provider-vendor StripePrivy \ --provider-configuration-input '{ "stripePrivyConfiguration": { "appId": "your-stripe-privy-app-id", "appSecret": "your-stripe-privy-app-secret", "authorizationPrivateKey": "your-stripe-privy-authorization-private-key", "authorizationId": "your-stripe-privy-authorization-id" } }' \ --region us-east-1

证书提供商准备就绪后,创建一个连接器:

aws bedrock-agentcore-control create-payment-connector \ --payment-manager-id <paymentManagerId> \ --name "CoinbaseConnector" \ --type CoinbaseCDP \ --credential-provider-configurations '[{ "coinbaseCDP": { "credentialProviderArn": "arn:aws:bedrock-agentcore:us-east-1:123456789012:token-vault/default/paymentcredentialprovider/my-cdp-provider" } }]' \ --region us-east-1
Amazon SDK

创建具有 IAM 授权的支付管理器:

import boto3 client = boto3.client("bedrock-agentcore-control", region_name="us-east-1") # Create PaymentManager with IAM authorization payment_manager = client.create_payment_manager( name="MyPaymentManager", authorizerType="AWS_IAM", roleArn="arn:aws:iam::123456789012:role/AgentCorePaymentsResourceRetrievalRole" ) print(f"Payment Manager ID: {payment_manager['paymentManagerId']}")

创建具有 JWT 授权的支付管理器:

payment_manager = client.create_payment_manager( name="MyPaymentManager", authorizerType="CUSTOM_JWT", roleArn="arn:aws:iam::123456789012:role/AgentCorePaymentsResourceRetrievalRole", customJWTAuthorizerConfiguration={ "discoveryUrl": "https://cognito-idp.us-east-1.amazonaws.com/us-east-1_EXAMPLE/.well-known/openid-configuration", "allowedAudience": ["your-client-id"], "allowedClients": ["your-client-id"], "allowedScopes": ["payments:write"], "customClaims": [ { "claimName": "tenant_id", "claimValue": "your-unique-tenant-id", "operation": "EQUALS" } ] } )

Coinbase — 快速创建(推荐):

使用 “快速创建”,您可以使用空credentialProviderConfigurations列表创建连接器,然后provisionMode="QUICK_CREATE"。您无需先创建凭证提供商。

# Create a Coinbase connector with Quick create connector = client.create_payment_connector( paymentManagerId=payment_manager["paymentManagerId"], name="CoinbaseConnector", type="CoinbaseCDP", credentialProviderConfigurations=[], provisionMode="QUICK_CREATE" ) print(f"Status: {connector['status']}") print(f"Authorization URL: {connector.get('authorizationUrl')}")

连接器返回状态PENDING_AUTHENTICATION和authorizationUrl. 打开网址,通过 Coinbase 进行授权,然后进行民意调查,get_payment_connector直到状态为READY。该 URL 的有效期约为 10 分钟;如果过期,连接器会过渡到,AUTHENTICATION_EXPIRED然后您重新创建它。

Quick create 提供的凭据是服务管理的,因此您可以根据需要将其替换为。rotate_payment_connector_credentials有关更多信息,请参阅轮换服务管理的连接器凭据。

手动流程:使用手动流程,您可以创建付款凭证提供商,然后在创建连接器时引用其 ARN。这是 Stripe(Privy)的唯一流程。

付款管理器进入READY状态后,创建付款凭证提供商:

以下示例为 Coinbase CDP 配置了一个提供商:

import boto3 client = boto3.client("bedrock-agentcore-control", region_name="us-east-1") coinbase_provider = client.create_payment_credential_provider( name="coinbase-provider", credentialProviderVendor="CoinbaseCDP", providerConfigurationInput={ "coinbaseCdpConfiguration": { "apiKeyId": "your-coinbase-api-key-id", "apiKeySecret": "your-coinbase-api-key-secret", "walletSecret": "your-coinbase-wallet-secret" } } )

以下示例为 Stripe Privy 配置了提供商:

import boto3 client = boto3.client("bedrock-agentcore-control", region_name="us-east-1") stripe_privy_provider = client.create_payment_credential_provider( name="stripe-privy-provider", credentialProviderVendor="StripePrivy", providerConfigurationInput={ "stripePrivyConfiguration": { "appId": "your-stripe-privy-app-id", "appSecret": "your-stripe-privy-app-secret", "authorizationPrivateKey": "your-stripe-privy-authorization-private-key", "authorizationId": "your-stripe-privy-authorization-id" } } )

创建付款凭证提供商后,创建连接器:

# Create PaymentConnector for Coinbase CDP payment_connector = client.create_payment_connector( paymentManagerId=payment_manager["paymentManagerId"], name="CoinbaseConnector", type="CoinbaseCDP", credentialProviderConfigurations=[ { "coinbaseCDP": { "credentialProviderArn": "arn:aws:bedrock-agentcore:us-east-1:123456789012:token-vault/default/paymentcredentialprovider/my-cdp-provider" } } ] ) print(f"Connector ID: {payment_connector['paymentConnectorId']}")

对于 Stripe(Privy),请使用stripePrivy配置变体:

# Create PaymentConnector for Stripe (Privy) payment_connector = client.create_payment_connector( paymentManagerId=payment_manager["paymentManagerId"], name="StripePrivyConnector", type="StripePrivy", credentialProviderConfigurations=[ { "stripePrivy": { "credentialProviderArn": "arn:aws:bedrock-agentcore:us-east-1:123456789012:token-vault/default/paymentcredentialprovider/my-privy-provider" } } ] )

生命周期状态

创建后,付款管理器将进入以下状态:

州 说明

CREATING

置备期间的初始状态。

READY

付款管理器已运行并接受连接器配置。

UPDATING

正在应用配置更改。

CREATE_FAILED

置备失败。

UPDATE_FAILED

更新操作失败。

支付连接器生命周期状态

支付连接器会通过以下状态进行过渡。PENDING_AUTHENTICATION、PROVISIONINGAUTHENTICATION_EXPIRED、和AUTHENTICATION_FAILED状态适用于 Coinbase 快速创建流程。

州 说明

CREATING

配置连接器时的初始状态。

PENDING_AUTHENTICATION

仅限快速创建。连接器正在等待您使用返回authorizationUrl的通过 Coinbase 进行授权。

PROVISIONING

仅限快速创建。授权成功,服务正在配置凭据提供者。

READY

连接器已运行,可以处理付款。

UPDATING

正在应用配置更改。

AUTHENTICATION_EXPIRED

仅限快速创建。授权完成前authorizationUrl已过期(大约 10 分钟)。 Re-create 用于获取新 URL 的连接器。

AUTHENTICATION_FAILED

仅限快速创建。通过 Coinbase 进行的授权未成功完成。

AWS_MARKETPLACE_SUBSCRIPTION_REQUIRED

Coinbase 需要有效的 Amazon 市场订阅。订阅 Coinbase AgentCore 支付钱包列表并重试。

CREATE_FAILED

置备失败。

UPDATE_FAILED

更新操作失败。

DELETE_FAILED

删除操作失败。

找个付款管理器

例
AgentCore CLI
agentcore status
AgentCore SDK
from bedrock_agentcore.payments.client import PaymentClient payment_client = PaymentClient(region_name="us-east-1") response = payment_client.get_payment_manager( payment_manager_id="<paymentManagerId>" ) print(f"Status: {response['status']}")
Amazon CLI
aws bedrock-agentcore-control get-payment-manager \ --payment-manager-id <paymentManagerId> \ --region us-east-1
Amazon SDK
response = client.get_payment_manager( paymentManagerId="<paymentManagerId>" ) print(f"Status: {response['status']}")

列出付款经理

例
AgentCore CLI
agentcore status
AgentCore SDK
from bedrock_agentcore.payments.client import PaymentClient payment_client = PaymentClient(region_name="us-east-1") response = payment_client.list_payment_managers() for pm in response['paymentManagers']: print(f"{pm['name']} - {pm['status']}")
Amazon CLI
aws bedrock-agentcore-control list-payment-managers \ --region us-east-1
Amazon SDK
response = client.list_payment_managers() for pm in response['paymentManagers']: print(f"{pm['name']} - {pm['status']}")

删除付款管理器

例
AgentCore CLI
agentcore remove payment-connector --manager MyPaymentManager --name CoinbaseConnector --yes agentcore remove payment-manager --name MyPaymentManager --yes agentcore deploy

这些remove命令更新本地配置。后续行动deploy会破坏您账户中的支付基础设施。

AgentCore SDK
from bedrock_agentcore.payments.client import PaymentClient payment_client = PaymentClient(region_name="us-east-1") payment_client.delete_payment_manager( payment_manager_id="<paymentManagerId>" )
Amazon CLI
aws bedrock-agentcore-control delete-payment-manager \ --payment-manager-id <paymentManagerId> \ --region us-east-1
Amazon SDK
client.delete_payment_manager( paymentManagerId="<paymentManagerId>" )

后续步骤

创建付款管理器后,您可以:

  1. 设置支付工具和会话-配置支付工具和会话以开始处理交易。请参阅创建付款工具。

  2. 与您的代理框架集成-使用集成代码模板将付款管理器连接到您的代理工作流程。请参阅处理付款。

  3. 探索付费 MCP 工具和端点 — 使用按使用付费终端节点连接即用型 MCP 服务器,或者自带商家端点。通过 AgentCore 网关查看 Coinbase 集市。

  4. 启用可观察性-配置日志传输和跟踪以监控会话、API 调用、事务和错误率。参见可观测性。

  5. 计划凭据轮换-如果您使用的是快速创建,请安排连接器的服务管理凭据的轮换。请参见轮换服务托管连接器凭据。