View a markdown version of this page

Crie um instrumento de pagamento - Amazon Bedrock AgentCore

Crie um instrumento de pagamento

Um instrumento de pagamento representa uma carteira criptográfica incorporada que um agente usa para pagar comerciantes em nome de um usuário. Cada instrumento está associado a uma rede blockchain específica. O valor da ETHEREUM rede cobre a rede principal Ethereum e todas as redes de EVM-compatible camada 2 suportadas (Base, Arbitrum e outras). Para ver o esquema completo de solicitações e respostas, consulte CreatePaymentInstrumenta Referência da API.

dica

Você pode automatizar as etapas nesta página com a habilidade AgentCore Pagamentos no kit de ferramentas do AWS agente. A habilidade faz parte do plug-in aws-agents e permite que um agente de codificação de IA crie seu gerenciador de pagamentos, conector, provedor de credenciais, instrumento de pagamento e sessão usando a agentcore CLI e adicione uma ferramenta de pagamento x402 ao seu agente. Para obter detalhes, consulte o guia de início rápido e o kit de ferramentas do AWS agente em. GitHub

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

Para uma cadeia compatível com Solana, use enum SOLANA para entrada de rede.

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

Para corrente compatível com Solana, use"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()), )

Para uma cadeia compatível com Solana, use enum SOLANA para entrada de rede.

nota

Depois que o instrumento de pagamento é criado, o usuário final deve financiar o instrumento e conceder permissões de assinatura antes que o agente possa processar os pagamentos. Para obter instruções detalhadas, consulte Financiar a carteira e conceder permissões aos agentes.

Obtenha um instrumento de pagamento

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

Listar instrumentos de pagamento

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

Verifique o equilíbrio do instrumento

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

Excluir um instrumento de pagamento

exemplo
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" )