条纹更新订阅产生错误

时间:2018-11-26 06:02:44

标签: ruby stripe-payments

我正在使用宝石条纹v4.0.3。如果我检索到订阅,则可以使用以下方式取消订阅:

subscription.cancel_at_period_end = true
subscription.save

根据stripe documentation,我也应该可以使用以下命令来做到这一点:

subscription.update(cancel_at_period_end: true)

但这会产生错误:

Failure/Error: subscription.update(cancel_at_period_end: true)

     NoMethodError:
       undefined method `update' for #<Stripe::Subscription:0x00007fcda95efd20>

这是为什么?

2 个答案:

答案 0 :(得分:2)

条带支持确认文档示例中存在错误。他们还说有两种方法可以做到这一点

sub = Stripe::Subscription.retrieve("sub_xxxyyyzz")
sub.cancel_at_period_end = true
sub.save

Or

Stripe::Subscription.update("sub_xxxyyzz",{:cancel_at_period_end => true})

答案 1 :(得分:1)

没有任何方法可以更新订阅对象。 如果要在期末取消订阅,则需要调用订阅服务cancel方法。您将需要传递该客户和订阅ID,然后使用cancelAtPeriodEnd标志(将其设置为true)。