客户阻止列表可阻止已知的不良行为者再次向您购买。被阻止的客户无法付款,其有效订阅会被取消,并且只能在 Customer Portal 中查看内容,无法进行任何更改。可从 Settings → Blocklist 或通过 Blocklist API 进行管理。

The Blocklist tab under Settings
阻止客户后会发生什么
阻止客户不会退还过去的付款,也不会影响未结争议。如需退款,请从 Refunds 页面单独发起。
阻止如何匹配客户
您可以按客户 ID或邮箱进行阻止。无论使用哪种方式,阻止依据的都是客户邮箱,而不是客户记录:- 该邮箱对应的每条记录都会受到影响。 回访邮箱进行结账时可能会创建新的客户记录,因此仅阻止单个客户 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,然后输入客户的邮箱或客户 ID。添加原因,以便团队之后了解添加阻止的原因。
3
Confirm
确认阻止。客户的有效订阅会立即取消,该条目会出现在 Blocked entries 表格中。
管理被阻止的客户
Blocklist 页面会列出所有有效的阻止记录:- Total Customers Blocked:当前被阻止的客户数量。
- Blocked entries:每条阻止记录占一行,其中包含您输入的标识符(邮箱或客户 ID)、Blocked By(添加阻止的团队成员)和 Blocked On。
- Search Identifier 和 Filters:按邮箱或客户 ID 查找记录,或按阻止者和阻止时间进行筛选。
- Action:管理记录,包括解除对客户的阻止。
被阻止客户的页面

A blocked customer's details page
- 客户姓名旁的 Blocked 徽章,以及 Unblock Customer 按钮。
- Activity Log:客户被添加到阻止列表的时间、原因,以及团队之后添加的任何备注。点击 Add Note 记录新的背景信息,例如拒付处理结果。备注之后可以编辑。
- Reference IDs:与此阻止记录关联的客户 ID,可直接复制。
解除对客户的阻止
在客户页面点击 Unblock Customer,或使用 Blocklist 页面上的操作菜单。- 结账和 Customer Portal 中的更改会立即恢复。
- 已取消的订阅不会重新激活。 客户必须重新购买。
- 该记录会作为审计记录及其备注保留,但不再显示在有效列表中。
- 之后可以再次阻止同一客户,这会创建一条新记录。
客户看到的内容
被阻止的客户永远不会被告知自己已被阻止。- 在结账时,付款会以通用拒付信息失败:“This payment cannot be processed.” API 会返回 HTTP
403和错误代码PAYMENT_NOT_PERMITTED,其中不包含任何原因。实际原因只会写入 Dodo Payments 的日志。 - 在 Customer Portal 中,所有内容都可见,但所有操作都会被禁用。被阻止的写入操作会返回
PORTAL_ACTION_NOT_PERMITTED,并显示消息 “This action is not available.” Portal 配置文件会携带read_only: true,以便自定义 portal 集成禁用自身的控件。Portal 不会暴露阻止列表记录或其中的备注。
使用 API
Blocklist API 允许您从自己的工具中执行阻止操作,例如收到拒付时。它需要您的私有 API key。任何密钥都可以列出记录并读取备注。启用写入权限的密钥可以执行阻止、解除阻止和管理备注。控制面板对团队角色采用相同的权限划分:Viewer 角色可以读取列表,Editor 角色可以进行更改。阻止客户
在请求正文的顶层发送customer_id 或 email。reason 为可选字段,会显示在记录页面中。
Response
阻止已经被阻止的客户会返回 HTTP
409 和 CUSTOMER_ALREADY_BLOCKED,除非仍有订阅等待取消。在这种情况下,该调用会继续执行取消操作。检查客户是否已被阻止
Get Customer Detail 会返回两个额外字段:blocked_at,即有效阻止的添加时间(如果客户未被阻止,则为 null);以及 blocklist_entry_id,即对应的记录。List Customers 端点会将这两个字段留空。
解除对客户的阻止
204。解除阻止会恢复结账和 portal 写入操作,但不会重新激活任何订阅。
最佳实践
- 记录原因。 在阻止记录中填写简短原因,并为之后发生的任何事项添加备注,可让支持团队无需离开控制面板即可了解完整情况。
- 在发生拒付后进行阻止。 从争议或付款记录中打开客户并在那里阻止,或者通过
dispute.openedwebhook 和POST /blocklist/customers自动执行。请参阅争议。 - 检查
subscriptions_swept。 通过 API 阻止客户时,重复调用,直到响应报告true,确保不会遗留有效订阅。 - 单独退款。 阻止只会停止未来购买。如果您需要向客户退款,请像往常一样退还付款。
- 定期查看列表。 对问题已解决的客户解除阻止。解除阻止会立即生效,同时保留历史记录。
相关内容
Customer Management
查找客户,打开其详情页面,并管理其订阅。
Customer Portal
被阻止的客户在 portal 中可以和不可以执行的操作。
Disputes
处理拒付,并判断何时需要阻止客户。
Error Codes
PAYMENT_NOT_PERMITTED 和 PORTAL_ACTION_NOT_PERMITTED 的含义。