Skip to main content
本页是 取消订阅(Merchant API Key) 同一端点的 customer-token 调用视图。行为与响应结构完全一致 — customer 路径额外接受下方两个可选的取消原因字段,其余只有认证方式和调用方位置不同。
认证方式: Session Token — 见 Customer Endpoints(customer 或 customer 角色)
orderId 必须属于该 session token 所绑定的 customer。为某 customer mint 的 token 不能取消另一 customer 的订阅。

取消行为

取消待生效的换方案新订阅会作废那笔变更:新订阅直接变为 canceled,其 PSP 取消按发起时刻投递,因此原定切换时刻既不激活也不扣款。原订阅不会被放回生效 —— 它保持 canceling 并单向走向 canceled恢复订阅对它返回 400。买家想继续付费,请重新下单。
取消 past_due 订阅立即生效而非周期末生效,且不发送「取消中,可用至 X 日」邮件 —— 计费周期已经结束。此类取消不可撤回恢复订阅对「发起取消时存在未结清扣款」的订阅一律返回 400。

请求体

取消原因只在买家侧凭证发起、且取消动作真实成功后留存 —— 一次取消动作一行,因此取消 → 恢复 → 再取消会留下两行。原因写入是旁路:写入失败时取消照常成功、响应体不变;取消失败(400 / 500 / 502)时不产生记录。商户通过 GraphQL 读取已留存的原因。 不传 cancelReason 时的行为,取决于本次调用使用的凭证: 两个渠道刻意不共用这个哨兵码:把「从未询问」与「问过但拒答」混进同一个值,会让商户无法解读 not_provided 的占比。若你的集成也向买家展示原因选项、并希望「跳过」被计入分母,请显式提交 cancelReason(值域开放,例如 not_provided)。

请求示例

成功响应 (200)

响应字段

错误响应

重试策略:4xx 一律不要重试 — 修正请求后重发。5xx 指数退避重试(起步 5s,最多 3 次)。