【发布时间】:2020-03-05 11:27:31
【问题描述】:
用例如下:
- 一位客户以每月订阅的形式注册我们的应用程序。
- 他们选择一项或多项要订阅的功能,然后点击“购买”,即可获得所有功能。
- 每个功能都有不同的价格和持续时间(期限)。例如,客户可能会注册 3 个月的功能 A 和 1 个月的功能 B。
- 可以随时从订阅中添加和删除功能。如果他们已注册功能 A 3 个月,那么在 3 个月过去之前,以这种方式“取消”一项功能实际上不会更改订阅。
- 订阅和功能会自动续订,直到取消。
- 每个月都使用一张发票开具账单。
据我所知,Stripe 对这个用例没有很好的支持。我们可以将每个功能映射到一个 Stripe 计划对象,一个订阅可以引用多个计划,但 Stripe 计划没有持续时间。多方案订阅仅支持具有相同计费周期的项目。
所以我们必须自己管理。我们将功能建模为每个具有一个计划的产品,并且我们将使用订阅项目列表更新 Stripe 订阅对象。我们必须独立于 Stripe 状态来跟踪功能的生命周期。例如,如果用户已经注册了 3 个月的功能 A,然后在 1 个月后“取消”了该功能,我们无法更新订阅,直到再过 2 个月,以反映当前的功能选择。这看起来既复杂又脆弱。
还有其他选择吗?还是 Stripe 的竞争对手可以做到这一点?我看到 Chargebee 有一个称为“附加组件”的概念,它可以映射到我们的用例,但它们对计费周期有限制,这对我们不起作用。
【问题讨论】:
标签: stripe-payments