Discourse 订阅 - 澄清“在周期结束时取消”

继续讨论 Discourse 订阅 - 更改价格 - 如何取消自动续订而不是整个订阅

功能请求: 如果用户可以选择在周期结束时取消订阅,而不仅仅是立即取消,那将是很好的。

我在 Stripe 文档中看到了这一点,标题为“在周期结束时取消”:

如果您想在当前账单周期结束时取消订阅(即,在客户已付款的时间段内),请将订阅的 cancel_at_period_end 值更新为 true

您可以通过将 cancel_at_period_end 更新为 false 来重新激活计划在取消的订阅(使用 cancel_at_period_end 参数)。您可以在周期结束前的任何时间重新激活订阅。

1 个赞

事实证明,用户可以执行我所要求的操作(我现在已将标题中的“允许”更改为“澄清”)……因此,这里有两个新的但相关的问题……

**功能请求:**默认措辞应清楚说明两种取消类型。管理员界面应具有与用户界面相同的“状态”列。

以下是一些详细信息……

看来 Discourse 订阅中的“取消”根据执行操作的人而具有不同的含义!对用户而言,它仅取消自动续订;对管理员而言,它会立即取消整个订阅。

  1. 如果用户u/.../billing/subscriptions 点击垃圾桶图标,提示是“您确定要取消此订阅吗?”

    选择“是”会触发 customer.subscription.updated 挂钩。

    响应中有两个值得注意的部分是 \"cancel_at_period_end\": true\"status\": \"active\"。用户的订阅页面仍然显示“状态:活动”,但“续订”现在显示为“已取消”。用户仍保留在订阅组中。

    令人恼火的是,管理员界面现在没有显示自动续订已取消——它只显示“状态:活动”。

  2. 如果管理员/admin/plugins/discourse-subscriptions/subscriptions 点击“取消”,提示同样是“您确定要取消此订阅吗?”(还会询问是否退款)。

    选择“是”会触发 customer.subscription.deleted 挂钩。

    响应包括 \"status\": \"canceled\"。订阅将在所有地方被删除,用户也将被移出订阅组。