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

如何将Stripe付款与对应发票及Stripe Connect付款对象与相关收费关联?

Stripe付款(Payout)关联相关技术实现方法

一、关联Stripe Payout与对应Invoice

  • 通过Payout的transactions列表追溯
    每个Payout对象包含transactions字段,其中类型为invoice.payment_succeeded的交易项,其source字段就是关联的Invoice ID。调用接口时需展开transactions字段获取完整列表,筛选后即可匹配到对应发票。
    示例代码:
    import stripe
    
    stripe.api_key = "your_secret_key"
    
    payout = stripe.Payout.retrieve(
      "po_123456789",
      expand=["transactions"]
    )
    
    for txn in payout.transactions:
        if txn.type == "invoice.payment_succeeded":
            invoice_id = txn.source
            invoice = stripe.Invoice.retrieve(invoice_id)
            print(f"Payout {payout.id}关联Invoice: {invoice.id}")
    
  • 通过Invoice的charge字段反向关联
    已支付的Invoice会有charge字段对应关联的Charge ID,而Charge对象的payout字段直接指向所属的Payout ID。通过这一链条可从发票反向找到对应的付款。
    示例代码:
    invoice = stripe.Invoice.retrieve("in_123456789")
    if invoice.charge:
        charge = stripe.Charge.retrieve(invoice.charge)
        if charge.payout:
            payout = stripe.Payout.retrieve(charge.payout)
            print(f"Invoice {invoice.id}关联Payout: {payout.id}")
    

二、关联Stripe Connect Payout与涵盖的Charge

  • 通过Connect Payout的transactions列表提取Charge
    Connect模式下的Payout同样包含transactions字段,类型为charge的交易项,其source就是对应的Charge ID。调用接口时需指定目标Connect账户的stripe_account参数。
    示例代码:
    payout = stripe.Payout.retrieve(
      "po_987654321",
      expand=["transactions"],
      stripe_account="acct_123456789"
    )
    
    for txn in payout.transactions:
        if txn.type == "charge":
            charge_id = txn.source
            charge = stripe.Charge.retrieve(charge_id, stripe_account="acct_123456789")
            print(f"Connect Payout {payout.id}关联Charge: {charge.id}")
    
  • 通过Charge的payout字段反向查找Connect Payout
    Connect账户下的Charge对象,其payout字段会关联到所属的Payout ID。直接查询Charge并指定stripe_account参数,即可获取对应的付款信息。
    示例代码:
    charge = stripe.Charge.retrieve(
      "ch_123456789",
      stripe_account="acct_123456789"
    )
    
    if charge.payout:
        payout = stripe.Payout.retrieve(charge.payout, stripe_account="acct_123456789")
        print(f"Charge {charge.id}关联Connect Payout: {payout.id}")
    

内容的提问来源于stack exchange,提问作者Sooraj Chandu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 13:40:58