View a markdown version of this page

Crear un instrumento de pago - Amazon Bedrock AgentCore

Crear un instrumento de pago

Un instrumento de pago representa una cartera criptográfica integrada que un agente utiliza para pagar a los comerciantes en nombre de un usuario. Cada instrumento está asociado a una red de cadenas de bloques específica. El valor ETHEREUM de red cubre la red principal de Ethereum y todas las redes de EVM-compatible capa 2 compatibles (Base, Arbitrum y otras). Para ver el esquema completo de solicitudes y respuestas, consulta la referencia CreatePaymentInstrumentde la API.

sugerencia

Puedes automatizar los pasos de esta página con la habilidad de AgentCore pagos del kit de herramientas para AWS agentes. La habilidad forma parte del complemento aws-agents y permite a un agente de codificación de IA crear su administrador de pagos, conector, proveedor de credenciales, instrumento de pago y sesión mediante la agentcore CLI, y añadir una herramienta de pago x402 a su agente. Para obtener más información, consulte la guía de inicio rápido y el kit de herramientas para agentes en.AWS GitHub

ejemplo
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 una cadena compatible con Solana, utilice enum SOLANA para la entrada de red.

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 una cadena compatible con Solana, utilice. "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 la cadena compatible con Solana, utilice enum SOLANA para la entrada de red.

nota

Una vez creado el instrumento de pago, el usuario final debe depositar fondos en el instrumento y conceder permisos de firma antes de que el agente pueda procesar los pagos. Para obtener instrucciones detalladas, consulte Financiar la cartera y conceder permisos a los agentes.

Obtén un instrumento de pago

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

Enumere los instrumentos de pago

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

Compruebe el saldo de los instrumentos

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

Eliminar un instrumento de pago

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