带订阅费的 Stripe Checkout 订阅失败

Stripe Checkout Subscription with subscription fee is failing

我不明白为什么我的请求失败了,我正在尝试创建一个订阅模式的结账会话并收取费用。这是我从 Stripe 返回的错误消息。

{message: 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).}

我没有使用我的主平台帐户 ID,我使用 express 创建了一个新的连接用户。我正在将新用户连接的 accountID 传递到我的服务器以创建会话。

这是我的服务器代码:

const session = await stripe.checkout.sessions.create({
      payment_method_types: ['card'],
      line_items: [{
        price: 'price_Xxxxxxxxxxxx',
        quantity: 1,
      }],
      subscription_data: {
        application_fee_percent: 10,
        transfer_data: {
          destination: accountId,
        },
      },
      mode: 'subscription',
      success_url: 'http://localhost:49430/stripesub?session_id={CHECKOUT_SESSION_ID}',
      cancel_url: 'http://localhost:49430/stripesubcanceled',
    });
    res.status(200).json({
      'sessionId': session.id
    });

订阅产品或line_items -> price是我用我的主平台账户创建的产品,而不是用express创建的关联账户。

我的任务是创建一项服务,企业可以在其中注册 express、选择订阅级别,并让他们的 users/members 通过支付订阅费用注册他们的平台并获得访问权限。

所以在与 Stripe 支持人员交谈一段时间后,我发现这是错误的:

subscription_data: {
        application_fee_percent: 10,
        transfer_data: {
          destination: accountId,
        },
      },

它应该是这样的:

subscription_data: {
        transfer_data: {
          amount_percent: 90,
          destination: accountId,
        },
      },