View a markdown version of this page

Processar um pagamento - Amazon Bedrock AgentCore

Processar um pagamento

Para processar um pagamento, você precisa de dois recursos:

Quando ambos existirem, ligue ProcessPayment com o ID da sessão de pagamento, o ID do instrumento de pagamento e uma carga de pagamento x402. O serviço valida a solicitação, verifica o orçamento, assina a transação no blockchain apropriado e retorna uma prova criptográfica. Para ver o esquema completo de solicitações e respostas, consulte ProcessPaymenta 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

Há cinco maneiras de invocar a ProcessPayment API:

exemplo
AgentCore CLI

Se seu agente estiver implantado com recursos de pagamento configurados, invoque-o com o contexto de pagamento e o interceptor x402 gerenciará o processamento do pagamento automaticamente:

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 uma sessão explícita em vez de criar uma automaticamente:

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

O plug-in x402 do agente implantado intercepta respostas e chamadas HTTP 402 e repete a ProcessPayment solicitação com prova. Requer AgentCore CLI v0.19.0 ou posterior.

AgentCore SDK

Use a PaymentManager classe para gerar cabeçalhos de pagamento manualmente em qualquer estrutura de agente:

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_headerscontém o cabeçalho do comprovante de pagamento. Inclua esse cabeçalho ao repetir a solicitação no endpoint pago. Você também pode chamar o process_payment método de PaymentManager para obter mais controle sobre as 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

Ligue process_payment diretamente com a carga útil x402 completa:

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

Resposta:

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

Um status de PROOF_GENERATED indica que a transação foi assinada e a prova criptográfica está incluída empaymentOutput.

Strands SDK

O plug-in de AgentCore pagamentos fornece processamento automatizado de pagamentos para Strands Agents. Ele suporta o protocolo x402 Payment Required, permitindo que os agentes lidem automaticamente com as respostas HTTP 402.

Instalação:

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

Configure e use o plug-in:

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

O plug-in de AgentCore pagamentos intercepta solicitações de pagamento x402 automaticamente, processa o pagamento e repete a solicitação com o comprovante de pagamento para o agente.

LangGraph

O middleware de AgentCore pagamentos fornece processamento automatizado de pagamentos para LangGraph agentes. Ele suporta o protocolo x402 Payment Required, permitindo que os agentes lidem automaticamente com as respostas HTTP 402.

Instalação:

pip install 'bedrock-agentcore[langgraph]'

Configure e use o 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)

O middleware de AgentCore pagamentos intercepta solicitações de pagamento x402 automaticamente, processa o pagamento e repete a solicitação com o comprovante de pagamento para o agente.

Integrações do framework

Para obter a documentação de referência completa, incluindo tratamento de erros, opções de configuração e ferramentas integradas, consulte Integrações do Framework.

Framework Tipo de integração Referência

Agentes de filamentos

Plugin (baseado em gancho)

Tratamento de interrupções, opções de configuração, ferramentas integradas

LangGraph

Middleware (envolve chamadas de ferramentas)

Retornos de chamada de erro, listas de permissões, suporte assíncrono, opções de configuração