MPPとは?AIがAPIの利用料を払う仕組みとStripeの役割

公開 更新 8 分で読了
MPPとは?AIがAPIの利用料を払う仕組みとStripeの役割

MPPは、AIなどのプログラムがAPIやサービスの利用料を支払う共通ルールです。料金案内から支払い、データ取得までの流れ、Stripeの公開コード、テストと本番の違いを解説します。

AIに調査を頼んだのに、必要なデータが有料で、途中で止まってしまう。データを販売する側も、少額の利用のために会員登録や月額契約を求めると、AIから使ってもらいにくくなります。

MPP(Machine Payments Protocol)は、AIなどのプログラムが、APIやサービスの利用料を支払うための共通ルールです。APIとは、別のプログラムからデータや処理を利用する窓口のこと。人が購入フォームへ毎回入力する代わりに、プログラム同士で料金の案内と支払い情報をやり取りします。[1][2]

この記事は、有料データやWeb上の機能を提供する事業者向けの解説です。何に使えるか、Stripeは何を担当するか、公開されている実装例はどこまで試せるかを説明します。確認日は2026年9月12日。StripeとTempoによるMPPの発表は2026年3月18日で、本日の新着発表ではありません。[1]

売るのは「商品」だけでなく、一回分のデータや処理

ここでは、AIが出張計画を立てるために、詳しい天気データを一回だけ使う場面を考えます。API提供者は、一回の利用に料金を設定しているとします。これは説明用の利用例であり、実在する天気サービスの料金ではありません。

AIが無料のページだけでは足りないと判断したとき、担当者がその都度別サービスへ登録し、支払い方法を入力していたら、作業が止まります。MPPは、対応したAI側のプログラムが利用条件と料金を受け取り、許可された範囲で支払うためのやり取りを定めます。[2]

データを売る会社にとっては、人向けの購入画面に加え、プログラムから有料で利用してもらう入口を作る方法になります。利用する側にとっては、必要な外部機能を使う途中で、毎回人が決済画面を操作する手間を減らすための仕組みです。

自社の商品をChatGPTの商品一覧に登録する機能ではありません。店のバッグを紹介する準備なら商品情報の連携を、バッグの注文を受ける準備なら購入の連携を調べます。MPPが中心に扱うのは、APIやサービスの利用に対する支払いです。[2]

料金を知らせ、支払いを確かめてからデータを返す

MPPの基本は、次の順序です。AI側とAPI提供者側の両方が、同じ支払い方法に対応している必要があります。[3]

  1. AI側がAPIへ、必要なデータを依頼します。
  2. API提供者は、支払いが必要なことと料金を返します。
  3. AI側は支払い条件を確認し、支払い情報を付けて再び依頼します。
  4. API提供者は支払いを検証します。
  5. 利用を認められたら、データと支払いの受領情報が返ります。

AIが有料データを依頼し、API提供者が料金を案内する。AIが支払い情報を送り、Stripeでの決済を確認した後、データが返る。

最初の料金案内には、HTTPの402 Payment Requiredを使います。HTTPはWeb上で情報をやり取りする仕組みで、402は「支払いが必要」という応答の番号です。ページが見つからないときの404と同じように、通信の結果を番号で伝えます。[3]

料金案内をChallenge、AI側から返す支払い情報をCredential、受領情報をReceiptと呼びます。英語を暗記するより、「料金の案内」「支払いに必要な情報」「受け取った確認」の三つとして流れを追うと理解しやすくなります。

Stripeは決済と売上の受け取りを担当する

MPPは共通ルールで、Stripeはそのルールを使って支払いを受けるための機能を提供しています。Stripeのガイドでは、API側で支払いを確認し、Stripeの残高へ入金する構成を案内しています。返金も、Stripeの管理画面や返金用APIから扱えます。[2]

対応する支払いには、カードを使う方法と、対応するステーブルコインを使う方法があります。ステーブルコインは、米ドルなどに価値を連動させることを目指す暗号資産です。どのネットワークや通貨を使えるかは、利用する実装に合わせて確認します。[2]

カードを使う場合のSPT(Shared Payment Token)は、カード番号そのものを渡す代わりに、利用範囲や期限を制限した支払い用の情報を渡す仕組みです。無制限にカードを使わせる許可ではありません。[2]

API提供者側に残るのは、何のデータをいくらで売るか、支払い後に何を返すか、失敗した場合にどう扱うか、という自社サービスの処理です。Stripeへ申し込むだけで、自社のデータを販売するAPIが完成するわけではありません。

日本の事業者は、採用する支払い方法の提供条件を先に確認します。Stripeの案内では、米国外でのステーブルコイン利用はアカウントIDを添えた利用申請が必要です。規格の公開と、自社アカウントでその支払いを受けられることを分けて判断します。[2]

公開コードでは、どこに料金を書くのか

StripeのMPP実装ガイドには、APIを有料化するコードが公開されています。プログラムを動かすのは、データを提供する会社のサーバーです。サーバーは、外部からの依頼を受けて処理するコンピューターを指します。[4]

公式サンプルは、mppxとstripeという開発用の部品を使います。初期設定ではStripeの秘密キーと、会社のStripeプロフィールを示すIDを用意します。プロフィールIDはnetworkIdとして設定します。[4]

料金を確認する中心部分は、次のような形です。公式サンプルを基に、意味が分かる箇所だけを示しています。接続設定や起動処理を省いた抜粋なので、これだけをコピーして公開するものではありません。

const payment = await mppx.charge({ amount: '0.50' })(request);
if (payment.status === 402) return payment.challenge;
return payment.withReceipt(Response.json({ data: '...' }));

公式例の金額は一回0.50米ドルです。最初の行で、その支払いがあるかを確認します。まだ支払いが必要なら、二行目で料金案内を返します。確認できた後に、三行目で受領情報を付けた結果を返します。[4]

data: '...'は、実際の天気データではなく省略表示です。天気APIを作るなら、自社が提供できる予報の情報をこの部分から返す実装が必要です。料金のコードだけを動かしても、予報のデータは作られません。

また、ここでのamount: '0.50'は開発用部品への設定値です。通信で使う金額の表し方を、別の支払い方法のデータへそのまま移してよいとは限りません。支払い方法ごとに定義された形式を使います。[3][4]

通信では「何に、いくら払うか」を確認する

MPPのHTTP方式では、主に次の場所で情報を渡します。ヘッダーは、通信本文に添える、種類や認証などの情報欄です。[3][5]

情報を渡す場所 役割
WWW-Authenticate: Payment API提供者が料金と支払い方法を案内する
Authorization: Payment AI側が支払いに必要な情報を返す基本の欄
Payment-Receipt 支払いを受け取ったことを示す欄

料金案内には、案内を区別するid、対象の範囲を示すrealm、支払い方法のmethod、一回払いなどの目的を示すintent、具体的な料金条件を入れたrequestがあります。requestの中身は、通信欄へ入れられる形に変換して渡します。[5]

天気データの例なら、AI側は「予報を一回利用する」という説明だけを見て支払うのではなく、実際の金額、通貨、受取先、期限を確認します。説明文と支払いの条件が違う可能性も考え、金額を示すデータを判断に使います。[3]

支払いの情報が不正だった場合は、成功としてデータを返すのではなく、再度支払いが必要な応答になります。同じ支払い情報を何度も使えないようにする仕組みや、通信の再試行で同じ処理を重ねない仕組みも必要です。[3]

利用を任せる会社側では、一回の上限だけでなく、どのAPIに何回まで払わせるかを決めます。安いAPIでも、繰り返し呼べば合計は増えます。「AIが払える」と「AIに制限なく払わせる」は同じ運用ではありません。

試すときは、テスト用の支払い設定を使う

導入を検討する開発担当者は、Stripeの公開サンプルと実装ガイドを参照できます。ガイドには検証コマンドもありますが、本番設定での検証では実際のお金が動く場合があります。[4]

テスト用の設定では通信とエラーを確認し、利用条件と設定を確認してから本番へ進む。本番では実際のお金が動く。

まずsandbox、つまりテスト用のStripe環境で、テスト用APIキーとプロフィールを使います。次に、支払い情報がない依頼で402が返ること、適切なテスト支払いの後にデータが返ること、無効な支払いでは利用できないことを確認します。[4]

一回の正常な支払いだけでなく、再送、期限切れ、利用側が対応していない支払い方法も調べます。サーバーの記録を残すときは、支払いに使える秘密情報をそのままログへ出さないようにします。[3]

本稿ではコードと公開仕様を確認しましたが、Stripeの契約・利用承認、実際の支払い、本番APIとの接続は行っていません。自社の利用可否は、対応国と支払い方法を確認してから判断します。

x402との違いは、採用する支払い方法まで見て判断する

x402も、HTTP 402を使ってAPI利用料の支払いを進める規格です。同じ番号を使っていても、渡す情報や対応する支払い方法が同じとは限りません。[2][3]

StripeはMPPとx402の両方を案内しています。2026年9月12日の同社資料では、MPPにはカードと対応するステーブルコイン、x402には対応するステーブルコインの利用が示されています。これはStripeの提供範囲の説明で、他社の全実装を一括して評価したものではありません。[2]

自社で選ぶときは、買い手になるAIがどの方法で払えるか、受取側の会社がどの方法を利用できるか、少額利用に合う料金と運用かを合わせます。名前が新しいかより、売りたいデータを必要な相手へ届け、正しく代金を受け取れるかで判断できます。

よくある質問

Q. ChatGPTへ商品登録する仕組みですか?
主にAPIやサービスの有料利用に対する支払いを扱います。商品の発見や店の購入機能とは担当する場面が異なります。[2]
Q. 検証コマンドならお金は動きませんか?
本番設定では実際のお金が動く場合があります。まずStripeのsandboxとテスト用設定で確認します。[4]

出典・参考データ

  1. [1] Introducing the Machine Payments Protocol (Stripe) — 取得 2026-09-12
  2. [2] Machine payments (Stripe) — 取得 2026-09-12
  3. [3] Protocol overview (MPP) — 取得 2026-09-12
  4. [4] MPP integration guide (Stripe) — 取得 2026-09-12
  5. [5] Challenges (MPP) — 取得 2026-09-12

この記事を書いた人

水島 翔吾

株式会社kairos 代表取締役 / AgentSignal 開発者

AI クローラー・AI 流入計測と AIO 診断ツール AgentSignal を開発。実測データを元に AI 検索時代の計測と対策を書いています。

関連記事