View a markdown version of this page

Crear un instrumento de pago - Base amazónica AgentCore

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Crear un instrumento de pago

Un instrumento de pago representa una billetera 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 cadena de bloques específica. El valor ETHEREUM de la 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 solicitud y respuesta, consulta la referencia CreatePaymentInstrument de la API.

sugerencia

Puedes automatizar los pasos de esta página con la habilidad AgentCore Pagos del kit de herramientas para AWS agentes. Esta habilidad forma parte del complemento aws-agents y permite a un agente de codificación basada en inteligencia artificial crear tu gestor de pagos, conector, proveedor de credenciales, instrumento de pago y sesión mediante la agentcore CLI, y añadir una herramienta de procesamiento de pagos a tu 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 la SOLANA enumeración 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 una cadena compatible con Solana, utilice la enumeración SOLANA para la entrada de red.

nota

Una vez creado el instrumento de pago, el usuario final debe financiar el instrumento y conceder los permisos de firma antes de que el agente pueda procesar los pagos. Para obtener instrucciones detalladas, consulta Cómo depositar fondos en el monedero y conceder permisos al agente.

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

Verifique el saldo del instrumento

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