/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 操作。
- 已到点的预约不能再改期,也不能恢复。
- 已付款项不会因为取消而退回;这与立即取消一致。