View a markdown version of this page

Elabora un pagamento - Amazon Bedrock AgentCore

Elabora un pagamento

Per elaborare un pagamento, sono necessarie due risorse:

  • Strumento di pagamento: un portafoglio crittografico integrato con Coinbase o Stripe. Vedi Creare uno strumento di pagamento.

  • Sessione di pagamento: una sessione a tempo limitato che, facoltativamente, impone un budget di spesa. Vedi Creare una sessione di pagamento.

Una volta che entrambi esistono, chiama ProcessPayment con l'ID della sessione di pagamento, l'ID dello strumento di pagamento e un payload di pagamento x402. Il servizio convalida la richiesta, controlla il budget, firma la transazione sulla blockchain appropriata e restituisce una prova crittografica. Per lo schema completo di richiesta e risposta, consulta l'API ProcessPaymentReference.

Suggerimento

Puoi automatizzare i passaggi di questa pagina con l'abilità AgentCore Pagamenti nel toolkit per AWS agenti. L'abilità fa parte del plug-in aws-agents e consente a un agente di codifica AI di creare Payment Manager, connettore, fornitore di credenziali, strumento di pagamento e sessione utilizzando la agentcore CLI e di aggiungere uno strumento di pagamento x402 al tuo agente. Per i dettagli, consulta il quickstart e il toolkit per agenti su.AWS GitHub

Esistono cinque modi per richiamare l'API: ProcessPayment

Esempio
AgentCore CLI

Se il tuo agente è impiegato con funzionalità di pagamento configurate, richiamalo con Payment Context e l'interceptor x402 gestirà automaticamente l'elaborazione dei pagamenti:

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

Per utilizzare una sessione esplicita anziché crearne una 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

Il plug-in x402 dell'agente distribuito intercetta le risposte e le chiamate ProcessPayment HTTP 402 e ritenta la richiesta fornendone una prova. Richiede AgentCore CLI v0.19.0 o versione successiva.

AgentCore SDK

Usa la PaymentManager classe per generare manualmente le intestazioni di pagamento all'interno di qualsiasi framework di agenti:

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 l'intestazione della prova di pagamento. Includi questa intestazione quando ritenti la richiesta verso l'endpoint a pagamento. Puoi anche chiamare il process_payment metodo of PaymentManager per un maggiore controllo sugli input.

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

Chiama process_payment direttamente con il payload x402 completo:

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

Risposta:

{ "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 status of PROOF_GENERATED indica che la transazione è stata firmata e la prova crittografica è inclusa. paymentOutput

Strands SDK

Il plug-in per AgentCore i pagamenti fornisce l'elaborazione automatizzata dei pagamenti per Strands Agents. Supporta il protocollo x402 Payment Required, che consente agli agenti di gestire automaticamente le risposte HTTP 402.

Installation (Installazione):

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

Configura e usa il plugin:

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

Il plugin per AgentCore i pagamenti intercetta automaticamente le richieste di pagamento x402, elabora il pagamento e riprova la richiesta con una prova di pagamento per l'agente.

LangGraph

Il middleware per AgentCore i pagamenti fornisce l'elaborazione automatizzata dei pagamenti per gli agenti. LangGraph Supporta il protocollo x402 Payment Required, che consente agli agenti di gestire automaticamente le risposte HTTP 402.

Installation (Installazione):

pip install 'bedrock-agentcore[langgraph]'

Configura e usa il 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)

Il middleware per AgentCore i pagamenti intercetta automaticamente le richieste di pagamento x402, elabora il pagamento e riprova la richiesta con una prova di pagamento per l'agente.

Integrazioni del framework

Per la documentazione di riferimento completa, inclusa la gestione degli errori, le opzioni di configurazione e gli strumenti integrati, consulta Integrazioni del Framework.

Framework Tipo di integrazione Documentazione di riferimento

Agenti Strands

Plugin (basato su hook)

Gestione delle interruzioni, opzioni di configurazione, strumenti integrati

LangGraph

Middleware (include le chiamate agli strumenti)

Richiamate di errore, elenchi consentiti, supporto asincrono, opzioni di configurazione