View a markdown version of this page

Procéder à un paiement - Amazon Bedrock AgentCore

Procéder à un paiement

Pour traiter un paiement, vous avez besoin de deux ressources :

Une fois que les deux existent, appelez ProcessPayment avec l'identifiant de session de paiement, l'identifiant de l'instrument de paiement et une charge utile de paiement x402. Le service valide la demande, vérifie le budget, signe la transaction sur la blockchain appropriée et renvoie une preuve cryptographique. Pour le schéma complet de demande et de réponse, reportez-vous ProcessPaymentà la référence de l'API.

Astuce

Vous pouvez automatiser les étapes de cette page à l'aide de la compétence AgentCore Paiements de la boîte à outils de l' AWS agent. Cette compétence fait partie du plugin aws-agents et permet à un agent de codage basé sur l'IA de créer votre gestionnaire de paiement, votre connecteur, votre fournisseur d'informations d'identification, votre instrument de paiement et votre session à l'aide de la agentcore CLI, et d'ajouter un outil de paiement x402 à votre agent. Pour plus de détails, consultez le guide de démarrage rapide et le kit d'outils de l'AWS agent sur GitHub.

Il existe cinq manières d'appeler l' ProcessPayment API :

Exemple
AgentCore CLI

Si votre agent est déployé avec des fonctionnalités de paiement configurées, invoquez-le avec le contexte de paiement et l'intercepteur x402 gère automatiquement le traitement des paiements :

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

Pour utiliser une session explicite au lieu d'en créer une automatiquement :

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

Le plug-in x402 de l'agent déployé intercepte les réponses HTTP 402, les appels ProcessPayment et réessaie la demande avec preuve. Nécessite la version 0.19.0 ou ultérieure de la AgentCore CLI.

AgentCore SDK

Utilisez la PaymentManager classe pour générer des en-têtes de paiement manuellement dans n'importe quel framework d'agent :

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_headerscontient l'en-tête de preuve de paiement. Incluez cet en-tête lorsque vous réessayez d'envoyer la demande au point de terminaison payant. Vous pouvez également appeler la process_payment méthode de PaymentManager pour mieux contrôler les entrées.

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

Appelez process_payment directement avec la charge utile complète du 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()), )

Réponse :

{ "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 de PROOF_GENERATED indique que la transaction a été signée et que la preuve cryptographique y est incluse. paymentOutput

Strands SDK

Le plugin de AgentCore paiement fournit un traitement automatique des paiements pour Strands Agents. Il prend en charge le protocole x402 Payment Required, qui permet aux agents de gérer automatiquement les réponses HTTP 402.

Installation:

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

Configurez et utilisez le 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")

Le plugin de AgentCore paiement intercepte automatiquement les demandes de paiement x402, traite le paiement et réessaie la demande avec une preuve de paiement pour l'agent.

LangGraph

L'intergiciel de AgentCore paiement fournit un traitement automatisé des paiements aux LangGraph agents. Il prend en charge le protocole x402 Payment Required, qui permet aux agents de gérer automatiquement les réponses HTTP 402.

Installation:

pip install 'bedrock-agentcore[langgraph]'

Configurez et utilisez le 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)

L'intergiciel de AgentCore paiement intercepte automatiquement les demandes de paiement x402, traite le paiement et réessaie la demande avec une preuve de paiement pour l'agent.

Intégrations du framework

Pour une documentation de référence complète, y compris la gestion des erreurs, les options de configuration et les outils intégrés, voir Intégrations au framework.

Cadre Type d’intégration Référence

Agents à mèches

Plugin (basé sur un crochet)

Gestion des interruptions, options de configuration, outils intégrés

LangGraph

Middleware (bloque les appels aux outils)

Rappels d'erreur, listes d'autorisation, support asynchrone, options de configuration