メインコンテンツへスキップ

Documentation Index

Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt

Use this file to discover all available pages before exploring further.

チェックアウトページ
Dodo Paymentsのチェックアウトは、デジタル製品やSaaSビジネス向けに設計された、コンバージョン最適化かつグローバルコンプライアンス対応のチェックアウトです。複数通貨、言語、税金、割引、アドオン、およびビジネスに優しいコンプライアンスワークフローをサポートします。

Checkout Sessions API

ホスト型チェックアウトセッションをプログラム的に作成します。

Preview Checkout

セッションを作成する前に価格と税金を計算します。

Payment Methods

サポートされている支払い方法や設定オプション。

適応通貨

適応通貨により、顧客は好みの現地通貨で支払うことができ、信頼性とコンバージョン率が向上します。

仕組み

  1. 有効化: 設定 → ビジネス からアダプティブ通貨を有効にする
  2. 選択: お客様はチェックアウトで直接通貨を切り替えることができます
  3. 変換: 価格はリアルタイムの為替レートを使用して動的に変換されます
  4. 表示: 支払い前に最終支払額が透明に表示されます
チェックアウトでの通貨セレクタ

Adaptive Currency

対応通貨、換算手数料、払い戻しの取り扱いについて詳しくはこちら。

多言語チェックアウト

Dodo Paymentsはチェックアウトページで複数の言語をサポートしており、顧客は快適な言語で支払いを完了できます。
チェックアウトでの言語セレクタ

主なハイライト

  • チェックアウト時に直接利用可能な言語セレクター
  • UIテキスト、ラベル、システムメッセージがローカライズされています
  • アクセシビリティと国際的なコンバージョンを向上させます

サポートされている言語

チェックアウトページは21言語に対応しています:
LanguageCode
Arabicar
Catalanca
Chinesezh
Dutchnl
Englishen
Frenchfr
Germande
Hebrewhe
Indonesianid
Italianit
Japaneseja
Koreanko
Malayms
Polishpl
Portuguesept
Romanianro
Russianru
Spanishes
Swedishsv
Thaith
Turkishtr
チェックアウトセッションを作成する際にforce_languageパラメータを設定すると、特定の言語を強制できます。詳細はCheckout Sessions APIをご覧ください。

自動税額計算

税額は顧客の請求先所在地に基づいて自動的に計算され、GST、VAT、売上税の要件に手動設定なしで準拠します。

税額計算の仕組み

1

Location Detection

税ルールは、顧客の国(該当する場合は地域)に基づいて適用されます。
2

Dynamic Updates

税額は以下のタイミングで自動更新されます:
  • 国が変更されたとき
  • 住所が更新されたとき
3

Transparent Display

支払い前に最終的な税内訳が明確に表示されます。
税額計算は完全に自動化されています。標準的なデジタル商品およびSaaS製品には手動設定は不要です。

法人税IDのサポート

登録法人の場合、チェックアウトで顧客が法人税ID(例:VAT/GST番号)を入力できます。

税ID入力時の動作

  • 税の適格性がリアルタイムで検証されます
  • 該当する税の免除またはリバースチャージルールが適用されます
  • チェックアウトの税額が即時更新されます
チェックアウトでの事業者税ID入力
これは主にB2B SaaSやデジタルサービスに有効で、法人顧客が税の免除対象となる場合に役立ちます。

割引コード

顧客はダッシュボードで作成した割引またはプロモコードをチェックアウトページ上で直接適用できます。

チェックアウト体験

  1. 顧客が割引コードを入力する
  2. 割引が即時に検証される
  3. 更新された価格と節約額が明確に表示される
チェックアウトでの割引コード入力

API統合

割引コードを事前に適用するか、割引入力欄を有効にします:
const session = await client.checkoutSessions.create({
  product_cart: [
    { product_id: 'prod_abc', quantity: 1 }
  ],
  discount_code: 'WELCOME20', // Pre-apply a code
  feature_flags: {
    allow_discount_code: true // Show discount input field
  },
  return_url: 'https://yoursite.com/return'
});

Discount Codes

割引コードの作成と管理方法について学びます。

Validate Discount by Code

コード名を使って割引を検索および検証します。

スマート住所収集

チェックアウトは、より迅速な完了のために柔軟な住所入力をサポートします。

利用可能なオプション

OptionDescription
Google Address Autofillオートコンプリートによる素早い選択
Manual Entry完全な住所のための細かい制御
Country Selection税金およびコンプライアンスロジックに影響
住所収集は、コンバージョン最大化のためにスピード、正確性、グローバル対応のバランスを取りつつコンプライアンスを確保します。

電話番号の収集

チェックアウト中に電話番号フィールドを表示するかどうか、またその必須性をチェックアウトセッションのフィーチャーフラグを使用して制御します。
フラグデフォルト動作
allow_phone_number_collectiontrueチェックアウトフォームで電話番号フィールドを表示します
require_phone_numberfalse電話番号フィールドを必須にします(フォーム検証が非空の値を強制します)
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_abc', quantity: 1 }],
  feature_flags: {
    allow_phone_number_collection: true,
    require_phone_number: true
  },
  return_url: 'https://yoursite.com/return'
});
require_phone_number: trueallow_phone_number_collection: true を必要とします。電話番号の収集が無効になっている場合、APIはセッションを拒否します。
require_phone_number を B2B SaaS、規制対象産業、またはサポート、詐欺審査、コンプライアンスのために確認された連絡チャネルが必要なフローに使用します。

カスタムフィールド

カスタムフォームフィールドを定義することで、チェックアウト中に顧客から追加情報を収集します。これは会社名、チームサイズ、紹介元、または他のビジネス固有の情報を集めるのに役立ちます。

利用可能なフィールドタイプ

タイプ説明
text単一行のテキスト入力
number数値入力
email検証付きメールアドレス
url検証付きURL
date日付ピッカー
dropdown定義されたオプションから選択
booleanYes/Noトグル

const session = await client.checkoutSessions.create({
  product_cart: [
    { product_id: 'prod_abc', quantity: 1 }
  ],
  custom_fields: [
    {
      key: 'company_name',
      label: 'Company Name',
      field_type: 'text',
      required: true
    },
    {
      key: 'team_size',
      label: 'Team Size',
      field_type: 'dropdown',
      required: true,
      options: ['1-10', '11-50', '51-200', '200+']
    }
  ],
  return_url: 'https://yoursite.com/return'
});
顧客の回答は自動的にWebhookペイロード(payment.succeededsubscription.active)およびAPI応答のcustom_field_responses配列に含まれます。チェックアウトセッションごとに最大5つのカスタムフィールドを定義できます。

Custom Fields Guide

カスタムフィールドの設定と回答へのアクセスについて詳しく学びましょう。

プライバシーポリシーと利用規約の承認

法的およびコンプライアンスの透明性を確保するために:
これは、GDPRコンプライアンスを含むグローバルな消費者保護およびデータプライバシー要件を満たすのに役立ちます。

コレクションチェックアウト

商品コレクションにより、顧客は複数の関連する商品(例:スターター、プロ、エンタープライズプラン)を1つのチェックアウトで閲覧して選択できる統一されたチェックアウト体験を提供します。

動作の仕組み

  1. 全商品が表示される: 顧客はコレクション内のすべてのアクティブな商品を閲覧します
  2. 最初の商品が自動選択される: コレクション内の最初の商品が自動的に選択されます
  3. オプションを比較する: 顧客は選択前に価格と機能を比較できます
  4. 単一選択: 商品を選択すると、標準の支払いフローでチェックアウトが進行します

コレクションチェックアウトの作成

const session = await client.checkoutSessions.create({
  product_collection_id: 'pdc_abc123',
  product_cart: [], // Required: pass an empty array for collection checkout
  return_url: 'https://yoursite.com/return'
});
product_collection_id を使用する場合、空の product_cart 配列を渡します。割引コードはセッション作成時に事前適用できません。

Product Collections

統一されたチェックアウト体験のために商品コレクションの作成と管理について学びましょう。

チェックアウトセッションの設定

Checkout Sessions API を使用してチェックアウトの動作を制御します:
const session = await client.checkoutSessions.create({
  product_cart: [
    { product_id: 'prod_abc', quantity: 1 }
  ],
  customer: {
    email: 'customer@example.com',
    name: 'Jane Doe'
  },
  billing_currency: 'EUR', // Set specific currency
  discount_code: 'PROMO10',
  feature_flags: {
    allow_discount_code: true
  },
  return_url: 'https://yoursite.com/return',
  cancel_url: 'https://yoursite.com/pricing', // Optional: where to redirect on cancel
  metadata: {
    order_ref: 'ORD-12345'
  }
});
支払い後、顧客は自動的にクエリパラメータが追加された状態であなたのreturn_urlにリダイレクトされます — payment_id または subscription_idstatusemail、および license_key(該当する場合)。Checkout Sessions guide で完全なリストを参照してください。

Checkout Sessions API

チェックアウトセッションの完全なAPIリファレンス。

Checkout Integration Guide

チェックアウト統合のステップバイステップガイド。

チェックアウトテーマのカスタマイズ

APIを介してチェックアウトセッションを作成する際に、customization.theme_config パラメータを使用してチェックアウトページの外観をブランドに合わせてカスタマイズします。色、フォント、ボーダー半径、ボタンのテキストをライトモードおよびダークモードの両方で設定できます。
カスタムテーマのチェックアウトページ

Design & Theme Customization

ダッシュボードから事前構築されたテーマ、タイポグラフィ、カラー、およびライブプレビューでテーマをビジュアルに設定します。
このセクションでは、customization.theme_config を使用したサーバーサイドAPIテーマ設定について説明します。Checkout SDK(オーバーレイまたはインラインチェックアウト)を使用している場合は、Overlay Checkout または Inline Checkout のテーマカスタマイズセクションを参照してください。これらは camelCase プロパティ(例: bgPrimary の代わりに bg_primary)を使用します。

テーマ設定オプション

プロパティ説明
lightライトモードの色設定
darkダークモードの色設定
font_primary_urlプライマリフォントのURL
font_secondary_urlセカンダリフォントのURL
font_sizeフォントサイズ:xssmmdlgxl2xl
font_weightフォントウェイト:normalmediumboldextraBold
radiusUI要素のボーダー半径(例:4px0.5rem8px
pay_button_text支払いボタンのカスタムテキスト(例:「購入を完了する」、「今すぐ購読」)

色設定(ライト/ダークモード)

各モード(light および dark)は次の色プロパティをサポートします:
プロパティ説明
bg_primary背景のプライマリカラー
bg_secondary背景のセカンダリカラー
text_primaryテキストのプライマリカラー
text_secondaryテキストのセカンダリカラー
text_placeholderテキストのプレースホルダーカラー
text_errorテキストのエラーカラー
text_successテキストの成功カラー
border_primaryボーダーのプライマリカラー
border_secondaryボーダーのセカンダリカラー
button_primaryプライマリボタンの背景色
button_primary_hoverプライマリボタンのホバーカラー
button_secondaryセカンダリボタンの背景色
button_secondary_hoverセカンダリボタンのホバーカラー
button_text_primaryプライマリボタンのテキストカラー
button_text_secondaryセカンダリボタンのテキストカラー
input_focus_border入力フォーカスボーダーカラー
すべての色フィールドは標準のCSS色形式を受け入れます:
  • Hex: #fff#ffffff#ffffffff
  • RGB/RGBA: rgb(255, 255, 255)rgba(255, 255, 255, 0.5)
  • HSL/HSLA: hsl(120, 100%, 50%)hsla(120, 100%, 50%, 0.5)
  • 名名: redbluetransparent

const session = await client.checkoutSessions.create({
  product_cart: [
    { product_id: 'prod_abc', quantity: 1 }
  ],
  customization: {
    theme_config: {
      // Custom fonts
      font_primary_url: 'https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap',
      font_size: 'md',
      font_weight: 'medium',
      radius: '8px',
      pay_button_text: 'Complete Purchase',
      
      // Light mode colors
      light: {
        bg_primary: '#ffffff',
        bg_secondary: '#f5f5f5',
        text_primary: '#1a1a1a',
        text_secondary: '#666666',
        button_primary: '#0066ff',
        button_primary_hover: '#0052cc',
        button_text_primary: '#ffffff',
        border_primary: '#e0e0e0'
      },
      
      // Dark mode colors
      dark: {
        bg_primary: '#1a1a1a',
        bg_secondary: '#2d2d2d',
        text_primary: '#ffffff',
        text_secondary: '#a0a0a0',
        button_primary: '#3385ff',
        button_primary_hover: '#4d99ff',
        button_text_primary: '#ffffff',
        border_primary: '#404040'
      }
    }
  },
  return_url: 'https://yoursite.com/return'
});
すべての色プロパティを指定する必要はありません。指定されていないプロパティはデフォルトのテーマ値を使用します。
Last modified on May 14, 2026