在Stripe上测试订阅续订

20
我正在使用Stripe测试我们正在开发的产品的定期订阅续费支付尝试时代码的反应(需要测试成功、失败等)。StackOverflow上的大多数答案都建议创建一个每天定期支付1天的订阅(这是Stripe可用的最短定期支付),然后等到第二天看我的代码如何反应Webhook通知。(顺便说一下,我找不到关于Stripe的太多文档来建议定期付款的测试方法。)
我不太同意这种方法,因为它将我的代码测试时间拉长到一周以上,甚至可能是两周,但在正常情况下,我可以在几个小时内完成测试。
我认为以下两种方法之一足以完成我的编码/测试。
1. 找到一种方法使定期订阅间隔发生在更短的自定义周期上,例如每15分钟或每10分钟。 2. 更好的解决方案是按需触发定期订阅。也就是说,我创建一个订阅,然后手动更新下一个续订日期到自定义值,比如“未来1分钟”或“未来30秒”,这将触发支付尝试。
在Stripe中是否有实现这两种选项的方法?如果没有可行的选择,我如何高效地测试重复付款。
谢谢。
3个回答

13
我们的解决方案是重置订阅的计费周期。
  • 在Stripe中打开订阅
  • 点击右上角的“操作”按钮
  • 选择“更新订阅”
  • 一定要关闭“按比例计算变更”
  • 向下滚动并打开“高级选项”
  • 勾选“重置计费周期”
  • 最后...... 更新订阅
这将触发一个新的订阅支付和所有相关的Webhooks。

1

简单方法

@Marc 绝对找到了任意订阅续订的好方法。他在这个答案中描述的相同操作可以通过编程或使用Stripe CLI来完成:

stripe subscriptions update sub_id \
  --proration-behavior=none \
  --billing-cycle-anchor=now

该命令会生成以下事件序列:
charge.succeeded
invoice.finalized
invoice.created
invoice.paid
invoice.payment_succeeded
customer.subscription.updated
payment_intent.succeeded
payment_intent.created

高级方法

使用测试时钟可以更多地验证您系统的行为。不仅可以将测试时钟附加到Subscription对象上。


0

所以我会从他们的测试文档开始,它会引导你完成整个过程。

看起来你可以通过CLI命令即时触发事件。

同时也要关注Webhook监控器


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接