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

如何从Charge或Balance Transaction中识别订阅项来源并获取subscription item id?

判断Charge/Balance Transaction是否来自订阅项并获取Subscription Item ID

可以通过Stripe对象间的原生关联关系来实现,具体步骤如下:

  • 从Balance Transaction关联到Charge
    Balance Transaction的source字段会指向触发该交易的Charge(仅当交易类型与Charge相关时)。通过这个source值调用Charge查询接口,就能拿到Charge的完整详情。

  • 判断Charge是否来自订阅
    若Charge由订阅触发,它的invoice字段会存在有效值(对应发票ID)。没有invoice字段的Charge一般是单次付款,和订阅无关。

  • 从Invoice关联到Subscription
    调用Invoice查询接口,通过Charge返回的invoice值获取发票详情。发票的subscription字段会指向对应的订阅ID,说明该发票由订阅生成。

  • 提取Subscription Item ID
    调用Subscription查询接口获取订阅详情后,查看items.data数组——数组内每个对象的id字段就是对应的subscription item ID。如果需要精准匹配Charge对应的具体订阅项,还可以通过发票的lines.data定位:每个发票行项目的subscription_item字段会直接给出关联的订阅项ID。

补充:如果业务有快速定位需求,也可以在创建订阅时给Charge或Invoice添加自定义metadata,直接标记对应的subscription item ID,这属于业务侧的自定义实现,能简化后续查询流程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 12:13:12