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

Stripe Charge接口迁移:如何用Payment Intents扣款关联账户余额

问题

原代码依赖已废弃的Stripe Charge接口,试图从关联账户余额扣款:

stripe.api_key = "sk_test_xxxxx"
out = stripe.Charge.create(
  amount=1000,
  currency="eur",
  source="acct_yyyyyy",
)

Charge接口已被标记为废弃,需迁移至Payment Intents,但无法找到从关联账户余额扣款的实现方式。

解决方案

根据实际业务场景,选择以下两种可行方案:

场景1:从关联账户余额扣除平台服务费/佣金

直接使用Stripe Connect的转账功能,将资金从关联账户划转至平台账户:

stripe.api_key = "sk_test_xxxxx"
transfer = stripe.Transfer.create(
  amount=1000,  # 金额为最小货币单位(例:1000=10欧元)
  currency="eur",
  source="acct_yyyyyy",  # 待扣款的关联账户ID
  destination="your_platform_stripe_account_id"  # 你的平台账户ID
)

注意:若关联账户是Standard/Express类型,需确保已授权平台转账权限;若为Custom账户,平台默认拥有该权限。

场景2:用关联账户资金处理客户支付(代关联账户收款)

如果原需求是通过关联账户的资金完成客户支付(资金最终进入关联账户,可同步扣除平台服务费),创建Payment Intent时指定transfer_data参数:

stripe.api_key = "sk_test_xxxxx"
payment_intent = stripe.PaymentIntent.create(
  amount=1000,
  currency="eur",
  payment_method_types=["card"],
  transfer_data={
    "destination": "acct_yyyyyy",  # 资金最终转入的关联账户ID
  },
  # 可选:平台收取的服务费,单位为最小货币单位
  # application_fee_amount=100,
)

支付确认后,资金会按配置转入关联账户;若设置了application_fee_amount,平台会自动扣除对应费用。

关键注意事项
  • 金额单位必须是对应货币的最小单位(如欧元分、美元分)
  • 操作前需确认关联账户余额充足(场景1)或客户支付方式有效(场景2)
  • 确保你的Stripe账户已启用Connect功能

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 15:45:14