View a markdown version of this page

建立付款管理員和連接器 - Amazon Bedrock AgentCore

建立付款管理員和連接器

Payment Manager 是協調您 AWS 帳戶付款操作的最上層資源。當您建立 Payment Manager 時,您可以指定授權方類型和 IAM 角色,而且服務會在 AgentCore Identity 中佈建對應的工作負載身分。

本指南會逐步引導您建立 Payment Manager,並使用 AWS 管理主控台或 AWS SDK 連接 Payment Connector。如需完整的請求和回應結構描述,請參閱 API 參考中的 CreatePaymentManagerCreatePaymentConnector

提示

您可以使用 AWS 客服人員工具組中的 AgentCore Payments 技能來自動化此頁面上的步驟。技能是 aws-agents 外掛程式的一部分,可讓 AI 編碼代理程式使用 CLI agentcore 建立您的 Payment Manager、連接器、登入資料提供者、付款工具及工作階段,並將 x402 付款工具新增至您的代理程式。如需詳細資訊,請參閱 GitHub 上的快速入門和客服人員工具組。 AWS GitHub

開始前,請確保您具備以下條件:

  • 完成先決條件 (帳戶、登入資料、提供者金鑰)。

  • 設定所需的 IAM 角色 (管理員角色和服務角色)。

建立付款管理員

範例
Console

步驟 1:開啟付款頁面

  1. 開啟 Amazon Bedrock AgentCore 主控台

  2. 在導覽窗格的建置下,選擇付款

  3. 付款管理員區段中,選擇建立付款管理員

步驟 2:設定 Payment Manager 詳細資訊

  1. 名稱中,輸入 Payment Manager 的名稱。名稱必須以字母開頭。有效字元為 a–zA–Z0–9。名稱最多可有 48 個字元。

  2. (選用) 選擇描述以展開區段,然後輸入描述以協助識別此 Payment Manager。

步驟 3:設定許可

許可區段會指定此付款管理員的許可,以及付款可存取 AWS 的資源。

針對 IAM 許可,選擇下列其中一個選項:

  • 建立和使用新的服務角色 — Amazon Bedrock AgentCore 付款會代表您建立新的服務角色。預設服務角色名稱會自動產生。如需詳細資訊,請參閱服務角色許可

  • 使用現有的服務角色 — 使用您已建立的服務角色。如果您選擇此選項,請從下拉式清單中選取角色。

步驟 4:設定傳入授權

傳入授權控制誰可以存取此 Payment Manager。在傳入身分驗證區段中,針對傳入身分驗證類型,選擇下列其中一個選項:

若要使用 IAM 授權:

  1. 選擇使用 IAM 使用者名稱。這會使用您用來登入 AWS 主控台的 IAM 使用者名稱。

若要搭配 Amazon Cognito 使用 JWT 授權:

  1. 選擇使用 JSON Web 權杖 (JWT)

  2. 對於 JWT 結構描述組態,選擇使用 Cognito 快速建立組態 - 建議。Amazon Bedrock AgentCore 付款會使用 Amazon Cognito 做為身分提供者,代表您建立傳入授權組態。不需任何其他設定。

若要搭配現有的身分提供者使用 JWT 授權:

  1. 選擇使用 JSON Web 權杖 (JWT)

  2. 針對 JWT 結構描述組態,選擇使用現有的身分提供者組態。此選項可讓您從任何身分提供者引入現有的傳入授權組態,以啟用 OAuth 2.0。

  3. 針對探索 URL,輸入身分提供者 (例如 Okta 或 Cognito) 的探索 URL,通常可在該提供者的文件中找到。這可讓您的代理程式或工具擷取登入、下游資源字符和驗證設定。例如 https://accounts.cognito.com/.well-known/openid-configuration

  4. 對於允許對象,輸入向身分提供者註冊IDs,或在 JWT 對象宣告授權方必須驗證的任何任意字串。選擇 + 新增對象以新增其他對象。

  5. 對於允許的用戶端,在 JWT 對象宣告授權方必須驗證中,輸入向身分提供者註冊的用戶端 IDs 或任何任意字串。選擇 + 新增用戶端以新增其他用戶端。

  6. 針對允許的範圍,輸入所需的範圍。只有在字符至少包含此處設定的其中一個必要範圍時,才允許存取。選擇 + 新增範圍以新增其他範圍。

  7. (選用) 對於自訂宣告,定義符合傳入權杖中特定宣告與預先定義值的規則。針對每個規則,指定宣告名稱字串類型運算子。選擇 + 新增宣告以新增其他宣告。

步驟 5:新增付款連接器 (選用)

付款連接器會存放與付款服務供應商連線所需的登入資料和組態。在建立期間新增連接器是選用的,但服務需要連接器才能處理付款。

  1. 付款連接器:新連接器區段中,針對名稱輸入連接器的名稱。有效字元為 a–z0–9A–Z_(底線)。名稱最多可有 48 個字元。

  2. (選用) 選擇描述以展開區段,然後輸入連接器的描述。

  3. 新增傳出身分驗證區段中,如果您想要重複使用先前在 AgentCore Identity 中建立的付款憑證提供者,請從下拉式清單中選取現有的傳出身分驗證;或選擇建立新的身分驗證,以建立新的付款憑證提供者。如果您選擇建立新的傳出身分驗證,請參閱建立新的傳出身分驗證

  4. (選用) 若要新增其他連接器,請選擇 + 新增連接器並重複上述步驟。

建立新的傳出身分驗證

當您選擇在連接器的傳出身分驗證區段中建立新的身分驗證時,面板會開啟,您可以在其中設定新的付款憑證提供者。

  1. 名稱中,輸入傳出身分驗證的名稱。有效字元為 a–zA–Z0–9_(底線) 和 -(連字號)。

  2. 對於提供者,從下拉式清單中選取付款提供者。可用的供應商是 CoinbaseStripe (Privy)

如果您選擇 Coinbase,請完成付款提供者組態下的下列欄位:

  1. 針對 API 金鑰 ID,輸入 Coinbase CDP 帳戶登入資料的唯一識別符。

  2. 針對 API 金鑰秘密,輸入用於向 Coinbase CDP 驗證和簽署請求的私有金鑰。

  3. 對於錢包秘密,輸入用於驗證敏感錢包寫入操作的非對稱私有金鑰。

如果您選擇條紋 (私有),請完成付款供應商組態下的下列欄位:

  1. 應用程式 ID 中,輸入 Privy 帳戶登入資料的唯一識別符。

  2. 對於應用程式秘密,輸入用於驗證和簽署 Privy 應用程式請求的私有金鑰。

  3. 針對授權 ID,輸入授權實體的唯一識別符。

  4. 針對授權私有金鑰,輸入用來簽署授權請求的私有金鑰。

完成提供者組態後,選擇新增傳出身分驗證

步驟 6:建立付款管理員

  1. 檢閱您的組態,然後選擇建立付款管理員

選擇建立付款管理員後,主控台會導覽至付款管理員詳細資訊頁面。成功橫幅會確認已建立 Payment Manager,並提供下列後續步驟:

  1. 設定付款工具與工作階段,選擇性地指定預算。

  2. 將 Payment Manager 整合到您的代理程式架構中。

  3. 探索付費 MCP 工具和端點。

  4. 啟用日誌交付和追蹤,以在可觀測性儀表板中檢視指標。

Payment Manager 詳細資訊頁面包含付款連接器整合程式碼範本傳入驗證可觀測性指標,以及日誌傳遞和追蹤組態的區段。

AgentCore CLI

AgentCore CLI 會從您的專案目錄中同時建立登入資料提供者、Payment Manager 和 Payment Connector。需要 CLI v0.19.0 或更新版本。

互動式精靈:

agentcore add payment-manager

精靈會提示管理員名稱、模式、自動付款切換、花費限制,以及選擇性演練新增連接器與供應商登入資料。

非互動式 (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

非互動式 (條紋/隱私):

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 角色、將登入資料存放在 AgentCore Identity 中,並建立 Payment Manager 和 Connector。

AgentCore SDK

AgentCore SDK 提供便利方法create_payment_manager_with_connector,可在單一呼叫中建立 Payment Manager、登入資料提供者和連接器。

Coinbase CDP 搭配 IAM 授權:

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 搭配 JWT 授權:

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 授權的條紋 (私有):

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 授權建立 Payment Manager:

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

Payment Manager 狀態會開始為 ,CREATING並在佈建完成READY時轉換為 。

在 Payment Manager 就緒後,建立付款憑證提供者

下列範例會建立 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 授權建立 Payment Manager:

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" } ] } )

在 Payment Manager 達到 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" } } ] )

生命週期狀態

建立之後,Payment Manager 會轉換下列狀態:

State 說明

CREATING

佈建期間的初始狀態。

READY

Payment Manager 可運作並接受連接器組態。

UPDATING

正在套用組態變更。

CREATE_FAILED

佈建失敗。

UPDATE_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']}")
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>" )

後續步驟

建立您的 Payment Manager 之後,您可以:

  1. 設定付款工具與工作階段 — 設定付款工具與工作階段以開始處理交易。請參閱建立付款工具

  2. 與您的代理程式架構整合 — 使用整合程式碼範本將 Payment Manager 連接到您的代理程式工作流程。請參閱處理付款

  3. 探索付費 MCP 工具和端點 — 使用pay-per-use端點連線至ready-to-use型 MCP 伺服器,或自攜商家端點。請參閱透過 AgentCore Gateway 的 Coinbase Bazaar

  4. 啟用可觀測性 —  設定日誌交付和追蹤以監控工作階段、API 調用、交易和錯誤率。請參閱可觀測性