如何通过Stripe Webhook识别订阅的升级与降级?
如何通过Webhook识别订阅的升级/降级(套餐变更)
你监听的customer.subscription.updated事件完全可以用来识别套餐变更,核心是对比事件数据里的旧状态和当前状态:
- 查看事件对象里的
previous_attributes字段,它保存了订阅更新前的属性。如果里面的plan.id(多订阅项场景下看items.data[0].plan.id)和当前订阅对象里的对应plan.id不一致,就说明套餐发生了变更。 - 针对Stripe新定价模型(基于Price对象),可以对比
previous_attributes.items.data[0].price.id和当前的items.data[0].price.id,价格ID的变化直接对应套餐的切换。 - 也可以辅助对比
previous_attributes里的总金额amount和当前订阅的amount,金额差异能侧面验证是否发生了升级/降级。
没有专门的"套餐变更"专属事件,但invoice.created或invoice.paid可能会伴随套餐变更出现——不过这些事件主要和账单相关,不能直接作为套餐变更的判断依据,核心还是得依赖customer.subscription.updated。
内容的提问来源于stack exchange,提问作者Vivek
相关产品推荐
相关产品推荐

