View a markdown version of this page

支払いの処理 - Amazon Bedrock AgentCore

支払いの処理

支払いを処理するには、次の 2 つのリソースが必要です。

  • 支払い手段 — Coinbase または Stripe を備えた埋め込み暗号ウォレット。「支払い手段の作成」を参照してください。

  • 支払いセッション — オプションで支出予算を適用する時間制限付きセッション。「支払いセッションを作成する」を参照してください。

両方が存在したら、支払いセッション ID、支払い手段 ID、x402 支払いペイロードProcessPaymentを使用して を呼び出します。サービスはリクエストを検証し、予算を確認し、適切なブロックチェーンでトランザクションに署名して、暗号化の証明を返します。完全なリクエストとレスポンスのスキーマについては、 API リファレンスのProcessPayment」を参照してください。

ヒント

エージェント AWS ツールキットの AgentCore Payments スキルを使用して、このページのステップを自動化できます。このスキルは aws-agents プラグインの一部であり、AI コーディングエージェントが agentcore CLI を使用して Payment Manager、コネクタ、認証情報プロバイダー、支払い手段、セッションを作成し、x402 支払いツールをエージェントに追加できるようにします。詳細については、GitHub のクイックスタートとエージェントツールキットを参照してください。 AWS GitHub

ProcessPayment API を呼び出すには、次の 5 つの方法があります。

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 v0.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" }

status の は、トランザクションが署名され、暗号化証明が に含まれているPROOF_GENERATEDことを示しますpaymentOutput

Strands SDK

AgentCore 支払いプラグインは、Strands エージェントの自動支払い処理を提供します。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 支払いリクエストを自動的にインターセプトし、支払いを処理し、エージェントの支払い証明を使用してリクエストを再試行します。

フレームワークの統合

エラー処理、設定オプション、組み込みツールを含む完全なリファレンスドキュメントについては、「フレームワークの統合」を参照してください。

フレームワーク 統合タイプ リファレンス

ストランドエージェント

プラグイン (フックベース)

割り込み処理、設定オプション、組み込みツール

LangGraph

ミドルウェア (ツール呼び出しをラップ)

エラーコールバック、許可リスト、非同期サポート、設定オプション