概要
インラインチェックアウトを使用すると、ウェブサイトやアプリケーションにシームレスに統合されたチェックアウト体験を作成できます。オーバーレイチェックアウトとは異なり、インラインチェックアウトは支払いフォームをページレイアウトに直接埋め込みます。 インラインチェックアウトを使用すると、次のことができます:- アプリやウェブサイトと完全に統合されたチェックアウト体験を作成する
- Dodo Paymentsが顧客と支払い情報を安全にキャプチャする最適化されたチェックアウトフレームを提供する
- Dodo Paymentsからのアイテム、合計、その他の情報をページに表示する
- SDKメソッドとイベントを使用して高度なチェックアウト体験を構築する

仕組み
インラインチェックアウトは、ウェブサイトやアプリに安全なDodo Paymentsフレームを埋め込むことで機能します。 チェックアウトフレームは、顧客情報の収集と支払い詳細のキャプチャを処理します。あなたのページには、アイテムリスト、合計、チェックアウトの内容を変更するためのオプションが表示されます。SDKを使用すると、ページとチェックアウトフレームが相互にやり取りできます。 Dodo Paymentsは、チェックアウトが完了すると自動的にサブスクリプションを作成し、あなたがプロビジョニングできるようにします。インラインチェックアウトフレームは、すべての機密支払い情報を安全に処理し、あなたの側での追加認証なしにPCI準拠を保証します。
良いインラインチェックアウトとは?
顧客が誰から購入しているのか、何を購入しているのか、いくら支払っているのかを知ることが重要です。 コンプライアンスがあり、コンバージョンに最適化されたインラインチェックアウトを構築するには、実装に次の要素を含める必要があります:
必要な要素がラベル付けされたインラインチェックアウトレイアウトの例
- 定期情報:定期的な場合、どのくらいの頻度で繰り返されるかと更新時の合計金額。トライアルの場合、トライアルの期間。
- アイテムの説明:購入されるものの説明。
- 取引合計:小計、総税、合計金額を含む取引合計。通貨も含めることを忘れないでください。
- Dodo Paymentsのフッター:Dodo Paymentsに関する情報、販売条件、プライバシーポリシーを含む完全なインラインチェックアウトフレーム。
- 返金ポリシー:Dodo Paymentsの標準返金ポリシーと異なる場合は、返金ポリシーへのリンク。
顧客の旅
チェックアウトフローは、チェックアウトセッションの設定によって決まります。チェックアウトセッションをどのように設定するかによって、顧客はすべての情報が1ページに表示されるか、複数のステップに分かれるチェックアウトを体験します。1
顧客がチェックアウトを開く
アイテムまたは既存のトランザクションを渡すことでインラインチェックアウトを開くことができます。SDKを使用してページ上の情報を表示および更新し、顧客のインタラクションに基づいてアイテムを更新するためのSDKメソッドを使用します。

2
顧客が詳細を入力する
インラインチェックアウトは、最初に顧客にメールアドレスを入力し、国を選択し、(必要に応じて)郵便番号を入力するように求めます。このステップでは、税金と利用可能な支払いオプションを決定するために必要なすべての情報を収集します。顧客の詳細を事前に入力し、保存された住所を提示して体験をスムーズにすることができます。
3
顧客が支払い方法を選択する
詳細を入力した後、顧客には利用可能な支払い方法と支払いフォームが表示されます。オプションには、クレジットカードまたはデビットカード、PayPal、Apple Pay、Google Pay、そして顧客の所在地に基づくその他のローカル支払い方法が含まれる場合があります。利用可能な場合は、保存された支払い方法を表示してチェックアウトを迅速化します。

4
チェックアウト完了
Dodo Paymentsは、すべての支払いをその販売に最適なアクワイアラーにルーティングし、成功の可能性を最大限に高めます。顧客は、あなたが構築できる成功ワークフローに入ります。

5
Dodo Paymentsがサブスクリプションを作成
Dodo Paymentsは、顧客のために自動的にサブスクリプションを作成し、あなたがプロビジョニングできるようにします。顧客が使用した支払い方法は、更新やサブスクリプションの変更のためにファイルに保持されます。

クイックスタート
Dodo Paymentsのインラインチェックアウトを数行のコードで始めましょう:ステップバイステップの統合ガイド
1
SDKをインストール
Dodo Payments Checkout SDKをインストールします:
2
インライン表示のためにSDKを初期化
SDKを初期化し、
displayType: 'inline' を指定します。また、リアルタイムの税金および合計計算でUIを更新するために checkout.breakdown イベントをリッスンする必要があります。3
コンテナ要素を作成
チェックアウトフレームが挿入されるHTMLに要素を追加します:
4
チェックアウトを開く
DodoPayments.Checkout.open() を呼び出し、 checkoutUrl とコンテナの elementId を指定します:5
統合をテスト
- 開発サーバーを起動します:
- チェックアウトフローをテストします:
- インラインフレームにメールアドレスと住所の詳細を入力します。
- カスタム注文概要がリアルタイムで更新されることを確認します。
- テスト資格情報を使用して支払いフローをテストします。
- リダイレクトが正しく機能することを確認します。
checkout.breakdown イベントがブラウザのコンソールに記録されているのが見えるはずです。 onEvent コールバックにコンソールログを追加した場合。6
本番環境に移行
本番環境の準備ができたら:
- モードを
'live'に変更します:
- チェックアウトURLをバックエンドからのライブチェックアウトセッションを使用するように更新します。
- 本番環境で完全なフローをテストします。
完全なReactの例
この例では、インラインチェックアウトとともにカスタム注文概要を実装し、checkout.breakdown イベントを使用して同期を保つ方法を示します。
APIリファレンス
設定
初期化オプション
| オプション | タイプ | 必須 | 説明 |
|---|---|---|---|
mode | "test" | "live" | はい | 環境モード。 |
displayType | "inline" | "overlay" | はい | チェックアウトを埋め込むには "inline" に設定する必要があります。 |
onEvent | function | はい | チェックアウトイベントを処理するためのコールバック関数。 |
チェックアウトオプション
| オプション | タイプ | 必須 | 説明 |
|---|---|---|---|
checkoutUrl | string | はい | チェックアウトセッションのURL。 |
elementId | string | はい | チェックアウトを表示するDOM要素のid。 |
options.showTimer | boolean | いいえ | チェックアウトタイマーを表示または非表示にします。デフォルトはtrueです。無効にすると、セッションが期限切れになるとcheckout.link_expiredイベントが受信されます。 |
options.showSecurityBadge | boolean | いいえ | セキュリティバッジを表示または非表示にします。デフォルトはtrueです。 |
options.manualRedirect | boolean | いいえ | 有効にすると、チェックアウトは完了後に自動的にリダイレクトされません。代わりに、checkout.statusおよびcheckout.redirect_requestedイベントを受信して、リダイレクトを自分で処理します。 |
options.payButtonText | string | いいえ | 支払いボタンに表示するカスタムテキスト。 |
メソッド
チェックアウトを開く
指定されたコンテナにチェックアウトフレームを開きます。manualRedirectを使用する場合、onEventコールバック内でチェックアウトの完了を処理します:
チェックアウトを閉じる
プログラムでチェックアウトフレームを削除し、イベントリスナーをクリーンアップします。ステータスを確認
チェックアウトフレームが現在注入されているかどうかを返します。イベント
SDKは、onEventコールバックを通じてリアルタイムイベントを提供します。インラインチェックアウトの場合、checkout.breakdownは特にUIの同期に役立ちます。
| イベントタイプ | 説明 |
|---|---|
checkout.opened | チェックアウトフレームが読み込まれました。 |
checkout.breakdown | 価格、税金、または割引が更新されたときに発火します。 |
checkout.customer_details_submitted | 顧客の詳細が送信されました。 |
checkout.redirect | チェックアウトがリダイレクトを実行します(例: 銀行ページへ)。 |
checkout.error | チェックアウト中にエラーが発生しました。 |
checkout.link_expired | チェックアウトセッションが期限切れになったときに発火します。showTimerがfalseに設定されている場合のみ受信されます。 |
checkout.status | manualRedirectが有効なときに発火します。チェックアウトのステータス(succeeded、failed、またはprocessing)を含みます。 |
checkout.redirect_requested | manualRedirectが有効なときに発火します。顧客をリダイレクトするためのURLを含みます。 |
チェックアウトの内訳データ
checkout.breakdownイベントは、次のデータを提供します:
チェックアウトステータスイベントデータ
manualRedirectが有効なとき、次のデータを持つcheckout.statusイベントを受信します:
チェックアウトリダイレクト要求イベントデータ
manualRedirectが有効なとき、次のデータを持つcheckout.redirect_requestedイベントを受信します:
内訳イベントの理解
checkout.breakdownイベントは、アプリケーションのUIをDodo Paymentsのチェックアウト状態と同期させるための主要な方法です。
発火するタイミング:
- 初期化時: チェックアウトフレームが読み込まれ、準備が整った直後。
- 住所変更時: 顧客が国を選択したり、税金の再計算を引き起こす郵便番号を入力したとき。
| フィールド | 説明 |
|---|---|
subTotal | 割引や税金が適用される前のセッション内のすべてのラインアイテムの合計。 |
discount | 適用されたすべての割引の合計値。 |
tax | 計算された税額。inlineモードでは、ユーザーが住所フィールドと対話する際に動的に更新されます。 |
total | セッションの基本通貨でのsubTotal - discount + taxの数学的結果。 |
currency | 標準の小計、割引、税金の値に対するISO通貨コード(例: "USD")。 |
finalTotal | 顧客が実際に請求される金額。これには、基本価格の内訳に含まれない追加の外国為替調整やローカル支払い方法手数料が含まれる場合があります。 |
finalTotalCurrency | 顧客が実際に支払う通貨。購買力平価やローカル通貨の変換が有効な場合、currencyとは異なる場合があります。 |
- 通貨フォーマット: 価格は常に最小通貨単位(例: USDの場合はセント、JPYの場合は円)で整数として返されます。表示するには、100(または適切な10の累乗)で割るか、
Intl.NumberFormatのようなフォーマットライブラリを使用します。 - 初期状態の処理: チェックアウトが最初に読み込まれるとき、
taxおよびdiscountは、ユーザーが請求情報を提供したりコードを適用するまで0またはnullである可能性があります。UIはこれらの状態を適切に処理する必要があります(例: ダッシュ—を表示するか、行を非表示にします)。 - 「最終合計」と「合計」:
totalは標準の価格計算を提供しますが、finalTotalは取引の真実の源です。finalTotalが存在する場合、それは顧客のカードに請求される正確な金額を反映し、動的な調整を含みます。 - リアルタイムフィードバック:
taxフィールドを使用して、税金がリアルタイムで計算されていることをユーザーに示します。これにより、チェックアウトページに「ライブ」感が生まれ、住所入力ステップ中の摩擦が軽減されます。
実装オプション
パッケージマネージャーのインストール
npm、yarn、またはpnpmを使用して、ステップバイステップの統合ガイドに示されているようにインストールします。CDN実装
ビルドステップなしで迅速に統合するには、CDNを使用できます:テーマのカスタマイズ
チェックアウトの外観は、チェックアウトを開くときにthemeConfig オブジェクトを options パラメータに渡すことでカスタマイズできます。テーマ設定は、ライトモードとダークモードの両方をサポートしており、色、境界線、テキスト、ボタン、ボーダー半径をカスタマイズできます。
基本テーマ設定
完全なテーマ設定
利用可能なすべてのテーマプロパティ:ライトモードのみ
ライトテーマのみをカスタマイズしたい場合:ダークモードのみ
ダークテーマのみをカスタマイズしたい場合:部分的なテーマオーバーライド
特定のプロパティのみをオーバーライドできます。指定しないプロパティにはデフォルト値が使用されます:他のオプションとのテーマ設定
テーマ設定を他のチェックアウトオプションと組み合わせることができます:TypeScript タイプ
TypeScript ユーザーのために、すべてのテーマ設定タイプがエクスポートされています:エラーハンドリング
SDK はイベントシステムを通じて詳細なエラー情報を提供します。常にonEvent コールバック内で適切なエラーハンドリングを実装してください:
ベストプラクティス
- レスポンシブデザイン: コンテナ要素に十分な幅と高さがあることを確認してください。iframe は通常、そのコンテナを埋めるように拡張されます。
- 同期:
checkout.breakdownイベントを使用して、カスタムオーダーサマリーや価格表をユーザーがチェックアウトフレームで見る内容と同期させます。 - スケルトン状態:
checkout.openedイベントが発火するまで、コンテナ内にローディングインジケーターを表示します。 - クリーンアップ: コンポーネントがアンマウントされるときに
DodoPayments.Checkout.close()を呼び出して、iframe とイベントリスナーをクリーンアップします。
ダークモードの実装には、インラインチェックアウトフレームとの視覚的統合を最適化するために、
#0d0d0d を背景色として使用することをお勧めします。トラブルシューティング
チェックアウトフレームが表示されない
チェックアウトフレームが表示されない
elementIdが、DOM に実際に存在するdivのidと一致していることを確認してください。displayType: 'inline'がInitializeに渡されたことを確認してください。checkoutUrlが有効であることを確認してください。
UI で税金が更新されない
UI で税金が更新されない
checkout.breakdownイベントをリッスンしていることを確認してください。- 税金は、ユーザーがチェックアウトフレームに有効な国と郵便番号を入力した後にのみ計算されます。
Apple Pay の有効化
Apple Pay を使用すると、顧客は保存された支払い方法を使用して迅速かつ安全に支払いを完了できます。有効にすると、顧客はサポートされているデバイスのチェックアウトオーバーレイから直接 Apple Pay モーダルを起動できます。Apple Pay は、iOS 17+、iPadOS 17+、macOS の Safari 17+ でサポートされています。
1
Apple Pay ドメイン関連ファイルのダウンロードとアップロード
Apple Pay ドメイン関連ファイル をダウンロードします。ファイルを
/.well-known/apple-developer-merchantid-domain-association にあるウェブサーバーにアップロードします。たとえば、あなたのウェブサイトが example.com の場合、ファイルを https://example.com/well-known/apple-developer-merchantid-domain-association で利用できるようにします。2
Apple Pay の有効化をリクエスト
次の情報を含めて [email protected] にメールします:
- あなたの本番ドメイン URL (例:
https://example.com) - あなたのドメインの Apple Pay を有効にするリクエスト
Apple Pay があなたのドメインに対して有効になったら、1-2 営業日以内に確認の連絡が届きます。
3
Apple Pay の利用可能性を確認
確認の連絡を受け取った後、チェックアウトで Apple Pay をテストします:
- サポートされているデバイス (iOS 17+、iPadOS 17+、または macOS の Safari 17+) でチェックアウトを開きます。
- Apple Pay ボタンが支払いオプションとして表示されることを確認します。
- 完全な支払いフローをテストします。
ブラウザサポート
Dodo Payments Checkout SDK は、以下のブラウザをサポートしています:- Chrome (最新)
- Firefox (最新)
- Safari (最新)
- Edge (最新)
- IE11+
インライン vs オーバーレイチェックアウト
ユースケースに適したチェックアウトタイプを選択してください:| 機能 | インラインチェックアウト | オーバーレイチェックアウト |
|---|---|---|
| 統合の深さ | ページに完全に埋め込まれている | ページの上にモーダル |
| レイアウト制御 | 完全な制御 | 限定的 |
| ブランディング | シームレス | ページから分離 |
| 実装の労力 | 高い | 低い |
| 最適 | カスタムチェックアウトページ、高コンバージョンフロー | 迅速な統合、既存のページ |
関連リソース
オーバーレイチェックアウト
モーダルベースの迅速な統合にはオーバーレイチェックアウトを使用してください。
チェックアウトセッション API
チェックアウト体験を強化するためにチェックアウトセッションを作成します。
Webhooks
Webhooks を使用してサーバー側で支払いイベントを処理します。
統合ガイド
Dodo Payments の統合に関する完全なガイドです。