You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何区分Stripe中scheduleSubscription创建与实际订阅降级的updated事件

区分Stripe customer.subscription.updated事件的两种触发场景

你可以通过以下几个字段来区分创建scheduleSubscription时的触发,和实际周期结束降级完成时的触发:

  • 检查subscription.pending_update字段
    创建订阅计划时,订阅对象会新增pending_update字段,里面存储着即将在周期结束时生效的变更内容(比如你设置的降级计划)。此时触发的customer.subscription.updated事件中,这个字段有值。而当周期结束、降级实际完成后,pending_update会被置为null,同时订阅的items等核心字段已经更新为新的降级配置。

  • 对比event.data.previous_attributes
    创建scheduleSubscription时,previous_attributes里不会包含pending_update的旧值(因为之前订阅没有这个字段),但会记录schedule字段从null变为对应计划ID的变化。而实际降级完成时,previous_attributes里会包含之前的pending_update内容,同时能看到subscription.items从旧计划变为新计划的变更记录。

  • 查看subscription.latest_invoice
    实际完成降级时,Stripe通常会生成对应新订阅周期的账单,latest_invoice会指向新创建的账单对象;而创建订阅计划的操作不会触发账单生成,latest_invoice仍然是原订阅周期的账单。

内容的提问来源于stack exchange,提问作者Viktor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 16:34:51