MPP
マシン決済プロトコル
MPPはマシン間商取引のためのインターネット決済プロトコルです。HTTP 402ステータスコードで決済要件を通知し、暗号資産(オンチェーンステーブルコイン)と法定通貨(カード、ウォレット via Stripe)の両方に対応。StripeとTempoが共同開発。
主な特徴
デュアル決済レール
オンチェーン暗号資産決済(USDCステーブルコイン)と従来の法定通貨決済(カード、ウォレット)をStripe経由で同一プロトコル上でサポート。
HTTP 402ネイティブ
HTTP 402 Payment Requiredステータスコード上に構築。標準的なHTTPリクエスト/レスポンスサイクル内で決済ネゴシエーションが完結。
チャレンジベースセッション
暗号学的チャレンジ-レスポンスによる決済検証。各チャレンジは32バイトのランダムシークレットで保護。
マシン間通信ファースト
自律エージェントとプログラマティッククライアント向けに設計。ブラウザリダイレクトや人間の操作は不要。
MPPの仕組み
クライアントが有料リソースをサーバーにリクエスト
サーバーがHTTP 402と決済チャレンジ(challengeId、金額、通貨、受付方法)を返却
クライアントが決済を完了 — オンチェーン(暗号資産をデポジットアドレスへ)またはオフチェーン(カード/ウォレット via SPT)
クライアントがAuthorizationヘッダーに決済証明を含めてリクエストを再送信
サーバーが認証情報を検証し、200 OKでリソースを返却
決済方法
2つの決済レール、1つのプロトコル
暗号資産決済
デポジットアドレスによるオンチェーンステーブルコイン決済。サーバーがブロックチェーンアドレスを提供し、クライアントが直接トークンを送金。オンチェーンで決済確認。
- 1サーバーがデポジットアドレスと対応トークンを含む402を返却
- 2クライアントがオンチェーンでデポジットアドレスにUSDCを送金
- 3Stripeが入金到着時にPaymentIntentを自動キャプチャー
- 4クライアントが決済証明を含むAuthorizationヘッダーでリトライ
SPT(共有決済トークン)決済
カード、ウォレット、その他Stripe対応手段による法定通貨決済。クライアントがトークンを作成し、サーバーがStripeの決済ネットワーク経由で課金。
- 1クライアントがSPT(共有決済トークン)を作成
- 2サーバーがトークンを使用してStripe PaymentIntentを生成
- 3Stripeのレール(カード、Linkなど)経由で決済処理
- 4サーバーが完了を検証しアクセスを許可
暗号資産決済 — フロー
支払いなしで有料リソースをリクエスト
crypto決済手段を使用する
POST /v1/payment_intents
入金アドレスを含むPaymentIntentを返す
支払い要件を含むHTTP 402レスポンス
決済でリクエストを再試行
リクエストされたリソースを返す
SPT(共有決済トークン)決済 — フロー
支払いなしで有料リソースをリクエスト
支払い要件を含むHTTP 402レスポンス
共有決済トークン(SPT)の作成
SPTを返す
SPTクレデンシャルによるリクエストの再試行
SPTでPaymentIntentを作成
POST /v1/payment_intents
確定済みのPaymentIntentを返す
リクエストされたリソースを返す
HTTPプロトコル詳細
402レスポンスとAuthorizationヘッダーの仕様
402レスポンスボディ
決済が必要な場合、サーバーはRFC 9457に準拠したJSON問題詳細オブジェクトを返却します。
PaymentIntent (Crypto)
Authorizationヘッダー
決済後、クライアントはAuthorizationヘッダーに証明を含めます。サーバーがスキームを抽出・検証します。
コード例
暗号資産決済 (Node.js)
SPT(共有決済トークン)決済 (Client)
セキュリティ
チャレンジシークレット — 32バイトの暗号学的ランダム値(Base64エンコード)で各決済チャレンジを保護
認証情報検証 — サーバーが決済スキーム、PaymentIntent ID、アドレスの整合性を抽出・検証
リプレイ保護 — 各チャレンジはユニークな識別子による使い捨て
エコシステム
MPPを支える主要組織
Stripe
グローバル決済インフラ、MPPプロトコル共同開発者、法定通貨決済レール
Tempo
オンチェーン決済インフラ、暗号資産決済レール、ステーブルコイン決済
テスト & ツール
Stripeサンドボックスで暗号資産デポジットをシミュレーションしたテスト取引
mppx CLIツール(npmパッケージ)によるコマンドライン決済テスト
TempoテストネットのPATH_USDテストトークンで暗号資産フロー開発