我可以使用 stripe checkout 支付订阅和目的地费用(关联账户)吗?

Can I use stripe checkout for subscriptions and destination charges (connected account)?

我正在尝试通过连接的帐户使用 Stripe Checkout。在那里我可以使用 transfer_data["destination"]application_fee_percent.[=11 创建订阅=]

预期流量:

  1. 创建结帐会话(服务器端)
checkout_session = stripe.checkout.Session.create(
            success_url=domain_url + "/success.html",
            cancel_url=domain_url + "/canceled.html",
            payment_method_types=["card"],
            mode="subscription",
            line_items=[
                {
                    "price": priceId,
                    "quantity": 1
                }
            ],
            customer=customerId)
  1. 将用户重定向到 Stripe 结帐页面
  2. 用户输入他的银行卡详细信息并订阅

我尝试使用 subscription_data["application_fee_percent"] 并设置了 Stripe-Account。 但这不起作用,因为找不到客户。因为我猜所有客户都是在平台账户上创建的,而不是连接账户(我想保留)

所以我的问题是:使用 Checkout 执行此操作的方法是什么?

我的另一个选择是:

  1. 收集卡信息以创建支付方式
  2. 使用 application_fee_percent 和 transfer_data[目的地] 创建订阅。

但我更愿意使用 Checkout 来收集银行卡详细信息,这在我看来是更好更轻松的用户流程...

所有建议将不胜感激。谢谢

我认为这完全符合您的假设,但遇到错误:

Error: Can only apply a subscription application_fee_percent when the Checkout Session is made on behalf of another account (using an OAuth key or the Stripe-Account header).

这就是我假设你 运行 喜欢的。我没有气馁,查看了 docs and then the changelog(我使用的 stripe-node),并找到了我需要的提示:

Add transfer_data[amount_percent] on Subscription

在我测试之后,我可以确认你可以这样做,你只需要使用 amount_percent (API ref) using say 95% t运行提交而不是 5% 的申请费(但要注意费用如何影响资金流动)。

最重要的是,你可以这样做:

checkout_session = stripe.checkout.Session.create(
        success_url=domain_url + "/success.html",
        cancel_url=domain_url + "/canceled.html",
        payment_method_types=["card"],
        mode="subscription",
        line_items=[
            {
                "price": priceId,
                "quantity": 1
            }
        ],
        customer=customerId),
        subscription_data={
          transfer_data={
            destination='acct_1234',
            amount_percent=95
          }
        }