View a markdown version of this page

處理付款 - Amazon Bedrock AgentCore

處理付款

若要處理付款,您需要兩個資源:

  • 付款工具 — 具有 Coinbase 或 Stripe 的內嵌加密錢包。請參閱建立付款工具

  • 付款工作階段 — 有時間限制的工作階段,可選擇性地強制執行支出預算。請參閱建立付款工作階段

一旦兩者都存在,ProcessPayment請使用付款工作階段 ID、付款工具 ID 和 x402 付款承載來呼叫 。服務會驗證請求、檢查預算、在適當的區塊鏈上簽署交易,並傳回密碼編譯證明。如需完整的請求和回應結構描述,請參閱 API 參考中的 ProcessPayment

提示

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

有五種方式可以叫用 ProcessPayment API:

範例
AgentCore CLI

如果您的代理程式已部署並設定付款功能,請使用付款內容叫用它,且 x402 攔截器會自動處理付款處理:

agentcore invoke \ --prompt "Access the premium endpoint at https://example-x402-merchant.com/paid-api" \ --payment-instrument-id <INSTRUMENT_ID> \ --auto-session \ --payment-user-id user@example.com

若要使用明確工作階段而非自動建立工作階段:

agentcore invoke \ --prompt "Access the premium endpoint at https://example-x402-merchant.com/paid-api" \ --payment-instrument-id <INSTRUMENT_ID> \ --payment-session-id <SESSION_ID> \ --payment-user-id user@example.com

部署的代理程式 x402 外掛程式會攔截 HTTP 402 回應、呼叫 ProcessPayment,並使用 證明重試請求。需要 AgentCore CLI 0.19.0 版或更新版本。

AgentCore SDK

使用 PaymentManager類別在任何代理程式架構內手動產生付款標頭:

import uuid from bedrock_agentcore.payments import PaymentManager manager = PaymentManager( payment_manager_arn=mgr["paymentManagerArn"], region_name="us-west-2" ) # When you receive a 402 response, generate payment proof payment_required_request = { "statusCode": 402, "headers": payment_required["headers"], "body": payment_required["body"], } payment_proof_headers = manager.generate_payment_header( user_id="test-user-123", payment_instrument_id=instrument["paymentInstrumentId"], payment_session_id=session["paymentSessionId"], payment_required_request=payment_required_request, client_token=str(uuid.uuid4()), )

payment_proof_headers 包含付款證明標頭。將請求重試至付費端點時,請包含此標頭。您也可以呼叫 的 process_payment方法PaymentManager,以進一步控制輸入。

AWS CLI
aws bedrock-agentcore process-payment \ --payment-manager-arn "arn:aws:bedrock-agentcore:us-west-2:123456789012:payment-manager/my-manager" \ --payment-session-id "payment-session-abc123" \ --payment-instrument-id "payment-instrument-xyz789" \ --payment-type "CRYPTO_X402" \ --payment-input '{ "cryptoX402": { "version": "2", "payload": { "scheme": "exact", "network": "eip155:84532", "amount": "100000", "asset": "0x036CbD53842c5426634e7929541eC2318f3dCF7e", "payTo": "0x99935f281d3ED1E804bF1413b76E0B03e1fed4F9", "maxTimeoutSeconds": 300, "extra": {"name": "USDC", "version": "2"} } } }' \ --client-token "$(uuidgen)" \ --region us-west-2
AWS SDK

使用完整的 x402 承載process_payment直接呼叫 :

import uuid payment = dp_client.process_payment( userId="test-user-123", paymentManagerArn=PAYMENT_MANAGER_ARN, paymentSessionId=SESSION_ID, paymentInstrumentId=INSTRUMENT_ID, paymentType="CRYPTO_X402", paymentInput={ "cryptoX402": { "version": "2", "payload": { "scheme": "exact", "network": "eip155:84532", "amount": "100000", "asset": "0x036CbD53842c5426634e7929541eC2318f3dCF7e", "payTo": "0x99935f281d3ED1E804bF1413b76E0B03e1fed4F9", "maxTimeoutSeconds": 300, "extra": {"name": "USDC", "version": "2"}, }, } }, clientToken=str(uuid.uuid4()), )

回應:

{ "processPaymentId": "12345678-1234-1234-1234-123456789012", "paymentManagerArn": "arn:aws:bedrock-agentcore:us-west-2:123456789012:payment-manager/my-manager-a1b2c3d4e5", "paymentSessionId": "payment-session-abc123def4567", "paymentInstrumentId": "payment-instrument-xyz789abc1234", "paymentType": "CRYPTO_X402", "status": "PROOF_GENERATED", "paymentOutput": { "cryptoX402": { "version": "2", "payload": { "...signed transaction proof..." } } }, "createdAt": "2025-07-15T10:35:00Z", "updatedAt": "2025-07-15T10:35:02Z" }

statusPROOF_GENERATED表示交易已簽署,且密碼編譯驗證包含在 中paymentOutput

Strands SDK

AgentCore 付款外掛程式為 Strands Agents 提供自動付款處理。它支援 x402 Payment Required 通訊協定,可讓客服人員自動處理 HTTP 402 回應。

安裝:

pip install 'bedrock-agentcore[strands-agents]'

設定和使用 外掛程式:

from strands import Agent from strands_tools import http_request from bedrock_agentcore.payments.integrations.config import AgentCorePaymentsPluginConfig from bedrock_agentcore.payments.integrations.strands.plugin import AgentCorePaymentsPlugin # Configure the plugin config = AgentCorePaymentsPluginConfig( payment_manager_arn="arn:aws:bedrock-agentcore:us-west-2:123456789012:payment-manager/pm-abc123", user_id="test-user-123", payment_instrument_id="payment-instrument-XJU4RSQP9VO0ler", payment_session_id="payment-session-xuzrnUCd7RT725G", region="us-west-2", ) # Create the plugin plugin = AgentCorePaymentsPlugin(config=config) # Create agent with the plugin agent = Agent( system_prompt="You are a helpful assistant that can access paid APIs.", tools=[http_request], plugins=[plugin], ) # Use the agent -- 402 responses are automatically handled agent("access https://drvd12nxpcyd5.cloudfront.net/market-recap")

AgentCore 付款外掛程式會自動攔截 x402 付款請求、處理付款,並使用代理的付款證明重試請求。

LangGraph

AgentCore 付款中介軟體可為 LangGraph 代理程式提供自動付款處理。它支援 x402 Payment Required 通訊協定,可讓客服人員自動處理 HTTP 402 回應。

安裝:

pip install 'bedrock-agentcore[langgraph]'

設定和使用中介軟體:

from langchain.agents import create_agent from bedrock_agentcore.payments.integrations.langgraph import ( AgentCorePaymentsConfig, AgentCorePaymentsMiddleware, ) config = AgentCorePaymentsConfig( payment_manager_arn="arn:aws:bedrock-agentcore:us-west-2:123456789012:payment-manager/pm-abc123", user_id="test-user-123", payment_instrument_id="payment-instrument-XJU4RSQP9VO0ler", region="us-west-2", auto_session=True, ) payments = AgentCorePaymentsMiddleware(config) agent = create_agent( model="us.anthropic.claude-sonnet-4-20250514-v1:0", tools=[], middleware=[payments], ) result = agent.invoke({"messages": [{"role": "user", "content": "access https://drvd12nxpcyd5.cloudfront.net/market-recap"}]}) print(result)

AgentCore 付款中介軟體會自動攔截 x402 付款請求、處理付款,並使用代理程式的付款證明重試請求。

架構整合

如需完整的參考文件,包括錯誤處理、組態選項和內建工具,請參閱架構整合

架構 整合類型 參考資料

Strands 代理程式

外掛程式 (以勾點為基礎)

中斷處理、組態選項、內建工具

LangGraph

中介軟體 (包裝工具呼叫)

錯誤回呼、允許清單、非同步支援、組態選項