Stripe API 2022-11-15版本charge.refunded事件获取.refunds的疑问
针对Stripe API 2022-11-15版本后charge.refunds字段获取问题的解答
结论
你的理解是对的,在2022-11-15及更高版本的Stripe API中,charge对象默认不再包含refunds字段,必须通过额外操作才能获取该数据,这是Stripe官方的明确变更。
可行解决方案
- 利用Webhook的字段展开功能:
在配置charge.refundedwebhook端点时,指定展开charge.refunds字段。无论是通过Stripe控制台还是API创建webhook,都可以设置expand参数为["data.object.refunds"],这样事件推送的payload里就会直接包含完整的refunds数据,无需额外调用API。 - 额外调用Retrieve Charge API:
如果未配置字段展开,你需要调用Retrieve Charge接口,并在请求中携带expand[]=refunds参数,以此获取包含refunds列表的charge对象。
额外优化提示
如果你只需要累计退款总金额,其实不需要读取refunds字段——charge.refunded事件返回的charge对象里,amount_refunded字段已经是当前的累计退款总额,直接读取这个字段就能满足需求,省去处理refunds列表的步骤。
内容的提问来源于stack exchange,提问作者Igor Loskutov
相关产品推荐
相关产品推荐

