決済ゲートウェイとは?オンライン決済の仕組みを解説
決済ゲートウェイとは、チェックアウトで顧客の支払い情報を安全に受け取り、銀行やカードネットワークに承認を求め、「承認」または「拒否」を返す(通常は数秒以内)サービスです。アプリと金融システムの間をつなぐ橋渡し役です。Stripe、PayPal、Adyen、Square、Braintreeが有名な例です。
今日では、これらの企業の多くが、代金を受け取るために必要なほかのすべても合わせて提供しているため、「決済ゲートウェイ」「決済プロセッサー」「決済プロバイダー」は、同じ意味で使われることがよくあります。
AIで作るときに決済ゲートウェイが重要な理由
「決済を追加して」は、AIビルダーに最もよく頼まれることの一つであり、微妙に間違えやすいものでもあります。コード自体は通常短いものです。重要なのは、そのまわりの判断です。
- どのプロバイダーを選ぶか。 事業、国、販売する商品に合うものを選ぶ必要があります。
- コードをどこで動かすか。 決済のシークレットキーはサーバー側に置かれ、ブラウザには決して出てはいけません。
- アプリは支払いが成功したことをどう知るか。 確実な方法は、プロバイダーからのWebhookです。顧客が「ありがとうございます」ページに到達したことを頼りにしてはいけません。
- 法的・税務上の責任。 これは誰が販売事業者(Merchant of Record)かによって異なります。
ゲートウェイが何をするかを理解しておくと、明確な指示を出し、結果が安全かどうかを確認できます。
身近なたとえ
お店でカード払いをするときを考えてみてください。
店のカウントのカード端末がゲートウェイにあたります。カードを安全に読み取り、要求を送ります。端末は何かを判断するわけではありません。「この人は40ユーロを支払えるか?」という問いを、あなたの銀行まで続く経路に沿って転送し、答えを受け取るだけです。判断をするのは、店の銀行(アクワイアラー)とあなたの銀行(イシュアー)であり、両者を結ぶカードネットワーク(VisaやMastercardなど)が仲介します。
オンラインの決済ゲートウェイは、ウェブ向けに作り直されたその端末です。インターネット経由で届くカード情報を扱うための安全対策も備えています。
オンラインのカード決済の仕組み
顧客が「支払う」をクリックしてから数秒の間に、次のことが起きます。
| 段階 | 起きること | 担当 |
|---|---|---|
| 1. チェックアウト | 顧客が安全な決済フォームにカード情報を入力する | プロバイダーのフォームまたはページ |
| 2. 暗号化 | 情報が暗号化され、ゲートウェイに送られる | ゲートウェイ |
| 3. 承認要求 | 要求がカードネットワークと顧客の銀行へ送られる | プロセッサー、カードネットワーク |
| 4. 確認 | 銀行が残高と不正の兆候を確認し、3Dセキュアなどの追加の認証を求めることがある | 発行銀行 |
| 5. 応答 | 承認または拒否の結果がアプリに戻る | ゲートウェイ |
| 6. 売上確定と入金 | 代金が回収され、プロバイダーの支払いスケジュールに従って、手数料を差し引いた金額があなたの銀行口座に入る | プロセッサー、アクワイアラー |
知っておくと役立つポイントが2つあります。
- 承認は、支払いが完了したことと同じではありません。 まず金額が確保され、次に売上が確定し、その後に口座へ入金されます。入金は数日後になることも多いです。
- アプリはカード番号をまったく見るべきではありません。 現代的なプロバイダーは、プロバイダーが管理するホスト型のチェックアウトや埋め込みフィールドを提供します。アプリが受け取るのは、支払いへの参照だけです。
主な構成要素と、その担当
| 構成要素 | 内容 |
|---|---|
| 決済ゲートウェイ | 支払い情報を安全に取得し、転送する。 |
| 決済プロセッサー | 銀行間で取引データをやり取りする。 |
| 加盟店アカウント | あなたに代わってカード決済を受け取るアカウント。Stripeのようなプロバイダーがまとめて提供する。 |
| アクワイアラー | 加盟店側の銀行。 |
| イシュアー | 顧客の銀行。承認または拒否を決める。 |
| カードネットワーク | VisaやMastercardなど、アクワイアラーとイシュアーをつなぐ。 |
| 販売事業者(Merchant of Record) | 法的に顧客に商品を販売し、税金、返金、紛争に責任を負う事業者。 |
PaddleやLemon Squeezyのように、一部のプロバイダーは自身が販売事業者となり、その分手数料は高くなりますが、売上税やVATの処理を代わりに行います。StripeやPayPalのように、あなたが販売事業者のままで、任意の税務ツールを利用するプロバイダーもあります。公平な比較については、StripeとPaddleとLemon Squeezyの比較とStripeとPayPalの比較をご覧ください。
具体例:コースを販売する
150ユーロのオンラインコースを販売していて、AIビルダーに「購入」ボタンを追加するよう依頼したとします。
- 顧客が購入をクリックします。サーバーは、シークレットキーを使って、プロバイダーに150ユーロのチェックアウトセッションを作成するよう依頼し、リンクを受け取ります。
- 顧客はプロバイダーのホスト型チェックアウトページに移動し、カードを入力して、銀行による3Dセキュアの確認を完了します。
- 支払いが承認され、顧客は「成功」ページにリダイレクトされます。
- 別途、プロバイダーがあなたのサーバーにWebhookを送信します。「セッションXの支払いが成功しました」という内容です。サーバーはWebhookの署名を検証し、注文を見つけ、支払い済みとしてマークし、コースを解放します。
- 数日後、手数料を差し引いた金額があなたの銀行口座に入ります。
最も重要なのはステップ4です。代わりに成功ページでコースを解放していたら、そのURLを見つけた誰もが無料でコースを受け取れてしまいます。また、ブラウザを早めに閉じてしまった顧客は、支払ったのに何も受け取れなくなります。
主な用語
| 用語 | 意味 |
|---|---|
| チェックアウトセッション | サーバーが特定の購入のために作成する、1回限りの支払いページまたは流れ。 |
| テストモード | テスト用のキーとテスト用のカード番号を使うサンドボックス。実際のお金は動かない。 |
| 公開可能キー / シークレットキー | 公開可能キーはブラウザのコードに含まれてもよい。シークレットキーは必ずサーバー側に置く。 |
| 3Dセキュア | 顧客が銀行との間で支払いを確認する追加の手順。欧州ではStrong Customer Authentication(SCA)規則の下で一般的。 |
| PCI DSS | カード情報を扱うすべての事業者向けの、カード業界のセキュリティ基準。 |
| チャージバック | 顧客が銀行を通じて支払いに異議を申し立て、その金額が差し戻されること。 |
| 返金 | あなたが任意で返す金額。 |
| 入金(ペイアウト) | プロバイダーが回収した金額をあなたの銀行口座に送金すること。 |
よくある誤解
- 「再請求するにはカード番号を保存しなければならない」。 いいえ。プロバイダーがカードを保存し、繰り返しの請求やサブスクリプションのために、参照用のトークンを渡します。カード番号を自分で保存してはいけません。
- 「成功ページが表示されれば、支払いは成功している」。 支払いの確認は、サーバー上でWebhookを使って行ってください。リダイレクトは飛ばされたり、偽造されたり、そもそも起きなかったりすることがあります。
- 「決済プロバイダーはどれも費用がだいたい同じ」。 手数料は、プロバイダー、国、カードの種類、税務処理が含まれているかどうかによって異なります。お住まいの国について、各プロバイダーの最新の料金ページを確認してください。
- 「Stripeを使えばPCIに準拠できる」。 準拠をずっと簡単にするのは確かです。カードのデータはプロバイダーに保存されるからです。しかし、通常は短いものの、自己評価を完了する必要はあります。
- 「テストモードと本番モードは同じように動く」。 ほぼ同じですが、本番モードでは完全に認証されたアカウント、本番環境用に設定された実際のWebhookのエンドポイント、実際の銀行情報が必要です。
- 「決済ゲートウェイが税金も処理してくれる」。 販売事業者である場合か、税務機能をオンにして設定した場合だけです。お住まいの地域のルールを確認するか、専門家にご相談ください。
AIビルダーに依頼すること
- 「[商品]用に[Stripe]のチェックアウトを追加してください。サーバー上で、環境変数のシークレットキーを使ってセッションを作成してください。」
- 「注文を支払い済みにするのは、署名を検証した有効なWebhookからだけにしてください。」
- 「Webhookが2回送られても、注文が重複しないようにしてください。」
- 「テストモードのキーを使い、プロバイダーのテスト用カード(拒否されるカードを含む)でのテスト方法を説明してください。」
- 「支払い後に顧客がタブを閉じたら、どうなりますか?」
- 「決済のキーが使われている箇所をすべて見せ、シークレットキーがブラウザに届かないことを確認してください。」
Mythexでの決済ゲートウェイ
Mythexには、構築したアプリ向けの組み込み決済機能は含まれておらず、「Stripeに接続」のようなワンクリックの機能もありません。選んだプロバイダーでアカウントを作成し、そのテストキーをプロジェクトのシークレットとして追加し、サーバー側でチェックアウトを構築するようエージェントに依頼します。プレビューでプロバイダーのテスト用カードを使ってテストしてから公開してください。手順はドキュメントのStripeでのAccept paymentsで解説されており、確認のステップについてはWebhookで扱われています。
ステップごとの構築方法については、アプリに決済を追加する方法を、定期請求については、Stripeでサブスクリプションを追加する方法をご覧ください。
よくある質問
決済ゲートウェイとは簡単に言うと何ですか?
決済ゲートウェイは、チェックアウトで顧客の支払い情報を安全に受け取り、銀行やカードネットワークに承認を求め、「承認」か「拒否」の結果をアプリに返すサービスです。通常は数秒で完了します。
決済ゲートウェイと決済プロセッサーの違いは何ですか?
厳密には、ゲートウェイは支払い情報を取得して転送する安全な玄関口であり、プロセッサーは銀行間で取引データをやり取りします。実際には、StripeやPayPal、Adyenのような現代的なプロバイダーは、両方と加盟店アカウントを1つのサービスにまとめているため、この2つの用語はしばしば同じ意味で使われます。
カード決済を受け付けるには、PCIコンプライアンスに対応する必要がありますか?
カードを受け付けるすべての事業者は、何らかの形でPCI DSSというセキュリティ基準を満たす必要があります。ホスト型のチェックアウトページや、プロバイダーの埋め込み型の決済フィールドを使えば、カード番号がご自身のサーバーに触れることはなく、責任の範囲が大きく減ります。どの自己評価が適用されるかは、プロバイダーが教えてくれます。
Merchant of Recordとは何ですか?
Merchant of Record(販売事業者)とは、顧客に対して法的に商品を販売している事業者のことです。売上税や付加価値税(VAT)の徴収と納付、返金、チャージバック(支払い異議)の対応などに責任を負います。PaddleやLemon Squeezyのようなサービスが、代わりにMerchant of Recordとなります。StripeやPayPalを使う場合は、通常はご自身がMerchant of Recordです。
AIで作ったアプリに決済を追加できますか?
はい。AIビルダーは、Stripeのようなプロバイダーにアプリをつなぐコードを書けます。サーバー上でチェックアウトのセッションを作成し、Webhookを処理し、注文を更新します。ただし、プロバイダーで自分のアカウントを持つ必要があり、本番公開の前に、すべてをプロバイダーのテストモードで確認すべきです。