【发布时间】:2016-10-29 16:54:03
【问题描述】:
我已将我的 Stripe 订阅设置为在 3 次付款尝试失败后自动取消。
1) 有没有办法从订阅删除的 webhook 中判断订阅是由于支付尝试失败而被条带删除,还是由于我们提出取消订阅的 API 请求而被我们删除?
2) 我可以使用 api 或仪表板找到一些被 Stripe 自动取消的示例订阅吗?
【问题讨论】:
标签: stripe-payments
我已将我的 Stripe 订阅设置为在 3 次付款尝试失败后自动取消。
1) 有没有办法从订阅删除的 webhook 中判断订阅是由于支付尝试失败而被条带删除,还是由于我们提出取消订阅的 API 请求而被我们删除?
2) 我可以使用 api 或仪表板找到一些被 Stripe 自动取消的示例订阅吗?
【问题讨论】:
标签: stripe-payments
1) 是的,通过检查event object 的request 属性。如果事件是 API 请求的结果,request 将具有非空值。如果事件是 Stripe 自动操作的结果,则 request 将为空。
所以对于customer.subscription.deleted 事件,如果您使用cancel the subscription 的API,request 将是非空的,如果在太多失败付款后自动取消订阅,则为空。
2) 不是通过仪表板,而是使用 API,您可以将 list all events 和 type 设置为 customer.subscription.deleted,然后过滤结果以仅保留带有 request=null 的事件。
请记住,所有“列表”调用每次调用仅返回有限数量的资源(默认为 10,使用limit 参数最多为 100)。您可能需要使用 pagination parameters 发出多个调用来检索整个列表。大多数 Stripe 的官方语言库都支持 auto-pagination 功能,以简化此过程。
【讨论】: