Skip to main content
本页讲怎么让订阅「到某个日期再取消」、怎么撤销,以及这期间订阅和回调是什么样的。立即取消、取消后的状态值见订阅 FAQ 和托管的订阅管理页面;字段级契约见官网 API 参考(/api/v1/subscription/cancel、/api/v1/subscription/resume)。

我能让订阅在周期结束时再取消吗?

可以,但需要账户开通。调用 /api/v1/subscription/cancel 时传 scheduledCancelAt(ISO 8601 时间),订阅就不会立即取消,而是在该时间点生效;不传或留空就是立即取消,行为和以前一致。 预约成功后,响应里的 orderStatus 是 ACTIVE(含义是「已预约取消、尚未生效」),并带回 scheduledCancelAt。之后查询订阅(/api/v1/subscription/inquiry)也会返回这个字段——只有存在尚未生效的预约时才有。 如果你的账户没有开通预约取消,带 scheduledCancelAt 的请求会被拒绝,而不会悄悄变成立即取消。渠道托管续订(如 PIX)的订阅目前也只能立即取消。被拒绝时常见的错误码是 A0062(该订阅不支持预约取消)。能否使用请联系你的 Waffo 对接人确认。

预约了取消,订阅状态会变吗?用户还能继续用吗?

不会变。预约期间订阅状态始终是 ACTIVE,照常按计划扣款,权益照常;直到取消生效那一刻,订阅才转为终态: 生效时你会照常收到订阅状态通知(SUBSCRIPTION_STATUS_NOTIFICATION)。因此如果你按「状态变为已取消才撤权益」处理,预约取消不需要额外改造;如果你想提前知道取消日期,见下一问。

预约取消会推送什么回调?

预约被受理、改期、撤销时,Waffo 会向你的 notifyURL 推送独立的通知,eventType 为 SUBSCRIPTION_CANCELLATION_SCHEDULE_NOTIFICATION,result 是订阅对象。 要点:
  • 这三种情况订阅状态都是 ACTIVE,所以不会通过 SUBSCRIPTION_STATUS_NOTIFICATION 送达,要用这个独立的通知类型才能知道预约、改期和撤销。
  • 取消真正生效时,仍由订阅状态通知告诉你终态。
建议的处理方式:收到预约通知时记录取消时间,到生效前不要撤权益;收到撤销通知时清除记录;以订阅状态通知(或主动查询订阅)作为是否真的已取消的依据。

预约之后我怎么改期,怎么撤销?

/api/v1/subscription/resume 只在订阅处于 ACTIVE 且预约尚未生效时有意义。订阅上没有预约时调用它也会返回 ACTIVE,不会报错,所以可以放心重试。

预约取消期间还能升降级、改金额、加座吗?

不能。订阅有待生效的取消时,change(升降级)、update(改金额、加座补差)都会被拒绝,错误码 A0058,提示先恢复订阅再修改。需要改的话,先 resume,改完再重新预约。

取消生效前,最后一期还会扣款吗?

要看那一期的扣款时间离取消生效时间有多近。按当前行为:如果某一期的续订时间点落在取消生效时间之前 24 小时以内(包含恰好 24 小时),这一期不再扣款,订阅直接在取消时间到期。续订时间点更早的各期照常扣款。 这样做是为了避免「刚扣完款马上取消」。

用户在托管页面上怎么预约、改期、恢复?

当你的账户可以使用预约取消时,托管的订阅管理页面上的取消弹窗提供三种选择: 预约成功后,页面顶部显示「取消已预约至某日」,并出现两个按钮:恢复订阅和改期。 如果账户没有开通预约取消,弹窗里没有后两个选项,取消仍然是立即生效。 几条限制:
  • 由商户预约的取消,用户在托管页面上不能改期或恢复(页面会提示该取消由商户预约,不能在此更改);商户可以通过 API 操作。
  • 已到点的预约不能再改期,也不能恢复。
  • 已付款项不会因为取消而退回;这与立即取消一致。

预约取消时 Waffo 会给用户发邮件吗?

会。预约受理或改期、撤销(恢复)、取消生效前的提醒,Waffo 都有对应的用户邮件,商户通过 API 或 Portal 代为预约时同样会发。具体有哪些邮件、每封邮件的开关见 Waffo 会给我的订阅客户发哪些邮件?。

预约取消相关错误码