Customer Portalは、顧客がサポートに問い合わせることなく、サブスクリプションを管理し、請求書を表示・ダウンロードし、ライセンスキーを取得できるホスト型サイトです。
Create Portal Session (API)
Subscriptions

Customer Portalとは?
ポータルは、顧客が次の操作を行える、ビジネス名を表示したセルフサービスサイトです。- 請求履歴へのアクセス:過去の支払いを表示し、請求書をダウンロードします。
- サブスクリプションの管理:サブスクリプションの詳細を表示し、一時停止・再開したり、設定に応じて直ちにキャンセルしたり、次回請求日にキャンセルしたりできます。
- 支払い方法の更新:サブスクリプションの支払い方法を変更したり、保留中のサブスクリプションを再有効化したりできます。
- ライセンスキーの取得:購入に紐付けられたライセンスキーを確認できます。
- アプリに戻る:
return_urlを渡すと、ポータルにビジネスへの戻るリンクが表示されます。モバイルでは、ヘッダーの戻る矢印をタップするとポータルの概要に戻ります。
顧客をブロックすると、その顧客のポータルは読み取り専用になります。顧客は引き続きサインインして請求書、サブスクリプション、ライセンスキーを確認できますが、サブスクリプションのキャンセル、一時停止、再開、プラン変更、支払い方法の更新はできません。ポータルプロファイルは
read_only: trueを返すため、カスタム統合で独自のコントロールを無効にできます。主なメリット
- サポート量の削減:顧客が一般的な請求に関する依頼を自分で処理できます。
- 迅速なアクセス:顧客はサインインするとすぐに請求書とライセンスキーを取得できます。
- 解約リスクの低減:顧客は請求前に更新日とプランの詳細を確認できます。
- 署名付きで有効期限のあるリンク:すべてのサインインリンクには署名が付けられ、24時間後に期限切れになります。
- ローカライズされた体験:ポータルは21言語に対応しており、顧客のブラウザー設定から言語を選択します。
アクセス方法
顧客は静的リンクまたは動的リンクからポータルにアクセスします。静的リンク(メールベースのアクセス)
静的リンクに有効期限はありません。顧客がリンクを開いてメールアドレスを入力すると、メールでサインインリンクが届きます。 静的リンクは環境によって異なります。 Test Mode(テストおよび開発用):{business_id}をビジネスIDに置き換え、顧客にリンクを共有します。Share InviteダイアログのStatic Linkには、すでにビジネスIDが含まれています。

1
Merchant Flow
- Sales → Customersに移動して顧客を開くか、リストのInvite列を使用します。
- Share Inviteをクリックします。
- Static Linkをコピーして顧客に共有します。
2
Customer Flow
- 静的リンクを開きます。
- 購入時に使用したメールアドレスを入力し、Get Access Linkをクリックします。
- メールで届いたサインインリンクを開きます。リンクは24時間有効です。
ページには常に同じ確認メッセージが表示されます。Dodo Paymentsは、そのメールアドレスがあなたのビジネスの顧客に属する場合にのみリンクを送信するため、このページから顧客であるかどうかが知られることはありません。
Test Modeではサインインメールは送信されません。Test Modeのポータルを開くには、Dynamic Linkを使用するか、APIでセッションを作成します。
動的リンク(マジックリンク)
動的リンクを使用すると、メールの手順を介さず、1人の顧客をポータルに直接サインインさせられます。作成から24時間後に期限切れになります。
1
Merchant Flow
- Sales → Customersに移動して顧客を開きます。
- Share Inviteをクリックします。
- Dynamic Linkをコピーして顧客に共有します。
2
Customer Flow
- 動的リンクを開きます。
- メールアドレスを入力せずにCustomer Portalが直接開きます。
ポータルの機能
ポータルの概要は1ページで構成されています。デスクトップでは、左側のパネルにポータルの説明が表示されます。メイン領域には、顧客のサブスクリプション、支払い方法、請求履歴が一覧表示されます。Active Subscriptions
Payment Methods
Billing History
Billing Information
ポータルの概要
概要ページには、アクティブなサブスクリプション、保存済みの支払い方法、請求履歴が1つのスクロール可能なビューに表示されます。
支払い方法と請求履歴
ページの下部には保存済みの支払い方法と請求履歴が表示され、各支払いのステータスと各請求書のダウンロードリンクを確認できます。
言語サポート
Customer Portalは21言語に対応しているため、顧客は自分の言語でサブスクリプション、支払い方法、請求履歴を管理できます。言語選択の仕組み
- 自動検出:初回アクセス時に、ポータルはブラウザーから優先言語を読み取り、対応していればその言語で読み込みます。対応していない場合は英語を使用します。
- 手動変更:顧客はデスクトップとモバイルのページ右下にある言語セレクターから、いつでも言語を変更できます。
- 設定の保存:ポータルは
NEXT_LOCALECookieに選択した言語を1年間保存するため、再訪時にも同じ言語が使用されます。
対応言語
プラン変更(アップグレード/ダウングレード)
顧客は、同じProduct Collection内の製品間で、ポータルからアップグレードまたはダウングレードできます。利用可能な操作
プラン変更の仕組み
- 顧客がサブスクリプションの詳細ページでChange Planをクリックします。
- ポータルにProduct Collection内の他のプランが一覧表示されます。
- 顧客がプランを選択します。Confirm Plan Changeパネルに、現在のプランと更新後のプラン、明細の内訳(旧プランのクレジットと新プランの請求)、税額、今すぐ支払う金額が表示されます。顧客はここで割引コードも入力できます。
- 顧客が、支払額を表示するPayボタンで確定します。
- Dodo Paymentsが日割り計算を行い、保存済みの支払い方法から請求するか、プラン変更の支払いをpayment linkで回収する設定の場合はホスト型checkoutページで請求します(payment linkによるプラン変更の支払い回収を参照)。
- サブスクリプションが新しいプランに移行します。移行が直ちに行われるか、請求が成功した後にのみ行われるかは、支払い失敗の処理の設定によって異なります。payment linkで支払うプラン変更の場合は、常に支払いを待ってから移行します。


プラン変更は同じコレクション内の製品間でのみ可能で、移行先の製品はサブスクリプション製品または従量課金製品である必要があります。買い切り製品は拒否されます。
Payment Linkによるプラン変更の支払い収集
デフォルトでは、即時のプラン変更による請求は顧客の保存済み支払い方法から行われます。Collect Plan Change Payments by Payment Linkをオンにすると、代わりにポータルが新しいタブでホスト型Dodo Payments checkoutページを開き、顧客はそこで支払います。これは、請求が発生するアップグレードとダウングレードに適用されます。

チェックアウトの支払いが成功するまで、サブスクリプションは現在のプランのまま維持されます。支払いに失敗した場合や、支払いが完了しないまま放棄された場合も、サブスクリプションは変更されません。支払いが拒否された後、顧客は新しいチェックアウトリンクを取得するため、Customer Portalから再度プラン変更を開始します。スケジュールされたダウングレード(
effective_at: next_billing_date)はチェックアウトを経由せず、通常どおり次回の請求日に適用されます。Plan Change via Payment Link (API)
Businessの制御
Settings → Subscriptionsで、顧客がサブスクリプションに対して行える操作を設定します。- Allow Subscription Updates:顧客によるアップグレードまたはダウングレードを許可します。デフォルトではオフです。
- Allow Immediate Cancellation:顧客がサブスクリプションを終了し、直ちにアクセスを失うことを許可します。デフォルトではオンです。
- Allow Cancellation at Next Billing Date:顧客が支払い済みの期間の終了時にキャンセルできるようにします。デフォルトではオンです。
- Allow Subscription Pause:顧客が自分のサブスクリプションを一時停止・再開できるようにします。デフォルトではオフです。
- Collect Plan Change Payments by Payment Link:保存済みの支払い方法に請求する代わりに、顧客をcheckoutページに移動して即時のプラン変更料金を支払わせます。デフォルトではオフです。
Product Collections
サブスクリプションの詳細
アクティブなサブスクリプションでManage subscriptionをクリックすると、次の情報を表示する詳細ページが開きます。- Plan details:サブスクリプション名、価格、更新日、有効期間。
- Payment method:サブスクリプションの支払い方法とEditボタン。
- Billing information:名前、メールアドレス、電話番号、請求先住所と、名前および請求先住所用のEditボタン。
- Billing history:このサブスクリプションのすべての支払いを一覧表示する表。
- Pause Subscription:セルフサービスでの一時停止を許可している場合に表示されます。
- Cancel Subscription:キャンセルダイアログを開きます。

サブスクリプションのキャンセル
顧客はサブスクリプションの詳細ページからキャンセルします。Cancel Subscriptionをクリックすると、2つのオプションを含むダイアログが開きます。- Cancel at next billing date:現在の請求期間が終了するまでサブスクリプションはアクティブのままになり、その後キャンセルされます。
- Cancel now:サブスクリプションが直ちにキャンセルされます。
Settings → Subscriptionsの2つの設定で、これらのオプションを個別に制御します:Allow Immediate CancellationとAllow Cancellation at Next Billing Date。どちらもデフォルトではオンです。一方をオフにすると、そのオプションだけが削除されるため、片方だけを提供できます。両方をオフにすると、Cancel Subscriptionが無効になり、ツールチップで顧客に問い合わせるよう案内します。キャンセルがすでに予定されている顧客にはRevoke Cancellationが表示され、キャンセルを取り消して継続できます。また、Cancel immediatelyも表示されます。これはCancel nowと同じ操作です。これらの設定は、あなた自身が行うキャンセルには影響しません。

キャンセル理由
確定する前に、顧客は固定リストから理由を選択して**Why are you cancelling?**に回答する必要があります。また、Additional commentsに最大500文字の任意コメントを追加できます。Dodo Paymentsは両方をサブスクリプションに保存し、webhook payloadとAPIで返すため、顧客が離れる理由を分析し、再獲得メッセージを最適化できます。
理由はサブスクリプションの
cancellation_feedbackフィールドに、コメントはcancellation_commentに保存されます。
subscription.cancelled webhook payloadにも含まれます。APIでキャンセルまたはキャンセルの予定設定を行う際に自分で設定するには、PATCH /subscriptions/{subscription_id}に渡します。
サブスクリプションの休止
一時停止により、顧客はサブスクリプションを継続するかキャンセルするかの中間の選択肢を得られます。一時停止中のサブスクリプションは請求を停止しますが、プランと履歴は保持するため、再度購入せずに後から再開できます。 顧客はサブスクリプションの詳細ページからPause your subscriptionダイアログを開きます。ダイアログには現在のプランが表示され、アクセスが直ちに終了することを警告し、請求日がどのように移動するかを説明します。顧客はPause subscriptionで確定します。
- **アクセスは直ちに停止します。**サブスクリプションに含まれる機能、ダウンロード、ライセンスキーは、サブスクリプションが再開されるまで使用できません。
- **一時停止に終了日はありません。**顧客が再開するまで、サブスクリプションは一時停止されたままです。
- **支払い済みの期間は失われません。**次回請求日と更新日は、どちらも一時停止期間の長さだけ先に延長されます。
activeに戻り、アクセスが復元されます。
Settings → SubscriptionsのAllow Subscription Pause設定でセルフサービスの一時停止を制御します。この設定はデフォルトではオフです。オフの間、顧客は新たに一時停止を開始できませんが、顧客自身が開始した一時停止は引き続き再開できます。ダッシュボードから開始した一時停止には影響しません。
How Pausing Works
支払い方法の更新
顧客は、サブスクリプションの詳細ページで支払い方法の横にあるEditをクリックして、サブスクリプションの支払い方法を変更します。これは、支払い失敗後に保留中となったサブスクリプションを顧客が再有効化する方法でもあります。保留中のサブスクリプションの再有効化
支払いに失敗すると、サブスクリプションはon_holdに移行します。ポータルにはYour subscription is currently on holdと表示され、顧客に支払い方法の更新を求めます。顧客が更新すると、Dodo Paymentsは次の処理を行います。
- 残りの未払い額に対するchargeを作成します
- chargeのinvoiceを生成します
- 新しい支払い方法で支払いを回収します
- 支払いが成功すると、サブスクリプションを
activeに再有効化します
on_hold サブスクリプションの料金が支払われると、サブスクリプションは再び active になります。Grace Period中のサブスクリプションの再有効化
猶予期間を設定している場合、更新に失敗すると、サブスクリプションはon_holdではなくpast_dueに移行します。顧客は期限までアクセスを維持できます。
回復の手順は同じです。顧客が支払い方法を更新すると、サブスクリプションはactiveに戻ります。何もしなかった場合、期限になると、設定に応じてサブスクリプションはon_holdまたはcancelledに移行し、アクセスが終了します。
支払い方法の更新フロー
1
Access Subscription Details
ポータルの概要からサブスクリプションのManage subscriptionをクリックします。
2
Click Edit on Payment Method
支払い方法の横にあるEditをクリックします。
3
Select or Add Payment Method
保存済みの支払い方法を選択するか、Add Payment Methodをクリックして新しい情報を入力します。
4
Confirm Changes
更新を確定します。
on_holdのサブスクリプションでは、残りの未払い額に対するchargeが作成されます。5
Complete Payment (If On Hold)
サブスクリプションが保留中の場合、顧客は残りの未払い額を支払うページにリダイレクトされます。支払いが成功すると、サブスクリプションが再有効化されます。
6
Confirmation
ポータルで支払い方法が更新されたことを確認します。保留中のサブスクリプションの場合は、再びアクティブになったことも確認します。
未払い金がない場合、カードを変更すると、新しいカードを確認するために金額0の支払いが作成されます。この支払いについて顧客に支払い領収メールは送信されませんが、
payment.succeeded webhookは引き続き発生します。カードの更新と未払い金の支払いを同時に行った場合は、通常の領収メールが送信されます。統合例
アプリから顧客をポータルに移動させるには、サーバー上でポータルセッションを作成し、返されたlink に顧客をリダイレクトします。リンクの有効期間は24時間です。
send_email: true を渡します。
Unified Customer Portal
お客様のビジネスのポータルに加えて、Dodo Paymentsはcustomer.dodopayments.comでUnified Customer Portalを運営しています。ここでは、顧客はDodo Paymentsを通じて販売するすべてのビジネスからの購入とサブスクリプションを確認・管理できます。
Unified Portalの機能
- ビジネスをまたいだ可視性: すべてのDodo Paymentsマーチャントからの購入とサブスクリプションを1か所で確認できます。
- 一元管理: 1つのサイトから、異なるビジネスのサブスクリプションを管理できます。
- 請求履歴の一元化: すべての購入について、請求書と支払い履歴にアクセスできます。
- シングルサインイン: メールアドレスで一度サインインするだけで、すべてのDodo Paymentsマーチャントからの購入にアクセスできます。
トラブルシューティング
- リンクの有効期限切れ: 新しい動的リンクを生成して、顧客に送信します。
- メールアドレスが認識されない: 購入時に使用したメールアドレスを顧客に使用してもらいます。お客様のビジネスの顧客ではないメールアドレスには、サインインメールは送信されません。
- サブスクリプションが保留中: 顧客はポータルで支払い方法を更新します。支払いが成功すると、Dodo Paymentsは残りの未払い金を請求し、サブスクリプションを再開します。
- 支払い方法の更新に失敗:
on_holdサブスクリプションの更新中に支払いに失敗した場合、サブスクリプションは保留中のままになります。顧客は別の支払い方法でもう一度試すことができます。