Stripe中用户付款时会触发customer.subscription.update事件吗?
问题解答
- 付款成功(比如月度订阅续费)时,
subscription.current_period_end更新后,会触发customer.subscription.update事件。只要订阅对象的属性(包括周期结束时间)发生变更,不管是套餐更换、取消还是续费,这个事件都会触发,你的文档印象有偏差,续费场景同样会触发该事件。 - 更适合监听的事件推荐:
invoice.paid:这个事件直接对应客户付款成功的场景,此时订阅的周期已经完成更新,你可以从事件关联的订阅对象中获取最新的current_period_end,用来同步自有令牌的过期日期,针对性更强,能避免处理其他非付款类的订阅变更。- 如果坚持用
customer.subscription.update,可以在事件回调里检查updated字段是否包含current_period_end,只处理该字段变更的情况,过滤掉套餐更换、取消等其他场景的触发。
- 测试小技巧:用Stripe测试模式,创建订阅后使用测试支付卡片完成付款,然后通过Stripe Dashboard手动触发订阅续费,或者用Stripe CLI模拟
invoice.paid/customer.subscription.update事件,不用等真实的月度周期就能完成测试。
内容的提问来源于stack exchange,提问作者Brimby
相关产品推荐
相关产品推荐

