メインコンテンツへスキップ
Discount codes overview cover
割引コードを使用すると、ターゲットを絞ったプロモーションやインセンティブを実施できます。パーセンテージまたは固定金額の割引を作成し、制限や有効期限を設定し、製品に制限をかけ、チェックアウト時にシームレスに適用できます。

Checkout Sessions

ホストされたチェックアウト中に discount_code と UI コントロールを使用してコードを適用します。

Validate Discount

割引がその ID で有効かどうかを確認します。

Get Discount by Code

コード名(例: “SAVE20”)を使用して割引を検索し、検証します。

Create Discount (API)

プログラムで新しい割引コードを作成します。

List & Update Discounts

既存の割引を閲覧および管理し、必要に応じて更新または削除します。

Plan Change Discounts

サブスクリプションプランをアップグレードまたはダウングレードする際に、割引コードを適用します。

割引コードとは?

割引コードは、チェックアウト時に注文合計を減少させるプロモーショントークンです。次のような場面で理想的です:
  • 季節キャンペーン: ブラックフライデー、製品発売、または周年記念
  • 獲得オファー: 初回購入インセンティブや紹介報酬
  • 保持: 既存顧客に対する再獲得またはロイヤルティ報酬
  • B2Bディール: プライベートコードを通じた契約または交渉による価格設定

主な利点

  • 柔軟な割引: 割合または一定額の割引
  • ターゲット制御: 製品およびサブスクリプションサイクルで制限
  • キャンペーンガバナンス: 有効期限と使用制限
  • シームレスなチェックアウト: UIフィールドとAPIサポートによるチェックアウトセッション

割引コードの作成

Dodo Paymentsダッシュボードで割引コードを作成し、ホストされたチェックアウトまたはAPI経由で適用します。

ダッシュボード設定

  • 割引名(必須):内部およびダッシュボードに表示される名前
  • コード(必須):顧客がチェックアウト時に入力する文字列
  • タイプと金額(必須):パーセンテージまたは固定金額を設定するか、提供されたボタンでランダムコードを生成
  • 有効期限(オプション):コードが無効になる日付
  • 使用制限(オプション):全顧客にわたる最大引換回数
  • 製品制限(オプション):選択された製品に適用範囲を限定
  • サブスクリプションサイクル制限(オプション):割引が適用される請求サイクル数
  • メタデータ(オプション):内部追跡や統合のためのカスタムキー–値ペアを添付
サブスクリプションのイントロダクトリ価格にサイクル制限を使用します(例、“3か月で50%オフ”)。

チェックアウトの体験

  1. 購入者がチェックアウトフィールドにコードを入力します。
  2. 適用可能な割引が適用され、合計金額が即座に更新されます。
チェックアウトセッションで、コードを事前適用するためにdiscount_codeを渡し、入力フィールドを表示するためにfeature_flags.allow_discount_codeを設定します。

API管理

タイプと金額を用いてプログラム的に割引コードを作成します。

API Reference

割引作成APIを表示します。
すべての割引を一覧化するか、管理および監査用に詳細を取得します。

API Reference

一覧表示および取得APIを閲覧します。
内部IDの代わりに人間が読みやすいコード(例、「SAVE20」)を使用して割引を検索します。

API Reference

コード名で割引を取得します。
金額、有効期限、または制限などの割引設定を修正します。

API Reference

割引詳細の更新方法を学びます。
適用する前に割引が有効で適用可能であるかどうかを確認します。

API Reference

割引使用を検証します。
不要になった割引を無効化または削除します。

API Reference

割引を削除します。

一般的な使用ケース

  • イントロオファー: 新製品の期間限定ローンチプロモーション
  • 一括またはB2B: 選ばれた製品セットに対する契約割引
  • 保持戦略: 解約防止ワークフローでの再獲得コード
  • 季節キャンペーン: 休日またはイベントベースのプロモーション

統合例

メタデータ付きの割引を作成

内部追跡用にカスタムキー–値ペアを添付。
const discount = await client.discounts.create({
  type: 'percentage',
  amount: 1500, // 15%
  code: 'SUMMER2025',
  metadata: {
    campaign: 'summer_promo',
    source: 'email_blast'
  }
});
メタデータを使用して、キャンペーン、ソース、または内部参照IDごとに割引をタグ付けし、使用を照合し、後でROIを計測できます。

チェックアウトセッションでの割引の適用

割引を事前に適用し、コード入力UIを表示。
const session = await client.checkoutSessions.create({
  product_cart: [
    { product_id: 'prod_abc', quantity: 1 }
  ],
  discount_code: 'BLACKFRIDAY2024',
  customer: { email: 'user@example.com', name: 'Jane Doe' },
  return_url: 'https://yoursite.com/return'
});

プラン変更時に割引を適用

顧客がサブスクリプションをアップグレードまたはダウングレードするときにプロモーション価格を提供。
await client.subscriptions.changePlan('sub_123', {
  product_id: 'prod_pro',
  quantity: 1,
  proration_billing_mode: 'prorated_immediately',
  discount_code: 'UPGRADE20'
});
サブスクリプションにすでにpreserve_on_plan_change=trueの割引があり、新しいコードを渡さない場合、既存の割引は新しい製品に適用可能な場合、自動的に保持されます。

事前適用せずに割引コード入力を有効化

顧客が事前にコードを渡さずにチェックアウト時にコードを入力できるようにします。
const session = await client.checkoutSessions.create({
  product_cart: [
    { product_id: 'prod_abc', quantity: 1 }
  ],
  feature_flags: {
    allow_discount_code: true
  },
  return_url: 'https://yoursite.com/return'
});

ベストプラクティス

  • 明確な名前付け:キャンペーンの名前に合った認識可能なコードを使用
  • 時間枠を設定:緊急性を高め、悪用を防ぐための有効期限を追加
  • 賢くスコープ設定:特定の製品に制限してマージンの漏れを防止
  • 早期に検証:チェックアウトを確認する前にコードの適用性を確認
  • 影響を監視:キャンペーン別に使用状況とコンバージョンを追跡
割引コードは、取得および維持のための強力な手段です。シンプルで適切な名前のオファーから始め、徹底的に検証し、パフォーマンスに基づいて繰り返します。
Last modified on April 20, 2026