如何用Node.js和Stripe实现向指定银行卡的Payout功能?
Stripe 活动组织者款项打款实现方案
核心API选择:Stripe Connect Transfers 或 Payouts API
你的场景是平台收单后向活动组织者分账,最适配的是Stripe Connect生态下的功能,或直接使用Payouts API,分两种场景处理:
场景1:组织者有Stripe账户(推荐)
通过Stripe Connect将组织者账户关联为你的平台的关联账户(推荐用express类型,快速完成接入),之后:
- 用户付款到你的平台账户后,调用
Transfers API将对应活动款项转账至组织者的关联账户 - 组织者可自行在其Stripe后台提现,或你通过API调用
Payouts API帮其发起提现至银行账户
示例代码(转账到关联账户):
import stripe stripe.api_key = "PLATFORM_SECRET_KEY" transfer = stripe.Transfer.create( amount=1000, # 金额单位为最小货币单位,例:10 USD = 1000 cents currency="usd", destination="CONNECTED_ACCOUNT_ID", # 组织者的关联账户ID transfer_group="EVENT_123" # 标记活动关联,便于对账 )
场景2:组织者无Stripe账户
直接使用Payouts API将款项打至组织者的银行账户:
- 先通过
Payment Methods API创建组织者的银行账户对象(需收集银行账户信息) - 调用Payouts API发起打款
示例代码(直接打款到银行账户):
import stripe stripe.api_key = "YOUR_SECRET_KEY" # 创建银行账户支付方式 payment_method = stripe.PaymentMethod.create( type="us_bank_account", us_bank_account={ "account_number": "000123456789", "routing_number": "110000000", }, ) # 发起打款 payout = stripe.Payout.create( amount=1000, currency="usd", destination=payment_method.id, )
重要提示
- 确保账户有可用余额(Stripe有默认结算周期,需等待资金到账后操作)
- 转账/打款会产生手续费,需提前明确成本承担方
- 合规要求:部分地区需收集组织者身份信息以满足反洗钱规则,Stripe Connect会自动引导完成合规验证
内容的提问来源于stack exchange,提问作者maks099
相关产品推荐
相关产品推荐

