Payment Manager とコネクタを作成する
Payment Manager は、 AWS アカウントの支払いオペレーションを調整する最上位のリソースです。Payment Manager を作成するときは、オーソライザータイプと IAM ロールを指定し、サービスは AgentCore Identity で対応するワークロード ID をプロビジョニングします。
このガイドでは、 Payment Manager を作成し、 AWS マネジメントコンソールまたは AWS SDK を使用して Payment Connector をアタッチする方法について説明します。リクエストとレスポンスの完全なスキーマについては、 API リファレンスのCreatePaymentManager」とCreatePaymentConnector」を参照してください。
ヒント
エージェント AWS ツールキットの AgentCore Payments スキルを使用して、このページのステップを自動化できます。このスキルは aws-agents プラグインの一部であり、AI コーディングエージェントが agentcore CLI を使用して Payment Manager、コネクタ、認証情報プロバイダー、支払い手段、セッションを作成し、x402 支払いツールをエージェントに追加できるようにします。詳細については、GitHub のクイックスタートとエージェントツールキットを参照してください。 AWS GitHub
開始する前に、以下があることを確認してください。
Payment Manager を作成する
例
- Console
-
ステップ 1: 支払いページを開く
-
ナビゲーションペインのビルドで、支払いを選択します。
-
Payment Managers セクションで、「Create Payment Manager」を選択します。
ステップ 2: Payment Manager の詳細を設定する
-
Name に Payment Manager の名前を入力します。名前の最初は、文字で始まっている必要があります。有効な文字は
a–z、A–Z、 です0–9。名前は最大 48 文字です。 -
(オプション) Description を選択してセクションを展開し、この Payment Manager を識別するのに役立つ説明を入力します。
ステップ 3: アクセス許可を設定する
アクセス許可セクションでは、この Payment Manager のアクセス許可と、支払いがアクセスできる AWS リソースを指定します。
IAM アクセス許可 では、次のいずれかのオプションを選択します。
-
新しいサービスロールを作成して使用する — Amazon Bedrock AgentCore の支払いは、ユーザーに代わって新しいサービスロールを作成します。デフォルトのサービスロール名が自動的に生成されます。詳細については、「サービスロールのアクセス許可」を参照してください。
-
既存のサービスロールを使用する — 既に作成したサービスロールを使用します。このオプションを選択した場合は、ドロップダウンリストからロールを選択します。
ステップ 4: インバウンド認可を設定する
インバウンド認可は、この Payment Manager にアクセスできるユーザーを制御します。Inbound Auth セクションの Inbound Auth タイプで、次のいずれかのオプションを選択します。
IAM 認可を使用するには:
-
IAM ユーザー名を使用する を選択します。これは、 AWS コンソールへのサインインに使用した IAM ユーザー名を使用します。
Amazon Cognito で JWT 認可を使用するには:
-
JSON ウェブトークンの使用 (JWT) を選択します。
-
JWT スキーマ設定では、Cognito を使用したクイック作成設定 - 推奨を選択します。Amazon Bedrock AgentCore の支払いは、Amazon Cognito を ID プロバイダーとして使用して、ユーザーに代わってインバウンド認可設定を作成します。追加の設定は必要ありません。
既存の ID プロバイダーで JWT 認可を使用するには:
-
JSON ウェブトークンの使用 (JWT) を選択します。
-
JWT スキーマ設定で、既存の ID プロバイダー設定を使用するを選択します。このオプションを使用すると、任意の ID プロバイダーから既存のインバウンド認可設定を取り込んで、OAuth 2.0 を有効にすることができます。
-
Discovery URL には、ID プロバイダー (Okta や Cognito など) の検出 URL を入力します。通常、そのプロバイダーのドキュメントに記載されています。これにより、エージェントまたはツールはログイン、ダウンストリームリソーストークン、検証設定を取得できます。例えば、
https://accounts.cognito.com/.well-known/openid-configuration。 -
許可された対象者には、ID プロバイダーに登録されているクライアント IDs、またはオーソライザーが検証する必要がある JWT 対象者クレームの任意の文字列を入力します。+ 対象者を追加を選択して、対象者を追加します。
-
許可されたクライアントの場合、ID プロバイダーに登録されているクライアント IDs、またはオーソライザーが検証する必要がある JWT オーディエンスクレームの任意の文字列を入力します。+ クライアントを追加 を選択して、クライアントを追加します。
-
許可されたスコープには、必要なスコープを入力します。アクセスは、トークンにここで設定された必要なスコープが少なくとも 1 つ含まれている場合にのみ許可されます。+ スコープを追加 を選択して、スコープを追加します。
-
(オプション) カスタムクレームの場合、受信トークン内の特定のクレームと事前定義された値に一致するルールを定義します。ルールごとに、クレーム名、文字列タイプ、演算子、値を指定します。+ クレームを追加 を選択して、クレームを追加します。
ステップ 5: 支払いコネクタを追加する (オプション)
Payment Connector は、支払いサービスプロバイダーとの接続に必要な認証情報と設定を保存します。作成時にコネクタを追加することはオプションですが、サービスが支払いを処理するにはコネクタが必要です。
-
Payment connector: New Connector セクションの Name に、コネクタの名前を入力します。有効な文字は
a–z、A–Z、0–9、および_(アンダースコア) です。名前は最大 48 文字です。 -
(オプション) 説明 を選択してセクションを展開し、コネクタの説明を入力します。
-
アウトバウンド認証の追加セクションで、以前に AgentCore Identity で作成した支払い認証情報プロバイダーを再利用する場合は、ドロップダウンから既存のアウトバウンド認証を選択するか、新しいものを作成して新しい支払い認証情報プロバイダーを作成します。新しいアウトバウンド認証を作成する場合は、「新しいアウトバウンド認証を作成する」を参照してください。
-
(オプション) コネクタを追加するには、 + コネクタを追加を選択し、上記のステップを繰り返します。
新しいアウトバウンド認証を作成する
コネクタのアウトバウンド認証セクションで新しいものを作成すると、パネルが開き、新しい支払い認証情報プロバイダーを設定できます。
-
Name に、アウトバウンド認証の名前を入力します。有効な文字は、
a–z、A–Z、、_(アンダースコア)0–9、および-(ハイフン) です。 -
Provider の場合は、ドロップダウンから支払いプロバイダーを選択します。利用可能なプロバイダーは Coinbase と Stripe (Privy) です。
Coinbase を選択した場合は、「支払いプロバイダー設定」の次のフィールドに入力します。
-
API キー ID には、Coinbase CDP アカウントの認証情報の一意の識別子を入力します。
-
API キーシークレットには、Coinbase CDP へのリクエストの認証と署名に使用されるプライベートキーを入力します。
-
ウォレットシークレットには、機密性の高いウォレット書き込みオペレーションの認証に使用される非対称プライベートキーを入力します。
Stripe (Privy) を選択した場合は、支払いプロバイダー設定の下の次のフィールドに入力します。
-
アプリ ID には、プライベートアカウントの認証情報の一意の識別子を入力します。
-
アプリシークレットには、Privy アプリケーションへのリクエストの認証と署名に使用されるプライベートキーを入力します。
-
認可 ID には、認可エンティティの一意の識別子を入力します。
-
認可プライベートキーには、認可リクエストの署名に使用されるプライベートキーを入力します。
プロバイダー設定が完了したら、アウトバウンド認証の追加を選択します。
ステップ 6: Payment Manager を作成する
-
設定を確認し、「 Payment Manager の作成」を選択します。
Payment Manager の作成を選択すると、コンソールは Payment Manager の詳細ページに移動します。成功バナーは Payment Manager が作成されたことを確認し、次のステップを提供します。
-
支払い手段とセッションを設定し、オプションで予算を指定します。
-
Payment Manager をエージェントフレームワークに統合します。
-
有料 MCP ツールとエンドポイントについて説明します。
-
ログ配信とトレースを有効にして、オブザーバビリティダッシュボードでメトリクスを表示します。
Payment Manager の詳細ページには、 Payment コネクタ、統合コードテンプレート、インバウンド認証、オブザーバビリティメトリクス、ログ配信とトレース設定のセクションが含まれています。
- AgentCore CLI
-
AgentCore CLI は、プロジェクトディレクトリから認証情報プロバイダー、 Payment Manager、 Payment Connector を一緒に作成します。CLI v0.19.0 以降が必要です。
インタラクティブウィザード:
agentcore add payment-managerウィザードは、マネージャー名、パターン、自動支払いトグル、使用制限をプロンプトし、オプションでプロバイダー認証情報を含むコネクタを追加する手順を説明します。
非インタラクティブ (Coinbase CDP):
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非インタラクティブ (ストライプ/プライベート):
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を実行すると、IAM ロールが
agentcore deployプロビジョニングされ、認証情報が AgentCore Identity に保存され、 Payment Manager と Connector が作成されます。 - AgentCore SDK
-
AgentCore SDK は、1 回の呼び出しで Payment Manager、認証情報プロバイダー、コネクタ
create_payment_manager_with_connectorを作成する便利な方法を提供します。IAM 認可を持つ Coinbase CDP:
from bedrock_agentcore.payments 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}")JWT 認可の Coinbase CDP:
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"]IAM 認可による Stripe (Privy):
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"]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
-
IAM 認可を持つ Payment Manager を作成します。
aws bedrock-agentcore-control create-payment-manager \ --name "MyPaymentManager" \ --authorizer-type AWS_IAM \ --role-arn "arn:aws:iam::123456789012:role/AgentCorePaymentsResourceRetrievalRole" \ --region us-east-1JWT 認可を使用して Payment Manager を作成します。
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-1Payment Manager のステータスは として始まり
CREATING、READYプロビジョニングが完了すると に移行します。Payment Manager の準備ができたら、支払い認証情報プロバイダーを作成します。
次の例では、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次の例では、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認証情報プロバイダーの準備ができたら、コネクタを作成します。
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
-
IAM 認可を持つ Payment Manager を作成します。
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']}")JWT 認可を使用して Payment Manager を作成します。
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" } ] } )Payment Manager
READYのステータスに達したら、支払い認証情報プロバイダーを作成します。次の例では、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" } } )次の例では、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" } } )支払い認証情報プロバイダーを作成したら、コネクタを作成します。
# 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']}")Stripe (Privy) の場合は、
stripePrivy設定バリアントを使用します。# 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" } } ] )
ライフサイクル状態
作成後、 Payment Manager は次の状態に移行します。
| State | 説明 |
|---|---|
|
|
プロビジョニング中の初期状態。 |
|
|
Payment Manager は動作し、コネクタ設定を受け入れます。 |
|
|
設定の変更が適用されています。 |
|
|
プロビジョニングの失敗。 |
|
|
更新オペレーションの失敗。 |
Payment Manager を取得する
例
- AgentCore CLI
-
agentcore status - AgentCore SDK
-
from bedrock_agentcore.payments.client import PaymentClient payment_client = PaymentClient(region_name="us-east-1") response = payment_client.get_payment_manager( payment_manager_id="<paymentManagerId>" ) print(f"Status: {response['status']}") - AWS CLI
-
aws bedrock-agentcore-control get-payment-manager \ --payment-manager-id <paymentManagerId> \ --region us-east-1 - AWS SDK
-
response = client.get_payment_manager( paymentManagerId="<paymentManagerId>" ) print(f"Status: {response['status']}")
Payment Manager を一覧表示する
例
- AgentCore CLI
-
agentcore status - AgentCore SDK
-
from bedrock_agentcore.payments.client import PaymentClient payment_client = PaymentClient(region_name="us-east-1") response = payment_client.list_payment_managers() for pm in response['paymentManagers']: print(f"{pm['name']} - {pm['status']}") - AWS CLI
-
aws bedrock-agentcore-control list-payment-managers \ --region us-east-1 - AWS SDK
-
response = client.list_payment_managers() for pm in response['paymentManagers']: print(f"{pm['name']} - {pm['status']}")
Payment Manager を削除する
例
- AgentCore CLI
-
agentcore remove payment-connector --manager MyPaymentManager --name CoinbaseConnector --yes agentcore remove payment-manager --name MyPaymentManager --yes agentcore deployremoveコマンドはローカル設定を更新します。フォローアップにより、アカウントの支払いインフラストラクチャがdeploy破棄されます。 - AgentCore SDK
-
from bedrock_agentcore.payments.client import PaymentClient payment_client = PaymentClient(region_name="us-east-1") payment_client.delete_payment_manager( payment_manager_id="<paymentManagerId>" ) - AWS CLI
-
aws bedrock-agentcore-control delete-payment-manager \ --payment-manager-id <paymentManagerId> \ --region us-east-1 - AWS SDK
-
client.delete_payment_manager( paymentManagerId="<paymentManagerId>" )
次の手順
Payment Manager を作成したら、次のことができます。
-
支払い手段とセッションの設定 — トランザクションの処理を開始するように支払い手段とセッション を設定します。「支払い手段の作成」を参照してください。
-
エージェントフレームワークとの統合 — 統合コードテンプレートを使用して Payment Manager をエージェントワークフローに接続します。「支払いの処理」を参照してください。
-
有料 MCP ツールとエンドポイントの検出 — pay-per-useエンドポイントを持つready-to-use MCP サーバー に接続するか、独自のマーチャントエンドポイントを持ち込みます。AgentCore Gateway 経由の Coinbase Bzaar を参照してください。
-
オブザーバビリティを有効にする — セッション、API 呼び出し、トランザクション、エラー率をモニタリングするようにログ配信とトレース を設定します。「オブザーバビリティ」を参照してください。