このサイトはコミュニティが運営する非公式の日本語リソースです。公式ドキュメントはdocs.x402.orgをご参照ください。

HTTP 402

x402プロトコルの基盤となるHTTP 402 Payment Requiredステータスコードの仕組みを解説します。

数十年にわたって「将来の使用のために予約」されてきたHTTP 402 Payment Required。x402はこのステータスコードをついに実用化します。

HTTP 402とは

HTTP 402はリソースへのアクセスに支払いが必要であることを示す標準HTTPレスポンスステータスコードです。x402ではこのステータスコードを以下の目的で活用します:

  • クライアント(バイヤーまたはエージェント)に支払いが必要であることを通知する
  • 金額・通貨・送金先アドレスなど支払いの詳細を伝える
  • プログラムで支払いを完了するために必要な情報を提供する

x402がHTTP 402を使う理由

HTTP 402を使う主な目的は、Webリソースへのアクセスに対してフリクションのないAPIネイティブな支払いを実現することです。特に以下のユースケースに適しています:

  • M2M(マシン間)決済(例:AIエージェント)
  • API呼び出しや有料コンテンツなどの従量課金モデル
  • アカウント作成や従来の決済システムを介さないマイクロペイメント

402ステータスコードを使うことで、x402プロトコルはWebとネイティブに互換性を持ち、あらゆるHTTPベースのサービスに簡単に統合できます。

V2での支払いヘッダー

x402 V2では支払い通信に3つの標準ヘッダーを使用します:

ヘッダー方向内容
PAYMENT-REQUIREDサーバー → クライアントBase64エンコードされた支払い要件オブジェクト
PAYMENT-SIGNATUREクライアント → サーバーBase64エンコードされた支払いペイロードオブジェクト
PAYMENT-RESPONSEサーバー → クライアントBase64エンコードされた決済レスポンスオブジェクト
  • PAYMENT-REQUIREDサーバーからのBase64エンコードされた支払い要件を含みます。402ステータスコードとともに返され、受け付ける支払いスキーム・価格・ネットワーク・送金先アドレスなどの詳細が含まれます。
  • PAYMENT-SIGNATUREクライアントからのBase64エンコードされた支払いペイロードを含みます。402レスポンスを受け取った後にリクエストをリトライする際にクライアントが送信し、支払いを承認したことを証明します。
  • PAYMENT-RESPONSEサーバーからのBase64エンコードされた決済レスポンスを含みます。決済の成否にかかわらずサーバーが返し、支払い結果についての構造化されたフィードバックを提供します。

すべてのヘッダーは有効なBase64エンコードJSON文字列を含みます。このエンコードにより、さまざまなHTTP実装間での互換性が確保され、JSONペイロード内の特殊文字による問題を防ぎます。

まとめ

HTTP 402はx402プロトコルの基盤であり、サービスがHTTPレスポンス内で直接支払い要件を宣言できるようにします:

  • 支払いが必要であることをシグナルする
  • 必要な支払い詳細を伝える
  • 標準HTTPワークフローとシームレスに統合できる