Skip to main content
アップセルとダウンセルでは、保存済みの支払い方法を使って追加商品やプラン変更を顧客に提案できます。これにより支払い情報の再入力なしでワンクリック購入が可能になり、コンバージョン率が劇的に向上します。

Post-Purchase Upsells

チェックアウト直後に補完的な商品をワンクリックで提供します。

Subscription Upgrades

自動按分と即時請求で顧客を上位プランへ移行させます。

Cross-Sells

支払い情報を再入力せずに既存顧客に関連商品を追加します。

概要

アップセルとダウンセルは強力な収益最適化戦略です:
  • アップセル:より高価値の製品やアップグレード(例:BasicではなくProプラン)を提案
  • ダウンセル:顧客が断ったりダウングレードする際により低価格の代替案を提示
  • クロスセル:補完的な商品(例:アドオン、関連アイテム)を提案
Dodo Paymentsはpayment_method_idパラメータを通じてこれらのフローを可能にし、顧客がカード情報を再入力することなく保存済みの支払い方法に課金できます。

主な利点

仕組み

前提条件

アップセル・ダウンセルを実装する前に以下を確認してください:
  • 保存済みの支払い方法を持つ顧客(初回購入後に自動的に保存)
  • ダッシュボードで設定したアップセル商品(1回限りの支払い、サブスクリプション、またはアドオン)
  • payment.succeeded、payment.failed、subscription.plan_changed イベントを処理するよう設定された webhook エンドポイント

顧客の支払い方法の取得

アップセルを提供する前に、顧客の保存済み支払い方法を取得します。
顧客がチェックアウトを完了すると、支払い方法は自動的に保存されます。明示的に保存する必要はありません。

購入後のワンクリックアップセル

購入が正常に完了した直後に追加の商品を提供します。支払い方法はすでに保存されているため、顧客はワンクリックで購入できます。

実装

チェックアウトセッションに payment_method_id を渡す場合は、confirm: true も設定し、既存の customer_id を指定する必要があります。支払い方法はその顧客に属していなければなりません。POST /payments には confirm フィールドがありません。

サブスクリプションのアップグレード

自動的な日割り計算処理により、顧客を上位ティアのサブスクリプションプランへ移行します。

確定前のプレビュー

プラン変更によって顧客に請求される金額を正確に示すため、必ず変更をプレビューします。

アップグレードの実行

日割り計算モード

アップグレード時の顧客への請求方法を選択します。

difference_immediately

価格差を即時に請求します($30→$80 = $50)。シンプルなアップグレードに適しています。

prorated_immediately

旧プランの未使用期間分をクレジットとして付与し、新プランの1サイクル分を全額請求します。未使用期間をクレジットする場合に適しています。

full_immediately

新プランの料金全額を請求し、残りの期間は考慮しません。請求サイクルをリセットする場合に適しています。

do_not_bill

即時請求なしでプランを変更します。新プランは次回更新時に請求され、元の請求日は維持されます。厚意によるアップグレードや無料移行に適しています。
わかりやすいアップグレードフローには difference_immediately を使用してください。請求額は単純な価格差になります。現在のプランの未使用期間分を顧客にクレジットし、新プランの1サイクル分を請求する場合は、prorated_immediately を使用してください。

クロスセル

既存の顧客が支払い情報を再入力しなくても、関連商品を追加できるようにします。

実装

サブスクリプションのダウングレード

顧客が下位ティアのプランへの移行を希望する場合は、自動的にクレジットを適用してスムーズに移行します。

ダウングレードの仕組み

  1. 顧客がダウングレードをリクエスト(Pro → Basic)
  2. システムが現在のプランの残りの価値を計算
  3. 今後の更新に使用するクレジットをサブスクリプションに追加
  4. 顧客を直ちに新しいプランへ移行
プレビューの immediate_charge.summary.customer_credits は、customer_credits_currency で指定される、顧客のクレジットウォレットの通貨で表示されます。たとえば、顧客が USD サブスクリプションの料金を INR で支払う場合など、サマリーの currency とは異なることがあります。
difference_immediately を使用したダウングレードによるクレジットはサブスクリプション単位で適用され、今後の更新に自動的に充当されます。これらはクレジットベース課金のエンタイトルメントとは異なります。

購入後のアップセルフロー:完全な例

購入が成功した後にアップセルを提供する方法を示す、完全な実装例を紹介します。

ベストプラクティス

  • タイミングを戦略的に設定する:顧客が購入意欲を持っている購入成功直後にアップセルを提供します。その他の効果的なタイミングとして、機能の利用におけるマイルストーン達成時、プランの上限に近づいたとき、オンボーディング完了時などがあります。
  • 支払い方法を検証する:ワンクリック決済を実行する前に、支払い方法が商品の通貨に対応していること、有効期限が切れていないこと、顧客本人のものであることを確認します。
  • 失敗に適切に対処する:ワンクリック決済に失敗した場合は、標準のチェックアウトフローにフォールバックし、明確なメッセージで顧客に通知して、支払い方法の更新を案内します。
  • 価値を明確に示す:顧客が現在のプランと比べて何を得られるのかを示し、合計金額ではなく価格差を強調し、ソーシャルプルーフを活用します。
  • 顧客の選択を尊重する:常に簡単に辞退できる方法を提供し、辞退後に同じアップセルを繰り返し表示せず、どのアップセルが成約につながったかを追跡してオファーを最適化します。

監視する Webhook

アップセルおよびダウングレードフローでは、次の Webhook イベントを追跡します。

Webhook Integration Guide

Webhook エンドポイントの設定と検証方法を確認できます。

関連リソース

Subscription Upgrade Guide

プラン変更、日割り計算モード、失敗への対処方法に関する詳細ガイドです。

Checkout Sessions

すべてのオプションを使用してチェックアウトセッションを作成するための完全なリファレンスです。

Customer Payment Methods API

顧客の支払い方法を一覧表示するための API リファレンスです。

Add-ons

追加の収益を得るために、柔軟なアドオンでサブスクリプションを拡張します。
最終更新日 2026年9月26日