SPT — Stripe Shared Payment Tokens
SPTとは?
SPT(Shared Payment Token)は、AIエージェントがStripeでAPIコールの支払いを行えるようにします — 暗号通貨ではなく実際のカード決済を使用します。ユーザーが使用上限付きのトークンを事前承認し、エージェントはそれを使ってサービスに自律的に支払います。
仕組み
- ユーザーが使用上限(最大金額、通貨、有効期限)付きのSPTをStripe経由で作成する
- エージェントが有料エンドポイントにリクエストを送信する
- サーバーが
WWW-Authenticate: Payment method="stripe", intent="charge", request="<base64url>"付きで HTTP 402 を返す - エージェントが
requestフィールドをデコードして価格(金額、通貨)を把握する - エージェントがSPTを含む
Authorization: Payment <credential>で再試行する - サーバーがそのトークンを使用してStripe PaymentIntentを作成し、成功を検証して応答する
主要な概念
- Shared Payment Token:エージェントに支払い権限を付与する、スコープ制限・限定使用のStripeトークン(プレフィックス
spt_) - 使用上限:各トークンは最大金額、通貨、有効期限を持ち — ユーザーがエージェントの支出可能額を制御します
- mppxミドルウェア:MPP(Tempo)決済を処理するのと同じミドルウェアがSPTも処理します — サーバーは両方を受け付け可能です
- 複数チャレンジ:402レスポンスは異なる方式(tempo、stripe)の
WWW-Authenticate: Paymentヘッダーを複数含めることができ、エージェントが支払い方法を選べます
エージェントによるSPTのディスカバリー
SPTには2つのディスカバリーチャネルがあります:
- ランタイム(権威):
WWW-Authenticate: Paymentチャレンジにmethod="stripe"を含むHTTP 402レスポンス - 事前リクエスト(参考):支払いを必要とする操作に対するOpenAPIの
x-payment-info拡張
402レスポンスが常に権威であり — OpenAPIメタデータは参考情報のみです。
サービスへのSPTの追加方法
- mppxをインストールする:
npm install mppx - Stripeシークレットキーを設定する
- mppxミドルウェアがTempoとStripeの両方の方式で402チャレンジを返します
- SPTを持つエージェントはStripe経由で支払い、pathUSDを持つエージェントはTempo経由で支払えます
詳細情報
- Stripe SPT docs — トークンの作成と使用
- mppx on npm — MPPとSPTの両方を処理するミドルウェア
- paymentauth.org — 決済ディスカバリー仕様