Skip to main content
Customer Blocklist は、既知の悪意あるユーザーが再びあなたから購入するのを防ぎます。ブロックされた顧客は支払いができず、有効なサブスクリプションを失います。Customer Portal でアカウントを確認できますが、サブスクリプションを変更することはできません。Settings → Blocklist または Blocklist API からブロックリストを管理します。
ブロックされた顧客の合計数、識別子・ブロックしたユーザー・ブロック日時の列を含むブロック済みエントリのテーブル、Add to Blocklistボタンを表示するブロックリスト設定ページ

The Blocklist tab under Settings

顧客をブロックするとどうなるか

ブロックは追加するとすぐに、以下の各領域で有効になります。
ブロックしても過去の支払いは返金されず、未解決の disputes にも影響しません。返金が必要な場合は、Refunds ページから別途実行してください。

ブロックによる顧客の照合方法

customer ID または email で顧客をブロックできます。どちらの場合も、ブロックは顧客レコードではなく、顧客のメールアドレスを基準に適用されます。
  • そのメールアドレスを持つすべてのレコードが対象です。 Checkout では、以前利用したメールアドレスに対して新しい顧客レコードを作成できるため、単一の customer ID に対するブロックは回避される可能性があります。メールアドレスに対するブロックは回避できません。
  • エイリアスも対象です。 メールアドレスは小文字に変換され、+alias を削除したうえで比較されます。そのため、buyer+promo@example.com と Buyer@example.com は同じ顧客として扱われます。アドレス内のドットはそのまま保持されます。
  • ビジネス単位で適用されます。 ブロックはあなたのビジネスにのみ適用されます。同じメールアドレスを持つ顧客は、Dodo Payments 上の他のビジネスからは引き続き購入できます。
  • メールアドレスは既存の顧客に属している必要があります。 いずれの顧客にも一致しないメールアドレスはブロックできません。また、メールアドレスを持たない顧客レコードもブロックできません。

顧客をブロックする

Blocklist ページまたは顧客自身のページから顧客をブロックできます。
1

Open the Blocklist

ダッシュボードで Settings → Blocklist に移動します。
2

Add to Blocklist

Add to Blocklist をクリックし、Customer ID or email に顧客のメールアドレスまたは customer ID を入力します。パネルに一致する顧客が表示されます。
3

Confirm

パネルで Add to Blocklist をクリックします。顧客の live subscriptions は直ちにキャンセルされ、エントリが Blocked entries テーブルに表示されます。一部のサブスクリプションがまだキャンセル中の場合、ダッシュボードに通知が表示されます。しばらくしてからページを更新して確認してください。
ダッシュボードで理由を入力するよう求められることはありません。顧客をブロックした理由を記録するには、顧客のページに note を追加するか、API 経由でブロックする際に reason を送信します。

ブロックされた顧客を管理する

Blocklist ページには、現在有効なすべてのブロックが一覧表示されます。
  • Total Customers Blocked: 現在ブロックされている顧客の数です。
  • Blocked entries: ブロックごとに1行が表示され、入力した Identifier(email または customer ID)、Blocked By、Blocked On が含まれます。Blocked By にはブロックを追加したチームメンバーが表示されます。API key で追加されたブロックの場合は API と表示されます。
  • Search Identifier と Filters: email または customer ID でエントリを検索したり、Blocked By と Blocked Between で絞り込んだりできます。
  • Action: See Details でブロックされた顧客のページを開き、Unblock でブロックを解除します。Viewer role のチームメンバーはブロックを解除できません。

ブロックされた顧客のページ

Blocked customer の Customer Information page。Blocked バッジ、Unblock Customer ボタン、note と Added to blocklist イベントを含む Activity Log、customer ID を含む Reference IDs パネルが表示されています

A blocked customer's details page

Sales → Customers または Blocklist ページからブロックされた顧客を開くと、次を確認できます。
  • 顧客名の横に表示される Blocked バッジと Unblock Customer ボタン。
  • Activity Log: 顧客が blocklist に追加された日時、理由、その後チームが追加した note。Add Note をクリックすると、chargeback の結果など、新しい情報を記録できます。note は後から API 経由で編集できます。
  • Reference IDs: このブロックに関連付けられた customer ID。コピーして使用できます。

顧客のブロックを解除する

顧客のブロックを解除するには、顧客のページで Unblock Customer をクリックするか、Blocklist ページの Action 列で Unblock を選択します。その後、Unblock で確定します。
  • Checkout と Customer Portal の変更は直ちに再び利用できるようになります。
  • キャンセルされたサブスクリプションは再有効化されません。 顧客は再度購入する必要があります。
  • エントリは note とともに監査記録として保持されますが、有効な一覧には表示されなくなります。
  • 同じ顧客を後から再度ブロックできます。その場合は新しいエントリが作成されます。

顧客に表示される内容

ブロックされた顧客に、ブロックされたことが伝えられることはありません。
  • Checkout では、支払いが一般的な拒否メッセージ「This payment cannot be processed.」で失敗します。API はエラーコード PAYMENT_NOT_PERMITTED とともに HTTP 403 を返しますが、原因は示されません。実際の理由は Dodo Payments のログにのみ記録されます。
  • Customer Portal では、すべての情報を確認できますが、アカウントを変更するすべての操作が拒否されます。拒否された操作は、PORTAL_ACTION_NOT_PERMITTED とメッセージ「This action is not available.」とともに HTTP 403 を返します。ポータルの profile には read_only: true が設定されるため、custom portal integration では独自の controls を無効化できます。ポータルが blocklist エントリやその note を公開することはありません。
独自の product で checkout または portal のエラーを表示する場合も、この動作を維持してください。PAYMENT_NOT_PERMITTED と PORTAL_ACTION_NOT_PERMITTED には一般的なメッセージを表示します。ブロックされたことを明らかにすると、悪意あるユーザーに別のメールアドレスを試すよう促すことになります。

API を使用する

Blocklist API を使用すると、たとえば chargeback が発生した際に、独自の tooling から顧客をブロックできます。秘密の API key が必要です。どの key でもエントリの一覧表示と note の読み取りができます。write access が有効な key では、ブロック、ブロック解除、note の管理が可能です。ダッシュボードでもチーム role に同じ権限分割が適用されます。Viewer role は一覧を読み取り、Editor role は変更を行えます。 Blocklist API には6つの endpoints があります。 一覧には有効なブロックのみが返されます。絞り込むには、identifier(email または customer ID に対する部分一致、大文字小文字を区別しない)、blocked_by_email、created_at_gte、または created_at_lte を渡します。デフォルトでは1ページあたり10件が返されます。最大100件を返すには page_size を設定し、ページを移動するには page_number を使用します。

顧客をブロックする

body の top level に customer_id または email のいずれかを送信します。両方を送信した場合、ブロックには customer_id が使用されます。reason は任意で、エントリのページに表示されます。新しいブロックは HTTP 201 を返します。
レスポンスには、エントリと、その call によってキャンセルされたサブスクリプションが記載されます。
Response
特に注意すべき fields は次のとおりです。
すでにブロックされている顧客をブロックすると、サブスクリプションのキャンセル待ちがない限り、CUSTOMER_ALREADY_BLOCKED とともに HTTP 409 が返されます。その場合、call は代わりにキャンセル処理を続行し、HTTP 200 を返します。

顧客がブロックされているか確認する

Get Customer Detail は、2つの追加 fields を返します。blocked_at は active block が追加された時刻で、顧客がブロックされていない場合は null です。blocklist_entry_id は、その block の元になったエントリです。List Customers endpoint では、どちらも空になります。

顧客のブロックを解除する

endpoint は成功時に HTTP 204 を返し、ID が active block に一致しない場合は HTTP 404 を返します。ブロックを解除すると checkout と portal writes が復元されますが、サブスクリプションは再有効化されません。

ベストプラクティス

  • 理由を記録する。 ブロックに短い理由を記載し、その後発生したことを note に追加しておくと、ダッシュボードを離れることなく support team が全体像を把握できます。
  • chargeback の後にブロックする。 dispute または payment から顧客のページを開いてブロックするか、dispute.opened webhook と POST /blocklist/customers を使用して自動化します。Disputes を参照してください。
  • subscriptions_swept を確認する。 API 経由でブロックする場合は、レスポンスが true を返すまで call を繰り返し、live subscription が残らないようにします。
  • 返金は別途行う。 ブロックで停止できるのは今後の購入のみです。顧客に返金する必要がある場合は、通常どおり payment を refund してください。
  • 一覧を確認する。 問題が解決した顧客はブロックを解除します。ブロック解除はすぐに反映され、履歴も保持されます。

関連情報

Customer Management

顧客を検索し、詳細ページを開いて、サブスクリプションを管理します。

Customer Portal

ブロックされた顧客がポータルで実行できること、できないこと。

Disputes

chargeback に対応し、ブロックが必要かどうかを判断します。

Error Codes

PAYMENT_NOT_PERMITTED と PORTAL_ACTION_NOT_PERMITTED の意味。
最終更新日 2026年9月26日