您如何模拟 Stripe 订阅续订失败? [关闭]
Posted
技术标签:
【中文标题】您如何模拟 Stripe 订阅续订失败? [关闭]【英文标题】:How do you simulate Stripe Subscription Renewal Failure? [closed] 【发布时间】:2017-01-17 02:00:58 【问题描述】:我正在尝试测试不同的 Stripe 订阅失败。具体来说,如果在最初卡被接受并且订阅处于活动状态时续订有效订阅,但续订付款被拒绝,或者客户在订阅期间删除卡,会发生什么情况。
如何在 Stripe 上进行模拟?
【问题讨论】:
我已经编辑了这个问题,希望它可以重新打开。当我针对 Stripe API 进行开发时,我发现它非常有用。 我同意 @gingerlime 的观点,对此提出意见真的很有帮助。 【参考方案1】:为了测试失败的订阅付款,您可以执行以下操作:
Create the customer 在source
参数中带有用于有效卡(例如4242 4242 4242 4242
)的卡令牌。
Create the subscription 加入计划。由于首次收费成功,订阅将成功创建。
Update the customer 在source
参数中带有用于故障卡(例如4000 0000 0000 0341
)的卡令牌。
Update the subscription,trial_end
参数设置为几秒后,prorate
设置为 false
。这有效地更改了订阅的下一个计费日期。
到达trial_end
日期后,将开始新的计费周期并创建发票。大约一小时后,发票将关闭并尝试付款。然后会发生什么由您的subscription account settings 决定。
要测试您的第二种情况,您只需将上面的第 3 步更改为 delete the card,而不是使用失败的卡更新客户。
【讨论】:
所以只有在试用期结束后大约一小时才会尝试付款?或者你所说的一小时部分是什么意思? 从创建发票到尝试付款之间有(大约)一小时的延迟。这是设计使然,因此您可以在最后一刻将项目添加到发票中,这在某些情况下很有用(例如计量计费)。您可以使用 API 提前尝试付款:stripe.com/docs/api#pay_invoice。 太棒了。所以我想我现在明白了我需要做什么来测试这个案例。非常感谢。 这不起作用。当我尝试更新客户的来源时,它会爆炸说 CC 已过期。我找不到将无效抄送附加到客户的方法 对我来说,使用trial_end
进行更新并没有奏效,但这有效:subscription = await stripe.subscriptions.update(subscriptionId, billing_cycle_anchor: 'now', proration_behavior: 'none' );
以上是关于您如何模拟 Stripe 订阅续订失败? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章