条纹CLI:试用期结束后的测试操作

问题描述

我希望能够在本地测试在用户的试用期结束后是否采取了正确的措施。

我设置了Stripe CLI,并开始收听:

stripe listen --forward-to http://localhost:8000/api/stripe-webhook

审判结束时,将发生customer.subscription.updated事件。

我使用Stripe CLI触发此事件:

stripe trigger customer.subscription.updated

在服务器端,我可以看到payload['data']['prevIoUs_attributes']包含一个带有foo = null的元数据数组。试用结束后,我们应该得到prevIoUs_attributes,其中包含以下内容{ "status": "trialing"...

我想知道是否有可能使用模拟用户试用结束的Stripe CLI触发事件(甚至可能只是将prevIoUs_attributes设置为实时环境中发生的类似值的一种方式)当审判结束时)?如果可能的话,那么在试验结束时不推向类似产品的环境就可以更方便地在本地测试是否采取了适当的措施。

解决方法

最简单的方法可能是在创建订阅时或在现有订阅上使用trial_end设置非常短的试用期,然后等待几分钟以使其结束,此时将生成适当的事件。

stripe subscriptions update sub_HpOl9vDMzIEfGf --trial-end=`date -v +5M +%s`

https://stripe.com/docs/billing/testing#trials

https://stripe.com/docs/api/subscriptions/update#update_subscription-trial_end