Stripe 订阅在 Rails 中禁用自动续订

Stripe Subscription Disable Auto-Renewal in Rails

我有一个 rails 应用程序,用户可以通过 Stripe 购买不同时长的订阅。当订阅期到期时,订阅将通过基本的 Stripe 订阅功能自动续订(也就是 Stripe 的工作方式)。

我想做两件事。

  1. 在订阅即将到期时显示订阅者并且
  2. 提供自动续订的 on/off 开关。

有什么想法吗?

Stripe subscription docs开始,您可以取消订阅以避免自动续订:

subscription = Stripe::Subscription.retrieve("sub_3R3PlB2YlJe84a")
subscription.delete(:at_period_end => true)

记得通过:at_period_end => true,否则订阅将立即取消。

如果客户想要自动续订,您可以reactivate cancelled subscriptions,将计划设置为与当前计划相同的 ID。

subscription = Stripe::Subscription.retrieve("sub_3R3PlB2YlJe84a")
subscription.plan = {PLAN_ID}
subscription.save