View a markdown version of this page

Procesar un pago - Amazon Bedrock AgentCore

Procesar un pago

Para procesar un pago, necesitas dos recursos:

Cuando ambos existan, llama ProcessPayment con el identificador de la sesión de pago, el identificador del instrumento de pago y una carga útil de pago x402. El servicio valida la solicitud, comprueba el presupuesto, firma la transacción en la cadena de bloques correspondiente y devuelve una prueba criptográfica. Para ver el esquema completo de solicitud y respuesta, consulta la referencia ProcessPaymentde 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

Hay cinco formas de invocar la API: ProcessPayment

ejemplo
AgentCore CLI

Si su agente está desplegado con las funciones de pago configuradas, indíquelo con el contexto de pago y el interceptor x402 gestionará el procesamiento de los pagos automáticamente:

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

Para usar una sesión explícita en lugar de crearla automáticamente:

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

El complemento x402 del agente desplegado intercepta las respuestas y llamadas ProcessPayment de HTTP 402 y vuelve a intentar la solicitud con pruebas. Requiere AgentCore CLI v0.19.0 o posterior.

AgentCore SDK

Utilice la PaymentManager clase para generar cabeceras de pago manualmente en cualquier entorno de agentes:

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_headerscontiene el encabezado del comprobante de pago. Incluya este encabezado cuando vuelva a intentar enviar la solicitud al punto final de pago. También puedes utilizar el process_payment método de PaymentManager para tener más control sobre las entradas.

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

Llama process_payment directamente con la carga completa del x402:

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()), )

Respuesta:

{ "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" }

Un número status de PROOF_GENERATED indica que la transacción se firmó y en ella se incluye la prueba criptográfica. paymentOutput

Strands SDK

El complemento de AgentCore pagos proporciona un procesamiento de pagos automatizado para los agentes de Strands. Es compatible con el protocolo x402 Payment Required, que permite a los agentes gestionar automáticamente las respuestas HTTP 402.

Installation (Instalación):

pip install 'bedrock-agentcore[strands-agents]'

Configura y usa el complemento:

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

El complemento de AgentCore pagos intercepta automáticamente las solicitudes de pago x402, procesa el pago y vuelve a intentarlo con el comprobante de pago del agente.

LangGraph

El middleware de AgentCore pagos proporciona un procesamiento de pagos automatizado para los agentes. LangGraph Es compatible con el protocolo x402 Payment Required, que permite a los agentes gestionar automáticamente las respuestas HTTP 402.

Installation (Instalación):

pip install 'bedrock-agentcore[langgraph]'

Configure y utilice el middleware:

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)

El middleware de AgentCore pagos intercepta automáticamente las solicitudes de pago x402, procesa el pago y vuelve a intentarlo con el comprobante de pago del agente.

Integraciones con marcos

Para ver la documentación de referencia completa, incluida la gestión de errores, las opciones de configuración y las herramientas integradas, consulte Integraciones con Framework.

Marcos Tipo de integración Referencia

Agentes de Strands

Plugin (basado en ganchos)

Manejo de interrupciones, opciones de configuración, herramientas integradas

LangGraph

Middleware (agrupa las llamadas a las herramientas)

Retrollamadas de error, listas de permisos, soporte asíncrono, opciones de configuración