View a markdown version of this page

Eine Zahlung verarbeiten - Amazon Grundgestein AgentCore

Eine Zahlung verarbeiten

Um eine Zahlung zu verarbeiten, benötigen Sie zwei Ressourcen:

Sobald beide vorhanden sind, rufen Sie ProcessPayment mit der Zahlungssitzungs-ID, der Zahlungsinstrumenten-ID und einer x402-Payload an. Der Service validiert die Anfrage, prüft das Budget, signiert die Transaktion in der entsprechenden Blockchain und gibt einen kryptografischen Nachweis zurück. Das vollständige Anfrage- und Antwortschema finden Sie ProcessPaymentin der API-Referenz.

Tipp

Sie können die Schritte auf dieser Seite mit dem Skill „ AgentCore Zahlungen“ im AWS Agenten-Toolkit automatisieren. Der Skill ist Teil des aws-agents-Plug-ins und ermöglicht es einem KI-Codierungsagenten, Ihren Zahlungsmanager, Ihren Connector, Ihren Anmeldeinformationsanbieter, Ihr Zahlungsinstrument und Ihre Sitzung mithilfe der agentcore CLI zu erstellen und Ihrem Agenten ein x402-Zahlungstool hinzuzufügen. Einzelheiten finden Sie im Schnellstart und im Agenten-Toolkit unter.AWS GitHub

Es gibt fünf Möglichkeiten, die API aufzurufen: ProcessPayment

Beispiel
AgentCore CLI

Wenn Ihr Agent mit konfigurierten Zahlungsfunktionen bereitgestellt wird, rufen Sie ihn mit Zahlungskontext auf und der x402-Interceptor wickelt die Zahlungsabwicklung automatisch ab:

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

Um eine explizite Sitzung zu verwenden, anstatt eine automatisch zu erstellen:

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

Das x402-Plug-In des bereitgestellten Agenten fängt HTTP 402-Antworten abProcessPayment, ruft auf und wiederholt die Anfrage mit Nachweis. Erfordert AgentCore CLI v0.19.0 oder höher.

AgentCore SDK

Verwenden Sie die PaymentManager Klasse, um Zahlungskopfzeilen manuell innerhalb eines beliebigen Agent-Frameworks zu generieren:

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_headersenthält den Header des Zahlungsnachweises. Fügen Sie diesen Header hinzu, wenn Sie erneut versuchen, die Anfrage an den kostenpflichtigen Endpunkt zu senden. Sie können auch die process_payment Methode von aufrufen, PaymentManager um mehr Kontrolle über Eingaben zu erhalten.

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

Rufen Sie process_payment direkt mit der vollständigen x402-Nutzlast auf:

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

Antwort:

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

Ein status von PROOF_GENERATED gibt an, dass die Transaktion signiert wurde und der kryptografische Nachweis in enthalten ist. paymentOutput

Strands SDK

Das AgentCore Zahlungs-Plugin bietet eine automatisierte Zahlungsabwicklung für Strands Agents. Es unterstützt das Protokoll x402 Payment Required, sodass Agenten HTTP 402-Antworten automatisch verarbeiten können.

Installation (Installation):

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

Konfigurieren und verwenden Sie das 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")

Das AgentCore Zahlungs-Plugin fängt x402-Zahlungsanfragen automatisch ab, verarbeitet die Zahlung und wiederholt die Anfrage mit dem Zahlungsnachweis für den Agenten.

LangGraph

Die AgentCore Zahlungs-Middleware bietet eine automatisierte Zahlungsabwicklung für Agenten. LangGraph Sie unterstützt das Protokoll x402 Payment Required, sodass Agenten HTTP 402-Antworten automatisch verarbeiten können.

Installation (Installation):

pip install 'bedrock-agentcore[langgraph]'

Konfigurieren und verwenden Sie die 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)

Die AgentCore Zahlungs-Middleware fängt x402-Zahlungsanforderungen automatisch ab, verarbeitet die Zahlung und wiederholt die Anfrage mit dem Zahlungsnachweis für den Agenten.

Framework-Integrationen

Eine vollständige Referenzdokumentation, einschließlich Fehlerbehandlung, Konfigurationsoptionen und integrierten Tools, finden Sie unter Framework-Integrationen.

Framework Integrationstyp Referenz

Strands, Agenten

Plugin (Hook-basiert)

Behandlung von Interrupts, Konfigurationsoptionen, integrierte Tools

LangGraph

Middleware (umschließt Tool-Aufrufe)

Fehlerrückrufe, Zulassungslisten, asynchrone Unterstützung, Konfigurationsoptionen