- Console
-
Langkah 1: Buka halaman Pembayaran
Langkah 2: Konfigurasikan detail Manajer Pembayaran
-
Untuk Nama, masukkan nama untuk Manajer Pembayaran Anda. Nama harus dimulai dengan huruf. Karakter yang valid adalaha–z,A–Z,0–9. Nama dapat memiliki hingga 48 karakter.
-
(Opsional) Pilih Deskripsi untuk memperluas bagian, lalu masukkan deskripsi untuk membantu mengidentifikasi Manajer Pembayaran ini.
Langkah 3: Konfigurasikan izin
Bagian Izin menentukan izin untuk Manajer Pembayaran ini dan AWS sumber daya yang dapat diakses pembayaran.
Untuk Izin IAM, pilih salah satu opsi berikut:
-
Buat dan gunakan peran layanan baru — Pembayaran Amazon Bedrock AgentCore membuat peran layanan baru atas nama Anda. Nama peran layanan default dibuat secara otomatis. Untuk informasi selengkapnya, lihat Izin peran layanan.
-
Gunakan peran layanan yang sudah ada — Gunakan peran layanan yang telah Anda buat. Jika Anda memilih opsi ini, pilih peran dari daftar dropdown.
Langkah 4: Konfigurasikan otorisasi masuk
Otorisasi masuk mengontrol siapa yang dapat mengakses Manajer Pembayaran ini. Di bagian Auth Masuk, untuk jenis Aut h Masuk, pilih salah satu opsi berikut:
Untuk menggunakan otorisasi IAM:
-
Pilih Gunakan nama pengguna IAM. Ini menggunakan nama pengguna IAM yang Anda gunakan untuk masuk ke AWS konsol.
Untuk menggunakan otorisasi JWT dengan Amazon Cognito:
-
Pilih Gunakan Token Web JSON (JWT).
-
Untuk konfigurasi skema JWT, pilih Buat konfigurasi cepat dengan Cognito - disarankan. AgentCore Pembayaran Amazon Bedrock membuat konfigurasi otorisasi masuk atas nama Anda menggunakan Amazon Cognito sebagai penyedia identitas. Tidak diperlukan konfigurasi tambahan.
Untuk menggunakan otorisasi JWT dengan penyedia identitas yang ada:
-
Pilih Gunakan Token Web JSON (JWT).
-
Untuk konfigurasi skema JWT, pilih Gunakan konfigurasi penyedia Identitas yang ada. Opsi ini memungkinkan Anda membawa konfigurasi otorisasi masuk yang ada dari penyedia identitas mana pun untuk mengaktifkan OAuth 2.0.
-
Untuk URL Discovery, masukkan URL penemuan dari penyedia identitas Anda (misalnya, Okta atau Cognito), biasanya ditemukan dalam dokumentasi penyedia tersebut. Ini memungkinkan agen atau alat Anda untuk mengambil login, token sumber daya hilir, dan pengaturan verifikasi. Misalnya, https://accounts.cognito.com/.well-known/openid-configuration.
-
Untuk Audiens yang Diizinkan, masukkan ID klien yang terdaftar dengan penyedia identitas atau string sewenang-wenang apa pun dalam klaim audiens JWT bahwa otorisasi harus memverifikasi. Pilih + Tambahkan audiens untuk menambahkan audiens tambahan.
-
Untuk Kli en yang Diizinkan, masukkan ID klien yang terdaftar dengan penyedia identitas atau string sewenang-wenang apa pun dalam klaim audiens JWT bahwa otorisasi harus memverifikasi. Pilih + Tambahkan klien untuk menambahkan klien tambahan.
-
Untuk C akupan yang diizinkan, masukkan cakupan yang diperlukan. Akses hanya diizinkan jika token berisi setidaknya satu dari cakupan yang diperlukan yang dikonfigurasi di sini. Pilih + Tambahkan cakupan untuk menambahkan cakupan tambahan.
-
(Opsional) Untuk klaim kustom, tentukan aturan yang mencocokkan klaim tertentu dalam token masuk dengan nilai yang telah ditentukan sebelumnya. Untuk setiap aturan, tentukan Nama klaim, Jenis String, Operator, dan Nilai. Pilih + Tambahkan klaim untuk menambahkan klaim tambahan.
Langkah 5: Tambahkan konektor pembayaran (opsional)
Konektor pembayaran menyimpan kredenSIAL dan konfigurasi yang diperlukan untuk terhubung dengan penyedia layanan pembayaran. Menambahkan konektor selama pembuatan adalah opsional, tetapi konektor diperlukan untuk layanan untuk memproses pembayaran.
-
Di bagian Pembayaran konektor: Konektor Baru, untuk Nama, masukkan nama untuk konektor. Karakter yang valid adalaha–z,A–Z,0–9, dan _ (garis bawah). Nama dapat memiliki hingga 48 karakter.
-
(Opsional) Pilih Deskripsi untuk memperluas bagian, lalu masukkan deskripsi untuk konektor.
-
Di bagian Auth pembayaran, jika Anda ingin menggunakan kembali autentikasi pembayaran (penyedia kredensia pembayaran) yang sebelumnya dibuat di AgentCore Identitas, pilih autentikasi pembayaran yang ada dari dropdown; atau pilih buat yang baru untuk membuat autentikasi pembayaran baru. Jika Anda memilih untuk membuat yang baru, lihat Membuat autentikasi pembayaran.
-
(Opsional) Untuk menambahkan konektor tambahan, pilih + Tambahkan konektor dan ulangi langkah-langkah di atas.
Buat autentikasi pembayaran
Saat Anda memilih buat yang baru di bagian Auth Pemb ayaran konektor, panel Buat autentikasi pembayaran terbuka. Di panel ini, Anda mengonfigurasi autentikasi pembayaran baru — penyedia kredensia pembayaran yang disimpan di AgentCore Identitas.
-
Untuk Nama autentikasi Pembay aran, masukkan nama untuk autentikasi pembayaran. Karakter yang valid adalaha–z,A–Z,0–9, _ (garis bawah), dan - (tanda hubung).
-
Untuk Penyedia pembayaran, pilih penyedia pembayaran dari dropdown. Penyedia yang tersedia adalah Coinbase dan Stripe (Privy).
Jika Anda memilih Coinbase, pilih cara memberikan kredenSIAL untuk autentikasi pembayaran:
-
Konfigurasi buat cepat - disarankan - Pembuatan cepat memungkinkan Anda menautkan ke akun CDP Coinbase Anda dan membiarkan AgentCore pembayaran membuat kredenSIAL untuk Anda tanpa meninggalkan konsol. AgentCore Ini membuka jendela untuk mendaftar atau masuk ke akun Coinbase CDP Anda. Layanan kemudian menyediakan kunci Coinbase CDP API dan rahasia Dompet dan menyimpannya sebagai autentikasi pembayaran atas nama Anda. Anda tidak menghasilkan atau menempelkan kunci apa pun.
-
Gunakan konfigurasi yang ada — Berikan kredenSIAL CDP Coinbase yang Anda buat sendiri di Platform Pengembang Coinbase.
Gunakan Quick create
Jika Anda memilih Konfigur asi buat cepat - disarankan, AgentCore pembayaran membuat autentikasi pembayaran untuk Anda setelah Anda mengotorisasi akses melalui Coinbase. Selesaikan langkah-langkah berikut:
-
Pilih Cepat buat konfigurasi - disarankan.
-
Pilih Buat autentikasi pembayaran. Jendela Coinbase terbuka dan menampilkan koneksi Coinbase yang sedang berlangsung.
-
Di jendela Coinbase, masuk atau daftar dengan alamat email dan nomor telepon Anda, lalu pilih atau buat proyek CDP Coinbase.
-
Tinjau akses yang diminta, dan kemudian otorisasi AgentCore pembayaran untuk membuat dan mengelola kredenSIAL untuk proyek CDP Coinbase Anda.
-
Ketika otorisasi selesai, jendela Coinbase menampilkan Coinbase terhubung dan ditutup. AgentCore pembayaran menyediakan kunci API CDP Coinbase dan rahasia Dompet. Layanan menyimpannya dengan aman di Manajer AWS Rahasia dan membuat autentikasi pembayaran atas nama Anda.
Quick create tidak mendukung penautan ke proyek yang sudah ada dengan Rahasia Dompet. Jika proyek Coinbase yang Anda otorisasi sudah memiliki Rahasia Dompet, AgentCore pembayaran berhenti tanpa memutarnya. Sebagai gantinya, pilih Gunakan konfigurasi yang ada dan berikan kredenSIAL Anda secara manual.
Gunakan konfigurasi yang ada
Jika Anda memilih Gunakan konfigurasi yang ada, lengkapi bidang berikut di bawah Konfigurasi penyedia pembayaran, lalu pilih Buat autentikasi pembayaran:
-
Untuk ID kunci API, masukkan pengenal unik untuk kredenSIAL akun Coinbase CDP Anda.
-
Untuk rahasia kunci API, masukkan kunci pribadi yang digunakan untuk mengotentikasi dan menandatangani permintaan ke Coinbase CDP.
-
Untuk Rah asia Dompet, masukkan kunci pribadi asimetris yang digunakan untuk mengotentikasi operasi penulisan dompet sensitif.
Jika Anda memilih Coinbase sebagai penyedia, akun Anda harus memiliki langganan AWS Marketplace aktif ke daftar Coinbase Wallets for Pay AgentCore ments. Ini adalah langganan satu kali untuk AWS akun. Dengan langganan ini, biaya penggunaan dompet Coinbase Anda dikonsolidasikan ke dalam AWS tagihan bulanan Anda berdasarkan harga Coinbase di situs web Coinbase. Jika tidak, pembuatan konektor gagal dengan SubscriptionRequiredException (HTTP 403). Jika Anda tidak berlangganan, konsol menampilkan Ber langganan Coinbase untuk mengaktifkan penagihan melalui AWS
peringatan dengan tombol Ber langganan yang dapat Anda gunakan untuk berlangganan tanpa meninggalkan wizard. Untuk informasi selengkapnya, lihat Ber langganan Dompet Coinbase untuk AgentCore Pembayaran di AWS Marketplace.
Jika Anda memilih Stripe (Privy), lengkapi kolom berikut di bawah Konfigurasi penyedia pembayaran, lalu pilih Buat autentikasi pembayaran:
-
Untuk ID Aplikasi, masukkan pengidentifikasi unik untuk kredenSIAL akun Privy Anda.
-
Untuk Rahasia aplikasi, masukkan kunci pribadi yang digunakan untuk mengotentikasi dan menandatangani permintaan ke aplikasi Privy.
-
Untuk ID Otorisasi, masukkan pengidentifikasi unik untuk entitas otorisasi.
-
Untuk Kunci pribadi Otorisasi, masukkan kunci pribadi yang digunakan untuk menandatangani permintaan otorisasi.
Langkah 6: Buat Manajer Pembayaran
-
Tinjau konfigurasi Anda, lalu pilih Buat Manajer Pembayaran.
Setelah Anda memilih Buat Manajer Pembayaran, konsol akan menavigasi ke halaman detail Manajer Pembayaran. Spanduk sukses mengonfirmasi bahwa Manajer Pembayaran telah dibuat dan menyediakan langkah-langkah berikut:
-
Siapkan instrumen pembayaran dan sesi, tentukan anggaran secara opsional.
-
Integrasikan Manajer Pembayaran ke dalam kerangka kerja agen Anda.
-
Temukan alat dan titik akhir MCP berbayar.
-
Aktifkan pengiriman log dan pelacakan untuk melihat metrik di dasbor pengamatan.
Halaman detail Manajer Pembayaran mencakup bagian untuk Konektor Pembayaran, Tem plat kode Integrasi, Aut h Masuk, Metrik Peng amatan, dan Konfigurasi pengiriman dan pel acakan Log.
- AgentCore CLI
-
AgentCore CLI membuat penyedia kredensia, Manajer Pembayaran, dan Konektor Pembayaran bersama-sama dari direktori proyek Anda. Membutuhkan CLI v0.19.0 atau yang lebih baru.
Wizard interaktif:
agentcore add payment-manager
Wizard meminta nama manajer, pola, sakelar pembayaran otomatis, batas pengeluaran, dan secara opsional berjalan melalui penambahan konektor dengan kredenSIAL penyedia.
Coinbase - Buat cepat (disarankan):
Buat cepat menyediakan penyedia kredensia Coinbase untuk Anda, sehingga Anda tidak meneruskan kunci API apa pun. Tambahkan konektor dengan --provision-mode QUICK_CREATE bendera, lalu terapkan:
agentcore add payment-connector \
--manager MyPaymentManager \
--name CoinbaseConnector \
--provider CoinbaseCDP \
--provision-mode QUICK_CREATE
agentcore deploy
CLI membuka aliran otorisasi Coinbase. Setelah Anda mengotorisasi, layanan menyediakan kredenSIAL dan konektor mencapaiREADY.
Coinbase CDP — Aliran manual (non-interaktif):
agentcore add payment-manager \
--name MyPaymentManager \
--auto-payment \
--default-spend-limit 10.00
agentcore add payment-connector \
--manager MyPaymentManager \
--name CoinbaseConnector \
--provider CoinbaseCDP \
--api-key-id <YOUR_API_KEY_ID> \
--api-key-secret <YOUR_API_KEY_SECRET> \
--wallet-secret <YOUR_WALLET_SECRET>
agentcore deploy
Stripe (Privy) — Alur manual (non-interaktif):
agentcore add payment-manager \
--name MyPaymentManager \
--auto-payment \
--default-spend-limit 10.00
agentcore add payment-connector \
--manager MyPaymentManager \
--name StripePrivyConnector \
--provider StripePrivy \
--app-id <YOUR_APP_ID> \
--app-secret <YOUR_APP_SECRET> \
--authorization-id <YOUR_AUTHORIZATION_ID> \
--authorization-private-key <YOUR_PRIVATE_KEY_BASE64>
agentcore deploy
Menjalankan agentcore deploy menyediakan peran IAM, menyimpan kredenSIAL di AgentCore Identitas, dan membuat Manajer Pembayaran dan Konektor.
- AgentCore SDK
-
AgentCore SDK mendukung pembuatan cepat Coinbase (ditampilkan terlebih dahulu) dan penyediaan manual. Contoh manual yang mengikuti kredentif penyedia pass secara langsung. Mereka menggunakan metode kenyamanancreate_payment_manager_with_connector, yang membuat Manajer Pembayaran, penyedia kredensia, dan konektor dalam satu panggilan.
Coinbase - Buat cepat (disarankan):
Dengan Quick create, Anda membuat konektor dengan credential_provider_configurations daftar kosong danprovision_mode="QUICK_CREATE". Konektor mengembalikan status PENDING_AUTHENTICATION dan URL otorisasi. Setelah Anda mengotorisasi melalui Coinbase, layanan menyediakan penyedia kredensia dan konektor yang dijangkau. READY
import time
import webbrowser
from bedrock_agentcore.payments.client import PaymentClient
payment_client = PaymentClient(region_name="us-east-1")
connector = payment_client.create_payment_connector(
payment_manager_id="<paymentManagerId>",
name="CoinbaseConnector",
connector_type="CoinbaseCDP",
credential_provider_configurations=[],
provision_mode="QUICK_CREATE",
)
# Authorize through Coinbase using the returned URL.
webbrowser.open(connector["authorizationUrl"])
# Terminal states that mean provisioning did not succeed.
TERMINAL_FAILURES = {
"AUTHENTICATION_EXPIRED",
"AUTHENTICATION_FAILED",
"AWS_MARKETPLACE_SUBSCRIPTION_REQUIRED",
"CREATE_FAILED",
}
# Poll until the connector reaches READY or fails.
while True:
response = payment_client.get_payment_connector(
payment_connector_id=connector["paymentConnectorId"]
)
status = response["status"]
if status == "READY":
break
if status in TERMINAL_FAILURES:
raise RuntimeError(f"Connector provisioning failed: {status}")
time.sleep(5)
URL otorisasi berlaku selama sekitar 10 menit. Jika kedaluwarsa, konektor bertransisi ke AUTHENTICATION_EXPIRED dan Anda membuatnya kembali.
Coinbase CDP dengan otorisasi IAM:
from bedrock_agentcore.payments.client import PaymentClient
payment_client = PaymentClient(region_name="us-east-1")
response = payment_client.create_payment_manager_with_connector(
payment_manager_name="MyPaymentManager",
payment_manager_description="Payment manager for my agent.",
authorizer_type="AWS_IAM",
role_arn="arn:aws:iam::123456789012:role/MyPaymentRole",
payment_connector_config={
"name": "CoinbaseConnector",
"description": "Coinbase CDP connector",
"payment_credential_provider_config": {
"name": "MyCoinbaseProvider",
"credential_provider_vendor": "CoinbaseCDP",
"credentials": {
"api_key_id": "your-api-key-id",
"api_key_secret": "your-api-key-secret",
"wallet_secret": "your-wallet-secret",
},
},
},
wait_for_ready=True,
max_wait=300,
poll_interval=5,
)
payment_manager = response.get("paymentManager", {})
payment_connector = response.get("paymentConnector", {})
credential_provider = response.get("credentialProvider", {})
payment_manager_arn = payment_manager.get("paymentManagerArn")
payment_connector_id = payment_connector.get("paymentConnectorId")
print(f"Payment Manager ARN: {payment_manager_arn}")
print(f"Connector ID: {payment_connector_id}")
Coinbase CDP dengan otorisasi JWT:
from bedrock_agentcore.payments.client import PaymentClient
payment_client = PaymentClient(region_name="us-east-1")
response = payment_client.create_payment_manager_with_connector(
payment_manager_name="CoinbasePaymentManagerJWT",
payment_manager_description="Coinbase Payment Manager (JWT auth)",
authorizer_type="CUSTOM_JWT",
role_arn="arn:aws:iam::123456789012:role/BedrockAgentCoreFullAccess",
payment_connector_config={
"name": "coinbase-connector-jwt",
"description": "Coinbase Connector (JWT)",
"payment_credential_provider_config": {
"name": "my-coinbase-provider-jwt",
"credential_provider_vendor": "CoinbaseCDP",
"credentials": {
"api_key_id": "your-api-key-id",
"api_key_secret": "your-api-key-secret",
"wallet_secret": "your-wallet-secret",
},
},
},
wait_for_ready=True,
)
manager_arn = response["paymentManager"]["paymentManagerArn"]
connector_id = response["paymentConnector"]["paymentConnectorId"]
provider_arn = response["credentialProvider"]["credentialProviderArn"]
Stripe (Privy) dengan otorisasi IAM:
from bedrock_agentcore.payments.client import PaymentClient
payment_client = PaymentClient(region_name="us-east-1")
response = payment_client.create_payment_manager_with_connector(
payment_manager_name="StripePaymentManager",
payment_manager_description="Stripe + Privy Payment Manager (IAM auth)",
authorizer_type="AWS_IAM",
role_arn="arn:aws:iam::123456789012:role/BedrockAgentCoreFullAccess",
payment_connector_config={
"name": "stripe-privy-connector",
"description": "Stripe + Privy Connector",
"payment_credential_provider_config": {
"name": "my-stripe-privy-provider",
"credential_provider_vendor": "StripePrivy",
"credentials": {
"app_id": "your-privy-app-id",
"app_secret": "your-privy-app-secret",
"authorization_private_key": "your-authorization-private-key",
"authorization_id": "your-authorization-id",
},
},
},
wait_for_ready=True,
)
manager_arn = response["paymentManager"]["paymentManagerArn"]
connector_id = response["paymentConnector"]["paymentConnectorId"]
provider_arn = response["credentialProvider"]["credentialProviderArn"]
Stripe (Privy) dengan otorisasi JWT:
from bedrock_agentcore.payments.client import PaymentClient
payment_client = PaymentClient(region_name="us-east-1")
response = payment_client.create_payment_manager_with_connector(
payment_manager_name="StripePaymentManagerJWT",
payment_manager_description="Stripe + Privy Payment Manager (JWT auth)",
authorizer_type="CUSTOM_JWT",
role_arn="arn:aws:iam::123456789012:role/BedrockAgentCoreFullAccess",
payment_connector_config={
"name": "stripe-privy-connector-jwt",
"description": "Stripe + Privy Connector (JWT)",
"payment_credential_provider_config": {
"name": "my-stripe-privy-provider-jwt",
"credential_provider_vendor": "StripePrivy",
"credentials": {
"app_id": "your-privy-app-id",
"app_secret": "your-privy-app-secret",
"authorization_private_key": "your-authorization-private-key",
"authorization_id": "your-authorization-id",
},
},
},
wait_for_ready=True,
)
manager_arn = response["paymentManager"]["paymentManagerArn"]
connector_id = response["paymentConnector"]["paymentConnectorId"]
provider_arn = response["credentialProvider"]["credentialProviderArn"]
- AWS CLI
-
Buat Manajer Pembayaran dengan otorisasi IAM:
aws bedrock-agentcore-control create-payment-manager \
--name "MyPaymentManager" \
--authorizer-type AWS_IAM \
--role-arn "arn:aws:iam::123456789012:role/AgentCorePaymentsResourceRetrievalRole" \
--region us-east-1
Buat Manajer Pembayaran dengan otorisasi JWT:
aws bedrock-agentcore-control create-payment-manager \
--name "MyPaymentManager" \
--authorizer-type CUSTOM_JWT \
--role-arn "arn:aws:iam::123456789012:role/AgentCorePaymentsResourceRetrievalRole" \
--custom-jwt-authorizer-configuration '{
"discoveryUrl": "https://cognito-idp.us-east-1.amazonaws.com/us-east-1_EXAMPLE/.well-known/openid-configuration",
"allowedAudience": ["your-client-id"],
"allowedClients": ["your-client-id"]
}' \
--region us-east-1
Status Manajer Pembayaran dimulai sebagai CREATING dan beralih ke READY saat penyediaan selesai.
Coinbase - Buat cepat (disarankan):
Dengan Quick create, Anda membuat konektor dengan daftar konfigurasi kredensial-penyedia kosong dan. --provision-mode QUICK_CREATE Anda tidak membuat penyedia kredensia terlebih dahulu.
aws bedrock-agentcore-control create-payment-connector \
--payment-manager-id <paymentManagerId> \
--name "CoinbaseConnector" \
--type CoinbaseCDP \
--credential-provider-configurations '[]' \
--provision-mode QUICK_CREATE \
--region us-east-1
Tanggapan memiliki status PENDING_AUTHENTICATION danauthorizationUrl. Buka URL, otorisasi melalui Coinbase, dan kemudian jajak pendapat get-payment-connector hingga statusnya. READY URL valid selama sekitar 10 menit; jika kedaluwarsa, konektor beralih ke AUTHENTICATION_EXPIRED dan Anda membuatnya kembali.
Alur manual: Dengan alur manual, Anda membuat penyedia kredensia pembayaran dan kemudian mereferensikan ARN-nya saat Anda membuat konektor. Ini adalah satu-satunya aliran untuk Stripe (Privy).
Setelah Manajer Pembayaran siap, buat penyedia kredensia pembayaran:
Contoh berikut membuat penyedia kredensia pembayaran untuk Coinbase CDP:
aws bedrock-agentcore-control create-payment-credential-provider \
--name "coinbase-provider" \
--credential-provider-vendor CoinbaseCDP \
--provider-configuration-input '{
"coinbaseCdpConfiguration": {
"apiKeyId": "your-coinbase-api-key-id",
"apiKeySecret": "your-coinbase-api-key-secret",
"walletSecret": "your-coinbase-wallet-secret"
}
}' \
--region us-east-1
Contoh berikut membuat penyedia kredensia pembayaran untuk Stripe Privy:
aws bedrock-agentcore-control create-payment-credential-provider \
--name "stripe-privy-provider" \
--credential-provider-vendor StripePrivy \
--provider-configuration-input '{
"stripePrivyConfiguration": {
"appId": "your-stripe-privy-app-id",
"appSecret": "your-stripe-privy-app-secret",
"authorizationPrivateKey": "your-stripe-privy-authorization-private-key",
"authorizationId": "your-stripe-privy-authorization-id"
}
}' \
--region us-east-1
Setelah penyedia kredensi siap, buat konektor:
aws bedrock-agentcore-control create-payment-connector \
--payment-manager-id <paymentManagerId> \
--name "CoinbaseConnector" \
--type CoinbaseCDP \
--credential-provider-configurations '[{
"coinbaseCDP": {
"credentialProviderArn": "arn:aws:bedrock-agentcore:us-east-1:123456789012:token-vault/default/paymentcredentialprovider/my-cdp-provider"
}
}]' \
--region us-east-1
- AWS SDK
-
Buat Manajer Pembayaran dengan otorisasi IAM:
import boto3
client = boto3.client("bedrock-agentcore-control", region_name="us-east-1")
# Create PaymentManager with IAM authorization
payment_manager = client.create_payment_manager(
name="MyPaymentManager",
authorizerType="AWS_IAM",
roleArn="arn:aws:iam::123456789012:role/AgentCorePaymentsResourceRetrievalRole"
)
print(f"Payment Manager ID: {payment_manager['paymentManagerId']}")
Buat Manajer Pembayaran dengan otorisasi JWT:
payment_manager = client.create_payment_manager(
name="MyPaymentManager",
authorizerType="CUSTOM_JWT",
roleArn="arn:aws:iam::123456789012:role/AgentCorePaymentsResourceRetrievalRole",
customJWTAuthorizerConfiguration={
"discoveryUrl": "https://cognito-idp.us-east-1.amazonaws.com/us-east-1_EXAMPLE/.well-known/openid-configuration",
"allowedAudience": ["your-client-id"],
"allowedClients": ["your-client-id"],
"allowedScopes": ["payments:write"],
"customClaims": [
{
"claimName": "tenant_id",
"claimValue": "your-unique-tenant-id",
"operation": "EQUALS"
}
]
}
)
Coinbase - Buat cepat (disarankan):
Dengan Quick create, Anda membuat konektor dengan credentialProviderConfigurations daftar kosong danprovisionMode="QUICK_CREATE". Anda tidak membuat penyedia kredensia terlebih dahulu.
# Create a Coinbase connector with Quick create
connector = client.create_payment_connector(
paymentManagerId=payment_manager["paymentManagerId"],
name="CoinbaseConnector",
type="CoinbaseCDP",
credentialProviderConfigurations=[],
provisionMode="QUICK_CREATE"
)
print(f"Status: {connector['status']}")
print(f"Authorization URL: {connector.get('authorizationUrl')}")
Konektor mengembalikan status PENDING_AUTHENTICATION danauthorizationUrl. Buka URL, otorisasi melalui Coinbase, dan kemudian jajak pendapat get_payment_connector hingga statusnya. READY URL valid selama sekitar 10 menit; jika kedaluwarsa, konektor beralih ke AUTHENTICATION_EXPIRED dan Anda membuatnya kembali.
Alur manual: Dengan alur manual, Anda membuat penyedia kredensia pembayaran dan kemudian mereferensikan ARN-nya saat Anda membuat konektor. Ini adalah satu-satunya aliran untuk Stripe (Privy).
Setelah Manajer Pembayaran mencapai READY status, buat penyedia kredensia pembayaran:
Contoh berikut mengonfigurasi penyedia untuk Coinbase CDP:
import boto3
client = boto3.client("bedrock-agentcore-control", region_name="us-east-1")
coinbase_provider = client.create_payment_credential_provider(
name="coinbase-provider",
credentialProviderVendor="CoinbaseCDP",
providerConfigurationInput={
"coinbaseCdpConfiguration": {
"apiKeyId": "your-coinbase-api-key-id",
"apiKeySecret": "your-coinbase-api-key-secret",
"walletSecret": "your-coinbase-wallet-secret"
}
}
)
Contoh berikut mengonfigurasi penyedia untuk Stripe Privy:
import boto3
client = boto3.client("bedrock-agentcore-control", region_name="us-east-1")
stripe_privy_provider = client.create_payment_credential_provider(
name="stripe-privy-provider",
credentialProviderVendor="StripePrivy",
providerConfigurationInput={
"stripePrivyConfiguration": {
"appId": "your-stripe-privy-app-id",
"appSecret": "your-stripe-privy-app-secret",
"authorizationPrivateKey": "your-stripe-privy-authorization-private-key",
"authorizationId": "your-stripe-privy-authorization-id"
}
}
)
Setelah membuat penyedia kredensia pembayaran, buat konektor:
# Create PaymentConnector for Coinbase CDP
payment_connector = client.create_payment_connector(
paymentManagerId=payment_manager["paymentManagerId"],
name="CoinbaseConnector",
type="CoinbaseCDP",
credentialProviderConfigurations=[
{
"coinbaseCDP": {
"credentialProviderArn": "arn:aws:bedrock-agentcore:us-east-1:123456789012:token-vault/default/paymentcredentialprovider/my-cdp-provider"
}
}
]
)
print(f"Connector ID: {payment_connector['paymentConnectorId']}")
Untuk Stripe (Privy), gunakan varian stripePrivy konfigurasi:
# Create PaymentConnector for Stripe (Privy)
payment_connector = client.create_payment_connector(
paymentManagerId=payment_manager["paymentManagerId"],
name="StripePrivyConnector",
type="StripePrivy",
credentialProviderConfigurations=[
{
"stripePrivy": {
"credentialProviderArn": "arn:aws:bedrock-agentcore:us-east-1:123456789012:token-vault/default/paymentcredentialprovider/my-privy-provider"
}
}
]
)