如何通过Stripe Charge Id获取Stripe Payout Id
获取Stripe交易对应的Payout Id方案
通过Transfer Id直接获取
Stripe的Transfer对象本身就携带了关联的Payout Id,直接调用Retrieve Transfer API即可获取:
Python示例
import stripe stripe.api_key = "你的密钥" transfer = stripe.Transfer.retrieve("tr_xxxxxx") payout_id = transfer.payout
Node.js示例
const stripe = require('stripe')('你的密钥'); const transfer = await stripe.transfers.retrieve('tr_xxxxxx'); const payoutId = transfer.payout;
通过Charge Id获取
Charge对象不会直接关联Payout,需要分两种场景处理:
场景1:Charge关联了Transfer(比如直接转账到Connect账户)
先从Charge对象中拿到关联的Transfer Id,再按上面的方法获取Payout Id:
import stripe stripe.api_key = "你的密钥" charge = stripe.Charge.retrieve("ch_xxxxxx") if charge.transfer: transfer = stripe.Transfer.retrieve(charge.transfer) payout_id = transfer.payout
场景2:Charge资金进入平台余额后归集到Payout
这种情况需要通过Charge对应的BalanceTransaction来获取Payout Id:
import stripe stripe.api_key = "你的密钥" charge = stripe.Charge.retrieve("ch_xxxxxx") balance_tx = stripe.BalanceTransaction.retrieve(charge.balance_transaction) payout_id = balance_tx.payout
注意:
balance_transaction的payout字段仅当该交易已被纳入已创建的Payout时才有值,若资金仍处于待归集状态,该字段会返回null。
内容的提问来源于stack exchange,提问作者Julian W.
相关产品推荐
相关产品推荐

