Skip to main content

概要

Inline checkout を使用すると、ウェブサイトやアプリケーションとシームレスに統合された、完全なチェックアウト体験を作成できます。ページ上にモーダルとして開く overlay checkout とは異なり、inline checkout は決済フォームをページレイアウトに直接埋め込みます。 Inline checkout を使用すると、次のことができます。
  • アプリやウェブサイトに完全に統合されたチェックアウト体験を作成する
  • Dodo Payments が最適化されたチェックアウトフレーム内で顧客情報と決済情報を安全に取得できるようにする
  • ページ上に Dodo Payments の商品、合計金額、その他の情報を表示する
  • SDK のメソッドとイベントを使用して高度なチェックアウト体験を構築する
Inline Checkout Cover Image

仕組み

Inline checkout は、安全な Dodo Payments フレームをウェブサイトやアプリに埋め込むことで機能します。 チェックアウトフレームは、顧客情報の収集と決済情報の取得を処理します。ページには商品一覧、合計金額、チェックアウト内容を変更するためのオプションが表示されます。SDK により、ページとチェックアウトフレームが相互に連携できます。 Dodo Payments は、チェックアウト完了時にサブスクリプションを自動作成します。作成後はプロビジョニングできます。
Inline checkout フレームは、機密性の高い決済情報をすべて安全に処理するため、お客様側で追加の認証を取得しなくても PCI 準拠を実現できます。

優れた Inline Checkout とは

顧客が、誰から何を購入し、いくら支払うのかを把握できることが重要です。 コンプライアンスに準拠し、コンバージョンに最適化された inline checkout を構築するには、実装に次の要素を含める必要があります。
Inline checkout example with required elements labeled

Example inline checkout layout showing required elements

  1. 継続課金情報: 継続課金の場合は、請求頻度と更新時の支払総額。トライアルの場合は、トライアル期間。
  2. 商品の説明: 購入内容の説明。
  3. 取引合計: 小計、税額、総合計を含む取引合計。通貨も必ず表示してください。
  4. Dodo Payments フッター: Dodo Payments、販売規約、プライバシーポリシーの情報を含む、フッターまで完全な inline checkout フレーム。
  5. 返金ポリシー: Dodo Payments の標準返金ポリシーと異なる場合は、お客様の返金ポリシーへのリンク。
フッターを含む完全な inline checkout フレームを常に表示してください。法的情報を削除または非表示にすると、コンプライアンス要件に違反します。

顧客の利用フロー

チェックアウトフローは、checkout session の設定によって決まります。設定によっては、すべての情報が1ページに表示される場合と、複数のステップに分かれて表示される場合があります。
1

Customer opens checkout

商品または既存のトランザクションを渡して inline checkout を開くことができます。SDK を使用してページ上の情報を表示・更新し、顧客の操作に応じて商品を更新するには SDK のメソッドを使用します。Initial checkout page with items list and payment form
2

Customer enters their details

Inline checkout ではまず、顧客にメールアドレスと国を入力してもらい、必要に応じて ZIP または郵便番号を入力してもらいます。このステップで必要な情報を収集し、税額と利用可能な決済オプションを決定します。顧客情報を事前入力し、保存済みの住所を表示することで、利用体験を効率化できます。
3

Customer selects payment method

情報を入力すると、利用可能な決済方法と決済フォームが表示されます。場所に応じて、クレジットカードまたはデビットカード、PayPal、Apple Pay、Google Pay、その他の現地の決済方法が選択肢に含まれる場合があります。保存済みの決済方法がある場合は表示すると、チェックアウトを迅速化できます。Available payment methods and card details form
4

Checkout completed

Dodo Payments は、取引ごとに最適な acquirer へ決済をルーティングし、成功する可能性を最大化します。顧客には、構築可能な成功時のワークフローが表示されます。Success screen with confirmation checkmark
5

Dodo Payments creates subscription

Dodo Payments は顧客のサブスクリプションを自動作成します。作成後はプロビジョニングできます。顧客が使用した決済方法は、更新やサブスクリプション変更のために保存されます。Subscription created with webhook notification

クイックスタート

数行のコードで Dodo Payments Inline Checkout を始められます。
ページに対応する id を持つコンテナ要素があることを確認してください: <div id="dodo-inline-checkout"></div>

ステップごとの統合ガイド

1

Install the SDK

Dodo Payments Checkout SDK をインストールします。
2

Initialize the SDK for Inline Display

SDK を初期化し、displayType: 'inline' を指定します。また、checkout.breakdown イベントをリッスンして、リアルタイムの税額と合計金額で UI を更新してください。
3

Create a Container Element

チェックアウトフレームを挿入する HTML 要素を追加します。
4

Open the Checkout

コンテナの checkoutUrlelementId を指定して DodoPayments.Checkout.open() を呼び出します。
5

Test Your Integration

  1. 開発サーバーを起動します。
  1. チェックアウトフローをテストします。
    • inline frame にメールアドレスと住所を入力します。
    • カスタム注文概要がリアルタイムで更新されることを確認します。
    • テスト用の認証情報で決済フローをテストします。
    • リダイレクトが正しく機能することを確認します。
onEvent コールバックに console log を追加している場合、ブラウザのコンソールに checkout.breakdown イベントが記録されます。
6

Go Live

本番環境に移行する準備ができたら、次の手順を実行します。
  1. モードを 'live' に変更します。
  1. checkout URL をバックエンドの本番 checkout session に更新します。
  2. 本番環境で完全なフローをテストします。

完全な React の例

この例では、inline checkout とともにカスタム注文概要を実装し、checkout.breakdown イベントを使用して両者を同期する方法を示します。

API リファレンス

設定

初期化オプション

Checkout オプション

メソッド

Checkout を開く

指定したコンテナに checkout frame を開きます。
追加のオプションを渡して checkout の動作をカスタマイズすることもできます。

Checkout を閉じる

checkout frame をプログラムで削除し、event listener をクリーンアップします。

ステータスを確認する

checkout frame が現在挿入されているかどうかを返します。

Events

SDK は onEvent callback を通じてリアルタイムイベントを提供します。Inline checkout では、checkout.breakdown が UI の同期に特に役立ちます。

Checkout Breakdown Data

checkout.breakdown event は次のデータを提供します。

Breakdown Event の理解

checkout.breakdown event は、アプリケーションの UI を Dodo Payments checkout state と同期する主な方法です。 発生するタイミング:
  • 初期化時: checkout frame が読み込まれ、準備が完了した直後。
  • 住所変更時: 顧客が国を選択したとき、または税額の再計算につながる郵便番号を入力したとき。
フィールドの詳細: 主な統合のヒント:
  1. 通貨のフォーマット: 価格は常に最小通貨単位の整数で返されます(例: USD のセント、JPY の円)。表示するには 100(または適切な 10 の累乗)で割るか、Intl.NumberFormat のような formatting library を使用してください。
  2. 初期状態の処理: checkout の初回読み込み時、ユーザーが請求先情報を入力するかコードを適用するまで、taxdiscount0 または null になる場合があります。UI でこれらの状態を適切に処理してください(例: ダッシュ を表示する、または行を非表示にする)。
  3. 「Final Total」と「Total」: total は標準価格の計算結果ですが、取引の信頼できる値は finalTotal です。finalTotal が存在する場合、動的な調整を含め、顧客のカードに実際に請求される金額を正確に反映します。
  4. リアルタイムのフィードバック: tax field を使用して、税がリアルタイムで計算されていることをユーザーに示します。これにより checkout page に「ライブ感」が生まれ、住所入力時の離脱を減らせます。

実装オプション

Package Manager によるインストール

Step-by-Step Integration Guide に従い、npm、yarn、または pnpm でインストールします。

CDN による実装

ビルド手順なしですばやく統合するには、次の CDN を使用できます。

決済方法の更新

Inline checkout は、サブスクリプションの 決済方法の更新 に対応しています。アクティブなサブスクリプションの更新や保留中のサブスクリプションの再有効化など、顧客が決済方法を更新する必要がある場合、ページレイアウト内に更新フローを直接表示できます。

仕組み

  1. Update Payment Method API を呼び出して payment_link を取得します。
  1. 返された payment_linkcheckoutUrl として渡し、inline checkout を開きます。
inline frame には決済方法の収集フォームのみが表示されます。顧客はページを離れずに新しいカード情報を入力するか、保存済みの決済方法を選択できます。

保留中のサブスクリプションの場合

on_hold status のサブスクリプションで決済方法を更新すると、Dodo Payments は未払い残高に対する請求を自動的に作成します。再有効化を確認するには、payment.succeededsubscription.active webhooks を監視してください。
type: 'existing'payment_method_id とともに Update Payment Method API に渡すことで、新しい情報を収集する代わりに既存の保存済み決済方法を使用することもできます。

エラー処理

SDK は event system を通じて詳細なエラー情報を提供します。onEvent callback では、必ず適切なエラー処理を実装してください。
問題が発生した際に優れたユーザー体験を提供するため、checkout.error event を必ず処理してください。

ベストプラクティス

  1. レスポンシブデザイン: コンテナ要素に十分な幅と高さを確保してください。iframe は通常、コンテナいっぱいに広がります。
  2. 同期: checkout.breakdown event を使用して、カスタム注文概要や価格表を checkout frame の表示内容と同期させます。
  3. スケルトン状態: checkout.opened event が発生するまで、コンテナにローディングインジケーターを表示します。
  4. クリーンアップ: コンポーネントのアンマウント時に DodoPayments.Checkout.close() を呼び出し、iframe と event listener をクリーンアップします。
ダークモードを実装する場合は、inline checkout frame と最適に統合できるよう、背景色に #0d0d0d を使用することをおすすめします。

決済ステータスの検証

決済の成功または失敗を判断する際、inline checkout events だけに依存しないでください。webhooks や polling を使用したサーバー側の検証を必ず実装してください。

サーバー側の検証が不可欠な理由

inline checkout events はリアルタイムのフィードバックを提供しますが、決済ステータスの唯一の信頼できる情報源にしてはいけません。ネットワーク障害、ブラウザのクラッシュ、ユーザーによるページ終了などにより、イベントが失われる可能性があります。信頼性の高い決済検証を行うには、次のことを実施してください。
  1. サーバーで webhook events をリッスンする - Dodo Payments は決済ステータスの変更時に webhooks を送信します
  2. polling mechanism を実装する - フロントエンドからサーバーにステータス更新を問い合わせます
  3. 両方の方法を組み合わせる - webhook を主な情報源とし、polling をフォールバックとして使用します

推奨アーキテクチャ

実装手順

1. checkout events をリッスンする - ユーザーが pay をクリックしたら、ステータス検証の準備を開始します。
2. サーバーを polling する - webhook によって更新された決済ステータスをデータベースで確認する endpoint を作成します。
3. サーバー側で webhooks を処理する - Dodo が payment.succeeded または payment.failed webhooks を送信したら、データベースを更新します。詳細は Webhooks documentation を参照してください。

トラブルシューティング

  • elementId が、DOM に実際に存在する divid と一致することを確認します。
  • displayType: 'inline'Initialize に渡されていることを確認します。
  • checkoutUrl が有効であることを確認します。
  • checkout.breakdown event をリッスンしていることを確認します。
  • 税額は、ユーザーが checkout frame に有効な国と郵便番号を入力した後にのみ計算されます。

Digital Wallets の有効化

Apple Pay、Google Pay、その他の digital wallets の設定について詳しくは、Digital Wallets ページを参照してください。

Apple Pay のクイックセットアップ

ドメインの検証が必要なのは、inline (embedded) checkout の場合のみです。hosted checkout では必要ありません。
Apple Pay は overlay checkout では利用できません。
Apple Pay はダッシュボードからドメインごとに検証します。
1

Open Wallet domains

Settings → Payment Methods に移動し、Apple Pay の行で Manage domains をクリックします。
Manage domains button on the Apple Pay row in Payment Methods settings

Open Wallet domains from the Apple Pay row

2

Download the domain association file

Wallet domains パネルから、関連付けファイルをダウンロードします。
Wallet domains panel with the Download file button

Download the Apple Pay domain association file

3

Register your domain

Register domain をクリックし、inline checkout を埋め込むドメイン(例:shop.example.com)を入力してから、Continue をクリックします。
Register a domain form with a domain entered

Register the domain where you embed inline checkout

4

Host the file on your domain

次の場所でホストします:
HTTPS 経由で提供し、リダイレクトなしでアクセスできる必要があります。また、Content-Type: application/octet-stream または text/plain を付けて提供してください。
5

Verify the domain

Verify domain をクリックします。Dodo Payments はファイルが公開されていることを確認し、Apple にドメインを送信します。
Verify your domain screen with the association file host path and Verify domain button

Verify the hosted association file

6

Confirm it's active

ステータスが Active になると、そのドメインで Apple Pay が有効になります。Enabled のトグルを使用して、ドメインごとに有効または無効にします。
Wallet domains list showing domains with an Active Apple Pay status and Enabled toggles

Verified domains show an Active status

7

Test the integration

  1. Apple デバイスで checkout を開く
  2. Apple Pay ボタンが表示されることを確認する
  3. テスト取引を完了する

ブラウザのサポート

Dodo Payments Checkout SDK は、次のブラウザをサポートしています:
  • Chrome (latest)
  • Firefox (latest)
  • Safari (latest)
  • Edge (latest)
  • IE11+

Inline checkout と Overlay checkout

ユースケースに適した checkout タイプを選択してください:
checkout エクスペリエンスを最大限に制御し、シームレスなブランディングを実現したい場合は、inline checkout を使用します。既存ページへの変更を最小限に抑えて素早く統合する場合は、overlay checkout を使用します。

関連リソース

Overlay Checkout

素早いモーダルベースの統合には overlay checkout を使用します。

Checkout Sessions API

checkout エクスペリエンスを実現する checkout sessions を作成します。

Webhooks

webhook を使用して、サーバー側で payment events を処理します。

Integration Guide

Dodo Payments の統合に関する完全ガイドです。
さらにサポートが必要な場合は、Discord community に参加するか、developer support team までお問い合わせください。
最終更新日 2026年7月31日