顧客ブロックリストは、悪意のあることが分かっている顧客が再び購入するのを防ぎます。ブロックされた顧客は支払いができず、有効なサブスクリプションを失い、Customer Portalでは内容を表示できますが変更はできません。Settings → BlocklistまたはBlocklist APIから管理できます。

The Blocklist tab under Settings
顧客をブロックするとどうなるか
ブロックしても過去の支払いは返金されず、進行中のdisputesにも影響しません。返金を行う場合は、Refundsページから別途実行してください。
顧客とのブロック照合方法
customer IDまたはemailでブロックできます。どちらの場合も、ブロックは顧客レコードではなく顧客のメールアドレスをキーにします。- そのメールアドレスを持つすべてのレコードが対象になります。 再来店した顧客のメールアドレスでCheckoutから新しい顧客レコードが作成される可能性があるため、1つのcustomer IDだけをブロックすると回避される可能性があります。メールアドレスをブロックすれば回避できません。
- エイリアスも対象になります。 メールアドレスは小文字に変換され、
+aliasを削除したうえで比較されるため、buyer+promo@example.comとBuyer@example.comは同じ顧客として扱われます。アドレス内のドットはそのまま保持されます。 - ビジネス単位で適用されます。 ブロックはお客様のビジネスにのみ適用されます。同じメールアドレスの顧客が、Dodo Payments上の他のビジネスから購入することは可能です。
- メールアドレスは既存の顧客に属している必要があります。 お客様のサービスで一度もチェックアウトしていないメールアドレスはブロックできません。また、メールアドレスのない顧客レコードもブロックできません。
顧客をブロックする
- From Settings
- From the customer's page
1
Open the Blocklist
ダッシュボードでSettings → Blocklistに移動します。
2
Add to Blocklist
Add to Blocklistをクリックし、顧客のメールアドレスまたはcustomer IDを入力します。後でチームがブロックの理由を確認できるよう、理由を追加してください。
3
Confirm
ブロックを確定します。顧客の有効なサブスクリプションは直ちにキャンセルされ、エントリがBlocked entriesテーブルに表示されます。
ブロックされた顧客の管理
Blocklistページには、現在有効なすべてのブロックが一覧表示されます。- Total Customers Blocked:現在ブロックされている顧客数です。
- Blocked entries:ブロック1件につき1行表示されます。入力したIdentifier(メールアドレスまたはcustomer ID)、Blocked By(ブロックを追加したチームメンバー)、Blocked Onが含まれます。
- Search IdentifierとFilters:メールアドレスまたはcustomer IDでエントリを検索したり、ブロックしたユーザーや日時で絞り込んだりできます。
- Action:顧客のブロック解除など、エントリを管理します。
ブロックされた顧客のページ

A blocked customer's details page
- 顧客名の横に表示されるBlockedバッジと、Unblock Customerボタン。
- Activity Log:顧客がブロックリストに追加された日時、理由、それ以降にチームが追加したメモ。Add Noteをクリックすると、チャージバックの結果など、新しい情報を記録できます。メモは後から編集できます。
- Reference IDs:このブロックに紐づくcustomer IDをコピーできます。
顧客のブロックを解除する
顧客のページでUnblock Customerをクリックするか、Blocklistページのアクションメニューを使用します。- CheckoutとCustomer Portalでの変更が直ちに復元されます。
- キャンセルされたサブスクリプションは再開されません。 顧客は再度購入する必要があります。
- エントリはメモとともに監査記録として保持されますが、有効なリストには表示されなくなります。
- 後から同じ顧客を再びブロックできます。その場合は新しいエントリが作成されます。
顧客に表示される内容
ブロックされた顧客に、ブロックされたことが通知されることはありません。- Checkoutでは、支払いが一般的な拒否メッセージ「This payment cannot be processed.」で失敗します。APIはエラーコード
PAYMENT_NOT_PERMITTEDとともにHTTP403を返しますが、原因は示されません。実際の理由はDodo Paymentsのログにのみ記録されます。 - Customer Portalでは、すべての内容を表示できますが、すべての操作が無効になります。ブロックされた書き込み操作は、メッセージ「This action is not available.」とともに
PORTAL_ACTION_NOT_PERMITTEDを返します。ポータルのプロフィールにはread_only: trueが付与されるため、カスタムポータル統合で独自のコントロールを無効にできます。ポータルからブロックリストのエントリやメモが表示されることはありません。
APIを使用する
Blocklist APIを使用すると、チャージバックが発生した場合などに、独自のツールから顧客をブロックできます。秘密のAPI keyが必要です。どのキーでもエントリの一覧表示とメモの読み取りができます。write accessが有効なキーでは、ブロック、ブロック解除、メモの管理ができます。ダッシュボードでもチームロールに同じ区分が適用されます。Viewerロールはリストを読み取り、Editorロールは変更を行います。顧客をブロックする
リクエストボディのトップレベルにcustomer_idまたはemailのいずれかを指定します。reasonは任意で、エントリのページに表示されます。
Response
すでにブロックされている顧客をブロックすると、HTTP
409とCUSTOMER_ALREADY_BLOCKEDが返されます。ただし、サブスクリプションのキャンセルがまだ完了していない場合は、代わりにそのキャンセルが続行されます。顧客がブロックされているか確認する
Get Customer Detailは、2つの追加フィールドを返します。blocked_atは有効なブロックが追加された時刻(顧客がブロックされていない場合はnull)、blocklist_entry_idはそのブロックの元になったエントリです。List Customers endpointでは、どちらも空のままです。
顧客のブロックを解除する
204を返します。ブロックを解除するとCheckoutとポータルでの書き込みが復元されますが、サブスクリプションは再開されません。
ベストプラクティス
- 理由を記録する。 ブロック時に短い理由を記録し、その後に発生した事象をメモに残しておくと、ダッシュボードを離れることなくサポートチームが経緯を把握できます。
- チャージバック後にブロックする。 disputeまたは支払いから顧客を開いてそこでブロックするか、
dispute.openedwebhookとPOST /blocklist/customersを使って自動化します。Disputesを参照してください。 subscriptions_sweptを確認する。 APIでブロックする場合は、レスポンスがtrueを返すまで呼び出しを繰り返し、有効なサブスクリプションが残らないようにします。- 返金は別途行う。 ブロックで停止されるのは今後の購入のみです。顧客に返金する必要がある場合は、通常どおり支払いを返金してください。
- リストを確認する。 問題が解決した顧客のブロックを解除します。ブロック解除は即時に反映され、履歴も保持されます。
関連情報
Customer Management
顧客を検索し、詳細ページを開いて、サブスクリプションを管理します。
Customer Portal
顧客がポータルで実行できること、できないことを説明します。
Disputes
チャージバックに対応し、ブロックが妥当となるタイミングを判断します。
Error Codes
PAYMENT_NOT_PERMITTEDとPORTAL_ACTION_NOT_PERMITTEDの意味を説明します。