创建付款管理器和连接器
付款管理器是协调 AWS 账户付款操作的顶级资源。创建付款管理器时,您需要指定授权者类型和 IAM 角色,该服务会在 Identity 中配置相应的工作负载身 AgentCore 份。
本指南将引导您使用管理控制台或 AWS SDK 创建支付 AWS 管理器并连接支付连接器。有关完整的请求和响应架构,请参阅 API 参考CreatePaymentConnector中的CreatePaymentManager和。
提示
您可以使用 AWS 代理工具包中的 “ AgentCore 付款” 技能自动执行此页面上的步骤。该技能是 aws- agents 插件的一部分,它允许 AI 编码代理使用 CL agentcore I 创建您的支付管理器、连接器、凭证提供商、支付工具和会话,并向您的代理添加 x402 支付工具。有关详细信息,请参阅上的快速入门和AWS 代理工具包。 GitHub
在开始之前,请确保您满足以下条件:
创建付款管理器
例
- Console
-
第 1 步:打开 “付款” 页面
-
在导航窗格的 “构建” 下,选择 “付款”。
-
在付款管理器部分,选择创建付款管理器。
第 2 步:配置付款管理器详细信息
-
在 “姓名” 中,输入您的付款经理的姓名。名称必须以字母开头。有效字符为
a–z、A–Z、0–9。该名称最多可包含 48 个字符。 -
(可选)选择描述以展开该部分,然后输入描述以帮助识别此付款管理器。
步骤 3:配置权限
权限部分指定了此付款管理器的权限以及付款可以访问的 AWS 资源。
对于 IAM 权限,请选择以下选项之一:
-
创建和使用新的服务角色 — Amazon Bedrock p AgentCore ayments 代表您创建一个新的服务角色。默认服务角色名称是自动生成的。有关更多信息,请参阅服务角色权限。
-
使用现有的服务角色-使用您已经创建的服务角色。如果选择此选项,请从下拉列表中选择一个角色。
步骤 4:配置入站授权
入站授权控制谁可以访问此付款管理器。在入站身份验证部分中,对于入站身份验证类型,选择以下选项之一:
要使用 IAM 授权:
-
选择使用 IAM 用户名。这使用您用于登录 AWS 控制台的 IAM 用户名。
要在 Amazon Cognito 上使用 JWT 授权,请执行以下操作:
-
选择使用 JSON 网络令牌 (JWT)。
-
对于 JWT 架构配置,请选择使用 Cognito 快速创建配置-推荐。Amazon Bedrock P AgentCore ayments 使用亚马逊 Cognito 作为身份提供者代表您创建入库授权配置。无需其他配置。
要对现有身份提供商使用 JWT 授权,请执行以下操作:
-
选择使用 JSON 网络令牌 (JWT)。
-
对于 JWT 架构配置,请选择使用现有的身份提供商配置。此选项允许您使用来自任何身份提供商的现有入站授权配置来启用 OAuth 2.0。
-
对于发现网址,请输入您的身份提供商(例如 Okta 或 Cognito)提供的发现网址,该网址通常位于该提供商的文档中。这允许您的代理或工具获取登录信息、下游资源令牌和验证设置。例如
https://accounts.cognito.com/.well-known/openid-configuration。 -
对于允许的受众,请输入向身份提供者注册的客户端 ID 或授权者必须验证的 JWT 受众声明中的任意字符串。选择 + 添加受众以添加更多受众。
-
对于允许的客户端,请输入向身份提供者注册的客户端 ID 或授权者必须验证的 JWT 受众声明中的任意字符串。选择 “+ 添加客户端” 以添加其他客户端。
-
在 “允许的范围” 中,输入所需的范围。仅当令牌包含此处配置的至少一个所需范围时,才允许访问。选择 + 添加作用域以添加其他范围。
-
(可选)对于自定义声明,请定义将传入令牌中的特定声明与预定义值进行匹配的规则。为每条规则指定声明名称、字符串类型、运算符和值。选择 + 添加索赔以添加其他索赔。
第 5 步:添加支付连接器(可选)
支付连接器存储与支付服务提供商连接所需的凭据和配置。在创建期间添加连接器是可选的,但是服务需要连接器才能处理付款。
-
在 “付款连接器:新建连接器” 部分,在 “名称” 中输入连接器的名称。有效字符为
a–z、A–Z0–9、和_(下划线)。该名称最多可包含 48 个字符。 -
(可选)选择描述以展开该部分,然后输入连接器的描述。
-
在 “添加出站身份验证” 部分,如果您想重复使用之前在 Ident AgentCore ity 中创建的付款凭证提供商,请从下拉列表中选择现有的出站身份验证提供商;或者选择创建一个新的出站身份验证以创建新的支付凭证提供商。如果您选择创建新的出站身份验证,请参阅创建新的出站身份验证。
-
(可选)要添加其他连接器,请选择 + 添加连接器并重复上述步骤。
创建新的出站身份验证
当您在连接器的出站身份验证部分选择创建新账户时,将打开一个面板,您可以在其中配置新的付款凭证提供商。
-
在名称中,输入出站身份验证的名称。有效字符为
a–z、、A–Z0–9、_(下划线)和-(连字符)。 -
对于提供商,从下拉列表中选择支付提供商。可用的提供商是 Coinbase 和 Stripe(Privy)。
如果您选择 Coinbase,请在支付提供商配置下填写以下字段:
-
对于 API 密钥 ID,请输入您的 Coinbase CDP 账户凭证的唯一标识符。
-
对于 API 密钥密钥,请输入用于对 Coinbase CDP 进行身份验证和签署请求的私钥。
-
在 “钱包密钥” 中,输入用于验证敏感钱包写入操作的非对称私钥。
如果您选择 Stripe (Privy),请填写支付服务提供商配置下的以下字段:
-
在应用程序 ID 中,输入您的 Privy 账户凭据的唯一标识符。
-
在 “应用程序密钥” 中,输入用于对 Privy 应用程序进行身份验证和签署请求的私钥。
-
在授权 ID 中,输入授权实体的唯一标识符。
-
在授权私钥中,输入用于签署授权请求的私钥。
完成提供商配置后,选择添加出站身份验证。
步骤 6:创建付款管理器
-
查看您的配置,然后选择创建付款管理器。
选择 “创建付款管理器” 后,控制台将导航至付款管理器详细信息页面。成功横幅确认付款管理器已创建,并提供以下后续步骤:
-
设置付款工具和会话,也可以指定预算。
-
将付款管理器集成到您的代理框架中。
-
探索付费 MCP 工具和终端。
-
启用日志传输和跟踪,以便在可观测性控制面板中查看指标。
付款管理器详细信息页面包括付款连接器、集成代码模板、入站身份验证、可观察性指标以及日志交付和跟踪配置等部分。
- AgentCore CLI
-
AgentCore CLI 从您的项目目录中同时创建凭证提供商、付款管理器和支付连接器。需要 CLI 版本 0.19.0 或更高版本。
交互式向导:
agentcore add payment-manager向导会提示您输入经理姓名、模式、自动付款切换、支出限额,并可选择性地介绍如何添加带有提供商凭据的连接器。
Non-interactive (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 deployNon-interactive (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 deployIAM 角色,在 Ident AgentCore ity 中存储证书,并创建支付管理器和连接器。 - AgentCore SDK
-
S AgentCore DK 提供了一种便捷的方法
create_payment_manager_with_connector,只需一次调用即可创建付款管理器、凭证提供商和连接器。获得 IAM 授权的 Coinbase CDP:
from bedrock_agentcore.payments 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"] - AWS 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 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 - AWS 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" } ] } )付款管理器进入
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" } } ] )
生命周期状态
创建后,付款管理器将进入以下状态:
| 州 | 说明 |
|---|---|
|
|
置备期间的初始状态。 |
|
|
付款管理器已运行并接受连接器配置。 |
|
|
正在应用配置更改。 |
|
|
配置失败。 |
|
|
更新操作失败。 |
找个付款管理器
例
- 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']}") - AWS CLI
-
aws bedrock-agentcore-control get-payment-manager \ --payment-manager-id <paymentManagerId> \ --region us-east-1 - AWS 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']}") - AWS CLI
-
aws bedrock-agentcore-control list-payment-managers \ --region us-east-1 - AWS 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>" ) - AWS CLI
-
aws bedrock-agentcore-control delete-payment-manager \ --payment-manager-id <paymentManagerId> \ --region us-east-1 - AWS SDK
-
client.delete_payment_manager( paymentManagerId="<paymentManagerId>" )
后续步骤
创建付款管理器后,您可以:
-
设置支付工具和会话-配置支付工具和会话以开始处理交易。请参阅创建付款工具。
-
与您的代理框架集成-使用集成代码模板将付款管理器连接到您的代理工作流程。请参阅处理付款。
-
探索付费 MCP 工具和端点 — 使用按使用付费终端节点连接即用型 MCP 服务器,或者自带商家端点。通过 AgentCore 网关查看 Coinbase 集市。
-
启用可观察性-配置日志传输和跟踪以监控会话、API 调用、事务和错误率。参见可观察性。