翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
支払いの処理
支払いを処理するには、次の 2 つのリソースが必要です。
-
支払い手段 — Coinbase または Stripe を備えた埋め込み暗号ウォレット。「支払い手段の作成」を参照してください。
-
支払いセッション — オプションで支出予算を適用する時間制限付きセッション。「支払いセッションを作成する」を参照してください。
両方が存在したら、支払いセッション ID、支払い手段 ID、および支払いペイロードProcessPaymentを使用して を呼び出します。サービスはリクエストを検証し、予算を確認し、適切なブロックチェーンでトランザクションに署名して、署名された支払い結果を返します。完全なリクエストとレスポンスのスキーマについては、 API リファレンスのProcessPayment」を参照してください。
AgentCore 支払いは、 paymentTypeパラメータで選択する 2 つの支払いプロトコルをサポートしています。
-
CRYPTO_X402— x402 プロトコル。でマーチャントの x402 支払いペイロードを指定するとpaymentInput.cryptoX402、エージェントはX-PAYMENTヘッダーの署名付き証明を使用してリクエストを再試行します。 -
MPP— Machine Payments Protocol (MPP)。でマーチャントのWWW-Authenticate: Paymentチャレンジを転送するとpaymentInput.mpp、エージェントはAuthorizationヘッダーに返された認証情報を使用してリクエストを再試行します。
マーチャントが402 Payment Requiredレスポンスに使用したプロトコルに一致する paymentTypeを選択します。x402 リクエストとレスポンスの詳細については、「x402 支払いリクエストの支払い」を参照してください。MPP リクエストとレスポンスの詳細については、「MPP チャレンジの支払い」を参照してください。
ヒント
エージェント AWS ツールキットの AgentCore Payments スキルを使用して、このページのステップを自動化できます。このスキルは aws-agents プラグインの一部であり、AI コーディングエージェントが agentcore CLI を使用して Payment Manager、コネクタ、認証情報プロバイダー、支払い手段、セッションを作成し、エージェントにプロセス支払いツールを追加できるようにします。詳細については、GitHub のクイックスタートとエージェントツールキットを参照してください。 AWS GitHub
ProcessPayment API を呼び出すには、次の 5 つの方法があります。
例
x402 支払いリクエストの支払い
マーチャントが応答で x402 支払いペイロードで402 Payment Required応答すると、そのペイロードを AgentCore 支払いに転送し、AgentCore 支払いは署名付き証明を返します。マーチャントのペイロードを にコピーするとpaymentInput.cryptoX402、AgentCore 支払いは予算を確認し、ウォレットでトランザクションに署名して、署名された証明を返します。証明をX-PAYMENTヘッダーにアタッチし、元のリクエストを再試行します。
リクエストとレスポンス
で次のフィールドを指定しますpaymentInput.cryptoX402。
-
version— x402 プロトコルバージョン (例:1または2)。必須。 -
payload— JSON オブジェクトとして渡される、マーチャントの x402 支払い要件。これはscheme、マーチャントの402レスポンスのnetwork、maxAmountRequired、payTo、、asset、およびその他のフィールドを指定します。必須。 -
permit2AllowanceLimit— アセットの最小額面金額で付与するチェーン上の Permit2 の最大許容量。オプション。これは、Permit2 契約を通じて決済されるupto(従量制) スキームに対してのみ設定します。exactスキームに指定することは検証エラーです。「最大支払いの Permit2 許容量」を参照してください。
レスポンスは、 で次のフィールドを返しますpaymentOutput.cryptoX402。
-
version— x402 プロトコルバージョン。 -
payload— JSON オブジェクトとして署名されたトランザクション証明。X-PAYMENTヘッダーにアタッチし、元のリクエストを再試行します。
status の PROOF_GENERATEDは、トランザクションが署名され、支払い証明が に含まれていることを示しますpaymentOutput。
スキーム
x402 ペイロードは に名前を付けますscheme。AgentCore 支払いでは、次のスキームがサポートされています。
-
exact— マーチャントのペイロードで指定された固定額を 支払います。これはデフォルトのスキームであり、手当の処理は必要ありません。 -
upto— 上限まで計測された金額を 支払います。このスキームは Permit2 契約を通じて決済されるため、支払者ウォレットは Permit2 手当を付与している必要があります。「最大支払いの Permit2 許容量」を参照してください。
最大支払いの Permit2 許容量
upto スキームは、 で資金を移動する Permit2 契約を通じて決済されますtransferFrom。支払者ウォレットは、まず Permit2 に ERC-20 許容量を付与する必要があります。そうしないと、決済が Permit2-allowanceの前提条件エラーで失敗します。この許可は、直接の Permit2 承認と同じオンチェーン承認モデルに従います。詳細については、Uniswap ウェブサイトの「Uniswap Permit2
これを処理するには、 permit2AllowanceLimitをアセットの最小単位の最大許容量に設定します (例えば、小数 6 桁で 1000000 = 1 USDC)。無制限の許容量を付与するには、uint256最大値を文字列 として渡します115792089237316195423570985008687907853269984665640564039457584007913129639935。このフィールドを設定すると、AgentCore 支払いは署名前にオンチェーンapproveトランザクションを送信します。このトランザクションでは、ウォレットのネイティブトークン残高から支払われたブロックチェーンネットワーク (ガス) 料金が発生します。
approve はウォレットの許容量を追加するのではなく、 を設定するため、冗長なオンチェーントランザクションを回避するためにウォレットの承認 (最初のupto支払いなど) が必要なpermit2AllowanceLimit場合にのみ を設定します。許容範囲の処理を完全にスキップするには、 フィールドを省略します。このフィールドはuptoスキームにのみ適用されます。exactスキームに指定することは検証エラーです。
次の例では、upto支払いを処理し、1 USDC の許容額を Permit2 に付与します。の場合upto、 maxAmountRequiredはマーチャントが402レスポンスでアドバタイズする上限を保持し、同じレスポンスの決済ファシリテーターextra.facilitatorAddressです。
例
制限事項
-
permit2AllowanceLimitフィールドはuptoスキームに対してのみ有効です。exactスキームにこれを指定すると、 が返されますValidationException。
x402 支払いリクエストの検証エラーとその解決策については、「x402 支払いリクエストエラー」を参照してください。支払い処理エラーとその解決策については、「支払い処理エラー」を参照してください。
MPP チャレンジの支払い
マーチャントが402 Payment RequiredレスポンスでWWW-Authenticate: Paymentチャレンジを返す場合は、 でチャレンジを逐語的に転送しますpaymentInput.mpp。AgentCore 支払いは、チャレンジを解析し、予算を確認し、ウォレットに署名して、ready-to-sendAuthorizationヘッダー値を返します。AgentCore 支払いはヘッダー解析、base64url デコード、署名を処理するため、これらのオペレーションを実行する必要はありません。
リクエストとレスポンス
で次のフィールドを指定しますpaymentInput.mpp。
-
version— MPP プロトコルバージョン (例:1)。必須。 -
wwwAuthenticateHeaders— マーチャントの402レスポンスからの rawWWW-Authenticate: Paymentヘッダー値。逐語的に渡されます。ヘッダーを 1 つだけ指定します。必須。 -
buyerPaysGasFees— 販売者がそれらをスポンサーしない場合に、購入者のウォレットからのブロックチェーンネットワーク (ガス) 料金の支払いを許可するかどうか。オプション。省略または は、購入者が辞退するfalseことを意味します。「ネットワーク料金の同意」を参照してください。
レスポンスは、 で次のフィールドを返しますpaymentOutput.mpp。
-
version— MPP プロトコルバージョン。 -
selectedPaymentId— AgentCore の支払いが支払ったチャレンジidの は、認証情報をデコードせずに結果を関連付けられるように、入力チャレンジからエコーしました。 -
paymentCredential— ready-to-sendAuthorizationヘッダー値。 の形式ですPayment <base64url-token>。Authorizationヘッダーとしてアタッチし、元のリクエストを再試行します。
重要
をデコードまたは変更しないでくださいpaymentCredential。元のチャレンジと署名付きペイロードが埋め込まれ、マーチャントの HMAC はそれらの正確なバイトにバインドされます。返された値を添付します。
次の の例では、MPP チャレンジを処理します。でマーチャントのWWW-Authenticate: Paymentチャレンジを逐語的に設定--payment-type "MPP"して転送します paymentInput.mpp.wwwAuthenticateHeaders (1 つのヘッダーのみ)。
例
メソッドとトークン
MPP チャレンジは支払いに という名前を付けますmethod。AgentCore 支払いは、インchargeテントに対して次の方法をサポートしています。
-
evm— 正規 USDC のみ。チャレンジにはmethodDetails.chainIdと を含める必要がありますrealm。 -
tempo— ネットワークで認識された USDC に相当するトークンを使用してmethodDetails.chainId、 によって選択されたテンポチェーン。 -
solana—mainnetおよびdevnetネットワーク。サーバースポンサー料金のみ。
支払い手段のブロックチェーンネットワークは、チャレンジ方法と一致する必要があります。プロバイダーのサポートはコネクタタイプによって異なります。
| 方法 | コインベース CDP | ストライプ (プライベート) |
|---|---|---|
|
|
サポート対象 |
サポート対象 |
|
|
サポート対象 |
サポート |
|
|
サポート外 |
サポート |
ネットワーク料金の同意
ブロックチェーンネットワーク (ガス) 料金は、チャレンジ量とは異なります。チャレンジは、そのmethodDetails.feePayerフラグを使用してスポンサーをアドバタイズします。
-
methodDetails.feePayer=true— 販売者はネットワーク料金をスポンサーします。buyerPaysGasFeesは効果がありません。 -
methodDetails.feePayer=falseまたは不在 — 購入者は、支払い金額に加えて、支払いウォレットからネットワーク料金を支払います。そのコストはチャレンジ額に表示されないため、AgentCore 支払いは を設定した場合にのみ署名しますbuyerPaysGasFees=true。それ以外の場合は を返しますValidationException。このtempo方法では、販売者が料金をスポンサーしないときは常にこの同意が必要です。
進行役がトランザクションをブロードキャストし、ガスを支払うため、evmこの方法には料金の同意は必要ありません。solana メソッドは現在、サーバースポンサー料金のみをサポートしています。
制限事項
-
AgentCore の支払いは、
ProcessPayment呼び出しごとに 1 つのチャレンジのみを実行します。で 1 つのヘッダーを指定しますwwwAuthenticateHeaders。 -
chargeインテントモードとプルモードのみがサポートされています。 -
MPP チャレンジは短期間です。チャレンジの有効期限が切れている場合、AgentCore 支払いは を返し
ValidationException、予算を消費しません。有料リソースを再度リクエストして新しいチャレンジを取得し、再試行します。
MPP チャレンジ検証エラーとその解決策については、「MPP チャレンジエラー」を参照してください。
フレームワークの統合
エラー処理、設定オプション、組み込みツールを含む完全なリファレンスドキュメントについては、「フレームワークの統合」を参照してください。
| フレームワーク | 統合タイプ | リファレンス |
|---|---|---|
|
プラグイン (フックベース) |
割り込み処理、設定オプション、組み込みツール |
|
|
ミドルウェア (ツール呼び出しをラップ) |
エラーコールバック、許可リスト、非同期サポート、設定オプション |