如何在Stripe Connect中按单个用户获取结算款数据?
Stripe Connect按用户批量获取结算款的实现方法
完全可以通过一次API调用获取指定用户的全部结算款,核心逻辑是绑定你应用的用户与Stripe Connect账户:
- 首先,你的应用需要将每个用户(比如John Doe)和他对应的Stripe Connect账户ID(格式为
acct_XXX)关联存储,这是实现的前提。 - 调用Stripe结算款列表API时,只需传入该用户对应的Connect账户ID即可过滤出他的所有收款记录,具体有两种实现方式:
方式一:通过平台密钥+账户ID参数请求
这是平台端最常用的方式,用你的平台API密钥发起请求,同时指定stripe_account参数为目标用户的Connect账户ID:
import stripe stripe.api_key = "你的平台API密钥" # 从你的数据库中读取John Doe对应的Connect账户ID target_account_id = "acct_123abc" # 获取该账户的所有结算款 payouts = stripe.Payout.list( stripe_account=target_account_id )
方式二:以Connect账户身份发起请求
如果使用该用户Connect账户的专属API密钥发起请求,直接调用结算款列表API就能返回该账户的所有记录,但这种方式灵活性较低,一般不推荐平台端使用。
你还可以添加额外筛选条件,比如按时间范围、结算状态过滤:
# 筛选某时间点之后的已成功结算款 payouts = stripe.Payout.list( stripe_account=target_account_id, status="paid", created={"gte": 1690000000} # 时间戳,代表筛选该时间之后的记录 )
之所以你之前没找到相关说明,是因为Stripe的结算款是直接归属到Connect账户的,而非你应用内的用户ID,只要完成用户与Connect账户的绑定,就能通过账户ID精准查询对应用户的收款历史。
内容的提问来源于stack exchange,提问作者alia
相关产品推荐
相关产品推荐

