建立付款工具
付款工具代表 代理程式用來代表使用者支付商家費用的內嵌加密錢包。每個工具都與特定的區塊鏈網路相關聯。ETHEREUM 網路值涵蓋 Ethereum mainnet 和所有支援的 EVM 相容第 2 層網路 (Base、Arbitrum 等)。如需完整的請求和回應結構描述,請參閱 API 參考中的 CreatePaymentInstrument。
提示
您可以使用 AWS 客服人員工具組中的 AgentCore Payments 技能來自動化此頁面上的步驟。技能是 aws-agents 外掛程式的一部分,可讓 AI 編碼代理程式使用 CLI agentcore 建立您的 Payment Manager、連接器、登入資料提供者、付款工具及工作階段,並將 x402 付款工具新增至您的代理程式。如需詳細資訊,請參閱 GitHub 上的快速入門和客服人員工具組。 AWS GitHub
範例
- AgentCore SDK
-
from bedrock_agentcore.payments import PaymentManager manager = PaymentManager( payment_manager_arn=mgr["paymentManagerArn"], region_name="us-west-2" ) # Create payment instrument (Ethereum) instrument = manager.create_payment_instrument( user_id="test-user-123", payment_connector_id=PAYMENT_CONNECTOR_ID, payment_instrument_type="EMBEDDED_CRYPTO_WALLET", payment_instrument_details={"embeddedCryptoWallet": {"network": "ETHEREUM", "linkedAccounts": [{ "email": { "emailAddress": "myemail@example.com" } }] }}, )對於 Solana 相容鏈,使用 enum
SOLANA進行網路輸入。 - AWS CLI
-
aws bedrock-agentcore create-payment-instrument \ --payment-manager-arn "arn:aws:bedrock-agentcore:us-west-2:123456789012:payment-manager/my-manager" \ --payment-connector-id "my-connector-id" \ --user-id "test-user-123" \ --payment-instrument-type "EMBEDDED_CRYPTO_WALLET" \ --payment-instrument-details '{ "embeddedCryptoWallet": { "network": "ETHEREUM", "linkedAccounts": [{"email": {"emailAddress": "myemail@example.com"}}] } }' \ --client-token "$(uuidgen)" \ --region us-west-2對於 Solana 相容鏈結,請使用
"network": "SOLANA"。 - AWS SDK
-
import boto3 import uuid dp_client = boto3.client("bedrock-agentcore", region_name="us-west-2", endpoint_url="https://bedrock-agentcore.us-west-2.amazonaws.com") # Create payment instrument (Ethereum) instrument = dp_client.create_payment_instrument( userId="test-user-123", paymentManagerArn=PAYMENT_MANAGER_ARN, paymentConnectorId=PAYMENT_CONNECTOR_ID, paymentInstrumentType="EMBEDDED_CRYPTO_WALLET", paymentInstrumentDetails={ "embeddedCryptoWallet": { "network": "ETHEREUM", "linkedAccounts": [{ "email": { "emailAddress": "myemail@example.com" } }] }, }, clientToken=str(uuid.uuid4()), )對於 Solana 相容鏈,使用 enum
SOLANA進行網路輸入。
注意
建立付款工具後,最終使用者必須先為工具提供資金並授予簽署許可,代理才能處理付款。如需詳細說明,請參閱為錢包提供資金並授予代理程式許可。
取得付款工具
範例
- AgentCore SDK
-
instrument = manager.get_payment_instrument( user_id="test-user-123", payment_instrument_id="payment-instrument-abc123" ) print(f"Status: {instrument['status']}") - AWS CLI
-
aws bedrock-agentcore get-payment-instrument \ --payment-manager-arn "arn:aws:bedrock-agentcore:us-west-2:123456789012:payment-manager/my-manager" \ --payment-instrument-id "payment-instrument-abc123" \ --user-id "test-user-123" \ --region us-west-2 - AWS SDK
-
response = dp_client.get_payment_instrument( paymentManagerArn=PAYMENT_MANAGER_ARN, paymentInstrumentId="payment-instrument-abc123" ) print(f"Status: {response['status']}, Network: {response['paymentInstrumentDetails']['embeddedCryptoWallet']['network']}")
列出付款工具
範例
- AgentCore SDK
-
instruments = manager.list_payment_instruments( user_id="test-user-123" ) for inst in instruments['paymentInstruments']: print(f"{inst['paymentInstrumentId']} - {inst['status']}") - AWS CLI
-
aws bedrock-agentcore list-payment-instruments \ --payment-manager-arn "arn:aws:bedrock-agentcore:us-west-2:123456789012:payment-manager/my-manager" \ --user-id "test-user-123" \ --region us-west-2 - AWS SDK
-
response = dp_client.list_payment_instruments( paymentManagerArn=PAYMENT_MANAGER_ARN, userId="test-user-123" ) for inst in response['paymentInstruments']: print(f"{inst['paymentInstrumentId']} - {inst['status']}")
檢查檢測器餘額
範例
- AgentCore SDK
-
balance = manager.get_payment_instrument_balance( user_id="test-user-123", payment_instrument_id="payment-instrument-abc123" ) print(f"Balance: {balance['amount']} {balance['currency']}") - AWS CLI
-
aws bedrock-agentcore get-payment-instrument-balance \ --payment-manager-arn "arn:aws:bedrock-agentcore:us-west-2:123456789012:payment-manager/my-manager" \ --payment-instrument-id "payment-instrument-abc123" \ --region us-west-2 - AWS SDK
-
response = dp_client.get_payment_instrument_balance( paymentManagerArn=PAYMENT_MANAGER_ARN, paymentInstrumentId="payment-instrument-abc123" ) print(f"Balance: {response['amount']} {response['currency']}")
刪除付款工具
範例
- AgentCore SDK
-
manager.delete_payment_instrument( user_id="test-user-123", payment_instrument_id="payment-instrument-abc123" ) - AWS CLI
-
aws bedrock-agentcore delete-payment-instrument \ --payment-manager-arn "arn:aws:bedrock-agentcore:us-west-2:123456789012:payment-manager/my-manager" \ --payment-instrument-id "payment-instrument-abc123" \ --region us-west-2 - AWS SDK
-
dp_client.delete_payment_instrument( paymentManagerArn=PAYMENT_MANAGER_ARN, paymentInstrumentId="payment-instrument-abc123" )
處理付款
資金錢包和授予許可