如何通过Stripe API查询客户是否购买了一次性定价的产品
查询客户是否购买过终身权限产品的方法
针对你的需求,要通过Stripe API查询指定customer_id的客户是否购买过终身权限的一次性产品,可以按以下方式操作:
核心思路
终身权限的一次性购买在Stripe中对应已成功的一次性收费记录,你需要筛选出关联目标终身产品的有效交易记录。
具体实现步骤
方法一:通过Charges API查询
使用List Charges端点,传入customer参数为目标customer_id,同时添加筛选条件:- 筛选
status为succeeded(确保交易已完成) - 关联的
productID为你的终身权限产品ID
示例请求(伪代码):
stripe.Charge.list( customer="cus_xxxxxx", status="succeeded", expand=["data.product"] )遍历返回结果,只要存在匹配目标产品的收费记录,说明客户已购买终身权限。
- 筛选
方法二:通过Invoices API查询
一次性购买也会生成发票,使用List Invoices端点,传入customer参数,筛选:status为paid(发票已支付)- 发票中的
lines包含目标终身产品
示例请求(伪代码):
stripe.Invoice.list( customer="cus_xxxxxx", status="paid", expand=["data.lines.data.price.product"] )检查返回的发票条目,若有包含目标产品的已支付发票,即可判定客户已购买。
方法三:通过Checkout Sessions API查询
如果是通过Stripe Checkout完成的一次性购买,也可以查询List Checkout Sessions,传入customer参数,筛选payment_status为paid,并关联目标产品:stripe.checkout.Session.list( customer="cus_xxxxxx", payment_status="paid", expand=["data.line_items.data.price.product"] )
注意事项
- 确保你已提前记录好终身权限产品的Stripe产品ID,这是筛选的关键标识。
- 以上API调用都需要使用你的Stripe秘钥进行身份验证。
内容的提问来源于stack exchange,提问作者Ben
相关产品推荐
相关产品推荐

