View a markdown version of this page

Memproses pembayaran - Batuan Dasar Amazon AgentCore

Memproses pembayaran

Untuk memproses pembayaran, Anda memerlukan dua sumber daya:

Setelah keduanya ada, hubungi ProcessPayment dengan ID sesi pembayaran, ID instrumen pembayaran, dan payload pembayaran x402. Layanan memvalidasi permintaan, memeriksa anggaran, menandatangani transaksi pada blockchain yang sesuai, dan mengembalikan bukti kriptografi. Untuk skema permintaan dan respons lengkap, lihat ProcessPaymentdi Referensi API.

Tip

Anda dapat mengotomatiskan langkah-langkah di halaman ini dengan keterampilan AgentCore Pembayaran di toolkit AWS agen. Keterampilan ini adalah bagian dari plugin aws-agents dan memungkinkan agen pengkodean AI membuat Manajer Pembayaran, konektor, penyedia kredensi, instrumen pembayaran, dan sesi menggunakan agentcore CLI, dan menambahkan alat pembayaran x402 ke agen Anda. Untuk detailnya, lihat mulai cepat dan toolkit AWS agen aktif. GitHub

Ada lima cara untuk menjalankan ProcessPayment API:

contoh
AgentCore CLI

Jika agen Anda digunakan dengan kemampuan pembayaran yang dikonfigurasi, panggil dengan konteks pembayaran dan pencegat x402 menangani pemrosesan pembayaran secara otomatis:

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

Untuk menggunakan sesi eksplisit alih-alih membuat sesi otomatis:

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

Plugin x402 agen yang diterapkan mencegat respons HTTP 402, panggilanProcessPayment, dan mencoba ulang permintaan dengan bukti. Membutuhkan AgentCore CLI v0.19.0 atau yang lebih baru.

AgentCore SDK

Gunakan PaymentManager kelas untuk menghasilkan header pembayaran secara manual dalam kerangka kerja agen apa pun:

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_headersberisi header bukti pembayaran. Sertakan header ini saat mencoba kembali permintaan ke titik akhir berbayar. Anda juga dapat memanggil process_payment metode PaymentManager untuk kontrol lebih besar atas 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

Hubungi process_payment langsung dengan muatan x402 penuh:

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

Respons:

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

A status PROOF_GENERATED menunjukkan transaksi ditandatangani dan bukti kriptografi disertakan di paymentOutput dalamnya.

Strands SDK

Plugin AgentCore pembayaran menyediakan pemrosesan pembayaran otomatis untuk Agen Strands. Ini mendukung protokol X402 Payment Required, memungkinkan agen untuk secara otomatis menangani respons HTTP 402.

Instalasi:

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

Konfigurasikan dan gunakan 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")

Plugin AgentCore pembayaran mencegat permintaan pembayaran x402 secara otomatis, memproses pembayaran, dan mencoba ulang permintaan dengan bukti pembayaran untuk agen.

LangGraph

Middleware AgentCore pembayaran menyediakan pemrosesan pembayaran otomatis untuk LangGraph agen. Ini mendukung protokol X402 Payment Required, memungkinkan agen untuk secara otomatis menangani respons HTTP 402.

Instalasi:

pip install 'bedrock-agentcore[langgraph]'

Konfigurasikan dan gunakan 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)

Middleware AgentCore pembayaran mencegat permintaan pembayaran x402 secara otomatis, memproses pembayaran, dan mencoba ulang permintaan dengan bukti pembayaran untuk agen.

Integrasi kerangka

Untuk dokumentasi referensi lengkap termasuk penanganan kesalahan, opsi konfigurasi, dan alat bawaan, lihat Integrasi kerangka kerja.

Kerangka Kerja Tipe integrasi Referensi

Agen Helai

Plugin (berbasis kait)

Penanganan interupsi, opsi konfigurasi, alat bawaan

LangGraph

Middleware (membungkus panggilan alat)

Kesalahan callback, allowlist, dukungan async, opsi konfigurasi