如何使用customer ID检索Stripe平台指定客户的所有charge对象
Stripe通过客户ID获取指定客户全部Charge对象的方法
你可以通过两种方式实现需求:
- 直接调用Charge列表接口筛选(更高效,无需提前拉取客户对象)
直接在调用stripe.Charge.list方法时传入customer参数,值为你持有的customer ID即可筛选出该客户的所有Charge记录:charges = stripe.Charge.list(customer="你的customer ID")
如果该客户的Charge条数较多,默认返回结果会做分页,你可以用SDK自带的自动分页方法拉取全量数据,Python示例如下:
all_charges = [] # 自动遍历所有分页的Charge,存入列表 for charge in stripe.Charge.list(customer="你的customer ID").auto_paging_iter(): all_charges.append(charge)
- 先检索客户对象再拉取关联Charge
你也可以先拿到对应客户对象,再调用该对象下的charges列表接口,代码如下:
首先检索客户对象:customer = stripe.Customer.retrieve("你的customer ID")
再拉取该客户关联的Charge:customer_charges = customer.charges.list()
同样需要拉取全量的话,用auto_paging_iter()方法遍历分页即可。
注意事项
- 调用接口使用的Stripe API密钥需要有
charges:read权限,否则会触发权限报错 - 默认返回的Charge按创建时间倒序排列,最新的交易排在最前
- 如需筛选特定状态的Charge,可以额外传入
status参数,例如传status="succeeded"即可只返回支付成功的交易记录
内容的提问来源于stack exchange,提问作者Admia
相关产品推荐
相关产品推荐

