

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

# 创建付款管理器和连接器
<a name="payments-create-manager"></a>

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

本指南将引导您使用管理控制台或 Amazon SDK 创建支付 Amazon 管理器并连接支付连接器。有关完整的请求和响应架构，请参阅 API 参考[CreatePaymentConnector](https://docs.amazonaws.cn/bedrock-agentcore-control/latest/APIReference/API_CreatePaymentConnector.html)中的[CreatePaymentManager](https://docs.amazonaws.cn/bedrock-agentcore-control/latest/APIReference/API_CreatePaymentManager.html)和。

**提示**  
您可以使用 Amazon 代理工具包中的 “ AgentCore 付款” 技能自动执行此页面上的步骤。该技能是 **aws-** agents 插件的一部分，它允许 AI 编码代理使用 CL `agentcore` I 创建您的支付管理器、连接器、凭证提供商、支付工具和会话，并向您的代理添加流程付款工具。有关详细信息，请参阅[上的[快速入门](payments-getting-started.md)和Amazon 代理工具包。 GitHub](https://github.com/aws/agent-toolkit-for-aws/tree/main)

在开始之前，请确保您满足以下条件：
+ 已完成[先决条件](payments-prerequisites.md)（账户、凭证、提供商密钥）。
+ 设置所需的 [IAM 角色](payments-iam-roles.md)（管理员角色和服务角色）。

**重要**  
要创建 Coinbase 支付连接器，您的账户必须在 Amazon Marketplace 上订阅了 [Coinbase AgentCore 支付钱包列表](https://www.amazonaws.cn/marketplace/pp/prodview-ia2zd5puqyi7g)。通过此订阅，您的Coinbase钱包使用费用将根据Coinbase在Coinbase网站上的[定价](https://docs.cdp.coinbase.com/wallets/pricing)合并到您的每月 Amazon 账单中。订阅不收取任何额外费用或义务。如果缺少订阅，则`CreatePaymentConnector`会失败，并显示 `SubscriptionRequiredException` (HTTP 403)。此要求仅适用于Coinbase；其他提供商，例如Stripe（Privy），不受影响。欲了解更多信息，请参阅在 Mark [Amazon etplace 中订阅 Coinbase 钱包进行 AgentCore 支付](payments-marketplace-subscription.md)。

## 创建付款管理器
<a name="payments-create-manager-create"></a>

**Example**  
<a name="payments-setup-pm-console-step1"></a> **第 1 步：打开 “付款” 页面**   

1. 打开 [Amazon Bedrock AgentCore 控制台](https://console.amazonaws.cn/bedrock-agentcore/)。

1. 在导航窗格的 “**构建**” 下，选择 “**付款**”。

1. 在**付款管理**器部分，选择**创建付款管理器**。
<a name="payments-setup-pm-console-step2"></a> **第 2 步：配置付款管理器详细信息**   

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

1. （可选）选择**描述**以展开该部分，然后输入描述以帮助识别此付款管理器。
<a name="payments-setup-pm-console-step3"></a> **步骤 3：配置权限**   
**权限**部分指定了此付款管理器的权限以及付款可以访问的 Amazon 资源。  
对于 **IAM 权限**，请选择以下选项之一：  
+  **创建和使用新的服务角色** — Amazon Bedrock p AgentCore ayments 代表您创建一个新的服务角色。默认服务角色名称是自动生成的。有关更多信息，请参阅[服务角色权限](payments-iam-roles.md#payments-iam-service-role)。
+  **使用现有的服务角色**-使用您已经创建的服务角色。如果选择此选项，请从下拉列表中选择一个角色。
<a name="payments-setup-pm-console-step4"></a> **步骤 4：配置入站授权**   
入站授权控制谁可以访问此付款管理器。在**入站身份验证**部分中，对于**入站身份验证类型**，选择以下选项之一：  
 **要使用 IAM 授权：**  

1. 选择**使用 IAM 用户名**。这使用您用于登录 Amazon 控制台的 IAM 用户名。
 **要在 Amazon Cognito 上使用 JWT 授权，请执行以下操作：**  

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

1. 对于 **JWT 架构配置**，请选择**使用 Cognito 快速创建配置**-推荐。Amazon Bedrock P AgentCore ayments 使用亚马逊 Cognito 作为身份提供者代表您创建入库授权配置。无需其他配置。
 **要对现有身份提供商使用 JWT 授权，请执行以下操作：**  

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

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

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

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

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

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

1. （可选）对于**自定义声明**，请定义将传入令牌中的特定声明与预定义值进行匹配的规则。为每条规则指定声明**名称**、**字符串类型**、**运算符**和**值**。选择 **\+ 添加索赔**以添加其他索赔。
<a name="payments-setup-pm-console-step5"></a> **第 5 步：添加支付连接器（可选）**   
支付连接器存储与支付服务提供商连接所需的凭据和配置。在创建期间添加连接器是可选的，但是服务需要连接器才能处理付款。  

1. **在 “**付款连接器：新建连接器**” 部分，在 “名称” 中输入连接器的名称。**有效字符为`a–z`、`A–Z``0–9`、和`_`（下划线）。该名称最多可包含 48 个字符。

1. （可选）选择**描述**以展开该部分，然后输入连接器的描述。

1. 在**付款身份验证**部分，如果您想重复使用之前在 Ident [AgentCore ity 中创建的付款身份验证（付款凭证提供商），请从下拉列表中选择现有的付款身份](resource-providers.md#payment-credential-provider)验证；或者选择**创建新的付款身份验证来创建新的**支付身份验证。如果您选择创建新的付款身份验证，请参阅**创建付款身份验证。**

1. （可选）要添加其他连接器，请选择 **\+ 添加连接器**并重复上述步骤。

1. （可选）决定如何轮换此连接器的凭证。如果您使用 Coinbase Qu **ick create 创建**支付身份验证，则凭证将由服务管理，您可以根据需要从连接器详细信息页面或操作中轮换凭证。`RotatePaymentConnectorCredentials`如果您提供自己的凭证，则可以将其轮换给支付提供商。有关更多信息，请参阅[轮换服务管理的连接器凭据](payments-security-best-practices.md#payments-rotate-connector-credentials)。
<a name="payments-setup-pm-console-outbound-auth"></a> **创建付款身份验证**   
当您在连接器**的 “付款身份验证” 部分中选择创建新的****付款身份验证**时，将打开 “**创建付款身份验证**” 面板。在此面板中，您可以配置新的支付身份验证，即存储在 Identity 中的 AgentCore 支付凭证提供商。  

1. 在**付款身份验证名称**中，输入付款身份验证的名称。有效字符为`a–z`、、`A–Z``0–9`、`_`（下划线）和`-`（连字符）。

1. 对于**支付提供商**，请从下拉列表中选择支付提供商。可用的提供商是 **Coinbase** 和 **Stripe（Privy**）。
如果您选择 **Coinbase**，请选择如何为支付身份验证提供凭据：  
+  **快速创建配置——推荐** — 快速创建允许您链接到您的 Coinbase CDP 账户，让 AgentCore 付款无需离开控制台即可为您创建凭证。 AgentCore 它会打开一个窗口，供您注册或登录您的 Coinbase CDP 账户。然后，该服务会提供Coinbase CDP API密钥和钱包密钥，并代表您将其存储为付款身份验证。您不会生成或粘贴任何密钥。
+  **使用现有配置** — 提供您自己在 Coinbase 开发者平台中生成的 C [oinbase](https://docs.cdp.coinbase.com/api-reference/v2/authentication#1-create-client-api-key) CDP 凭证。
 **使用快速创建**   
如果您选择**快速创建配置（推荐**），则在您通过 Coinbase 授权访问权限后，P AgentCore ayments 会为您创建付款身份验证。完成以下步骤：  

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

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

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

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

1. 授权完成后，Coinbase 窗口将显示 Co **inbase 已连接并关闭**。 AgentCore 支付提供了 Coinbase CDP API 密钥和钱包密钥。该服务将它们安全地存储在 S Amazon ecrets Manager 中，并代表您创建付款身份验证。
快速创建不支持使用钱包密钥链接到现有项目。如果您授权的Coinbase项目已经有钱包密钥，则 AgentCore 付款将在不轮换的情况下停止。相反，请选择**使用现有配置**并手动提供您的凭据。
由于 Quick create 会为您配置证书，因此它们是服务管理的，您可以随时替换它们，而无需在 Coinbase 中生成密钥。有关更多信息，请参阅[轮换服务管理的连接器凭据](payments-security-best-practices.md#payments-rotate-connector-credentials)。  
 **使用现有配置**   
如果您选择**使用现有配置**，请填写**支付服务提供商配置**下的以下字段，然后选择**创建付款身份验证**：  

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

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

1. 在 “**钱包密**钥” 中，输入用于验证敏感钱包写入操作的非对称私钥。
如果您选择 **Coinbase** 作为提供商，则您的账户必须拥有有效的 Amazon 市场订阅 [Coinbase AgentCore 支付钱包列表](https://www.amazonaws.cn/marketplace/pp/prodview-ia2zd5puqyi7g)。这是对 Amazon 账户的一次性订阅。通过此订阅，您的Coinbase钱包使用费用将根据Coinbase在Coinbase网站上的[定价](https://docs.cdp.coinbase.com/wallets/pricing)合并到您的每月 Amazon 账单中。否则，连接器创建将失败，并显示 `SubscriptionRequiredException` (HTTP 403)。如果您未订阅，控制台会显示 “订**阅 Coinbase”，通过 Amazon 提醒启用计费，并**带有 “**订阅**” 按钮，您无需离开向导即可使用该按钮进行订阅。欲了解更多信息，请参阅在 Mark [Amazon etplace 中订阅 Coinbase 钱包进行 AgentCore 支付](payments-marketplace-subscription.md)。
如果您选择 **Stripe (Privy)**，请在 “**支付提供商配置**” 下填写以下字段，然后选择 “**创建付款身份验证**”：  

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

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

1. 在**授权 ID** 中，输入授权实体的唯一标识符。

1. 在**授权私钥**中，输入用于签署授权请求的私钥。
<a name="payments-setup-pm-console-step6"></a> **第 6 步：创建付款管理器**   

1. 查看您的配置，然后选择**创建付款管理器**。
选择**创建付款管理器**后，控制台将导航至付款管理器详细信息页面。成功横幅确认付款管理器已创建，并提供以下后续步骤：  

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

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

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

1. 启用日志传输和跟踪，以便在可观测性控制面板中查看指标。
付款管理器详细信息页面包括**付款连接器**、**集成代码模板**、**入站身份验证**、**可观察性**指标以及**日志交付和跟踪**配置等部分。
 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 软件开发工具包支持 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"]
```
创建具有 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`有关更多信息，请参阅[轮换服务管理的连接器凭据](payments-security-best-practices.md#payments-rotate-connector-credentials)。  
 **手动流程：**使用手动流程，您可以创建付款凭证提供商，然后在创建连接器时引用其 ARN。这是 Stripe（Privy）的唯一流程。  
付款管理器准备就绪后，[创建付款凭证提供商](https://docs.amazonaws.cn/bedrock-agentcore/latest/devguide/resource-providers.html#payment-credential-provider)：  
以下示例为 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
```
创建具有 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`有关更多信息，请参阅[轮换服务管理的连接器凭据](payments-security-best-practices.md#payments-rotate-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"
            }
        }
    ]
)
```

## 生命周期状态
<a name="payments-setup-pm-lifecycle"></a>

创建后，付款管理器将进入以下状态：


| 州 | 说明 | 
| --- | --- | 
|  `CREATING`  | 置备期间的初始状态。 | 
|  `READY`  | 付款管理器已运行并接受连接器配置。 | 
|  `UPDATING`  | 正在应用配置更改。 | 
|  `CREATE_FAILED`  | 置备失败。 | 
|  `UPDATE_FAILED`  | 更新操作失败。 | 

## 支付连接器生命周期状态
<a name="payments-setup-connector-lifecycle"></a>

支付连接器会通过以下状态进行过渡。`PENDING_AUTHENTICATION`、`PROVISIONING``AUTHENTICATION_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`  | 删除操作失败。 | 

## 找个付款管理器
<a name="payments-setup-pm-get"></a>

**Example**  

```
agentcore status
```

```
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 bedrock-agentcore-control get-payment-manager \
  --payment-manager-id <paymentManagerId> \
  --region us-east-1
```

```
response = client.get_payment_manager(
    paymentManagerId="<paymentManagerId>"
)
print(f"Status: {response['status']}")
```

## 列出付款经理
<a name="_list_payment_managers"></a>

**Example**  

```
agentcore status
```

```
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 bedrock-agentcore-control list-payment-managers \
  --region us-east-1
```

```
response = client.list_payment_managers()
for pm in response['paymentManagers']:
    print(f"{pm['name']} - {pm['status']}")
```

## 删除付款管理器
<a name="_delete_a_payment_manager"></a>

**Example**  

```
agentcore remove payment-connector --manager MyPaymentManager --name CoinbaseConnector --yes
agentcore remove payment-manager --name MyPaymentManager --yes
agentcore deploy
```
这些`remove`命令更新本地配置。后续行动`deploy`会破坏您账户中的支付基础设施。

```
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 bedrock-agentcore-control delete-payment-manager \
  --payment-manager-id <paymentManagerId> \
  --region us-east-1
```

```
client.delete_payment_manager(
    paymentManagerId="<paymentManagerId>"
)
```

## 后续步骤
<a name="_next_steps"></a>

创建付款管理器后，您可以：

1.  **设置支付工具和会话**-配置支付工具和会话以开始处理交易。请参阅[创建付款工具](payments-create-instrument.md)。

1.  **与您的代理框架**集成-使用集成代码模板将付款管理器连接到您的代理工作流程。请参阅[处理付款](payments-processing.md)。

1.  **探索付费 MCP 工具和端点 — 使用按使用付费**终端节点连接即用型 MCP 服务器，或者自带商家端点。[通过 AgentCore 网关查看 Coinbase 集市](payments-connect-bazaar.md)。

1.  **启用可观察性**-配置日志传输和跟踪以监控会话、API 调用、事务和错误率。参见[可观测性](payments-observability.md)。

1.  **计划凭据轮换**-如果您使用的是快速创建，请安排连接器的服务管理凭据的轮换。请参见[轮换服务托管连接器凭据](payments-security-best-practices.md#payments-rotate-connector-credentials)。