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

调用Stripe::Customer.retrieve查询客户为何不返回subscription订阅字段

Rails项目Stripe客户查询返回订阅字段解决方案

根本原因

Stripe API默认仅返回资源的基础字段,嵌套关联类资源(比如客户关联的订阅、支付方式等)不会默认同步返回,以此压缩响应体积、提升接口响应速度。你单独查询订阅可以拿到数据,是因为直接请求了订阅资源的接口。

实现方法

调用Stripe::Customer.retrieve时主动传入expand参数,指定需要展开返回的关联资源即可,代码示例如下:

# 单个客户查询,同步返回关联的订阅列表
customer = Stripe::Customer.retrieve({
  id: "cus_XYZ",
  expand: ["subscriptions"]
})

# 执行后可直接获取客户下所有订阅信息
puts customer.subscriptions.data

扩展说明

  • 如果需要同时返回订阅关联的价格、产品等更深层的关联信息,可以按层级声明expand参数:
    customer = Stripe::Customer.retrieve({
      id: "cus_XYZ",
      expand: ["subscriptions", "subscriptions.data.items.data.price.product"]
    })
    
  • Stripe API最多支持同时展开4层嵌套资源,超出层级会触发参数报错。

内容的提问来源于stack exchange,提问作者Samuel Da Costa

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 22:15:02