【问题标题】:Stripe propagate paymentIntent description to Connected Account's transfer paymentStripe 将 paymentIntent 描述传播到 Connected Account 的转账支付
【发布时间】:2020-11-24 17:41:08
【问题描述】:

我使用目的地费用成功创建了从客户卡支付到标准连接帐户的支付意图。在创建的付款意图中,我指定了一个描述:

  const paymentIntent = await stripe.paymentIntents.create({
    amount: calculate_payment_amount(duration_minutes),
    customer: "somet id",
    currency: "usd",
    description: `chat duration: 100`,
    payment_method: paymentMethods.data[0].id,
    payment_method_types: ['card'],
    off_session: true,
    confirm: true,
    application_fee_amount: calculate_fee_amount(duration_minutes),
    transfer_data: {
      destination: "standard connected account ID",
    },
    metadata: {
      metadata: "something
    },
  });

如果我从平台的仪表板中查看,此付款会显示说明。

但如果标准连接帐户要查看此付款,用户将无法看到说明(从标准帐户查看的相同付款):

是否可以将相同的支付意图描述传递或传播到标准连接账户的相同支付?

【问题讨论】:

    标签: stripe-payments


    【解决方案1】:

    很遗憾,目前似乎无法在创建目的地费用时传播 PaymentIntent 描述。您需要手动更新关联帐户的付款说明:

    为此,首先,像现在一样创建付款意图,除了将描述保存为独立变量:

      const paymentDescription = `chat duration: 100`;
      const connectedAccountId = "acct_xyz";
      
      const paymentIntent = await stripe.paymentIntents.create({
        amount: calculate_payment_amount(duration_minutes),
        customer: "somet id",
        currency: "usd",
        description: paymentDescription,
        payment_method: paymentMethods.data[0].id,
        payment_method_types: ['card'],
        off_session: true,
        confirm: true,
        application_fee_amount: calculate_fee_amount(duration_minutes),
        transfer_data: {
          destination: connectedAccountId,
        },
        metadata: {
          metadata: "something
        },
      });
    

    然后,确认付款后,获取转账到关联账户的款项:

      const transfers = await stripe.transfers.list({
        destination: connectedAccountId,
        transfer_group: paymentIntent.transfer_group,
      });
    
      const paymentId = transfers.data[0].destination_payment;
    

    上面的关键是,当您进行目的地收费时,Stripe 会在后台创建一个转账和付款(以收费的形式)到连接的帐户。在这里,我们获得了与付款意图相关的转账,并从中获得了相关的付款。这是您在连接帐户的仪表板中查看付款时看到的py_xyz ID。

    然后,更新付款以包含说明:

      const updatedPayment = await stripe.charges.update(
        paymentId,
        {
          description: paymentDescription,
        },
        {
          stripeAccount: connectedAccountId,
        }
      );
    

    此时描述将显示在标准帐户的付款视图中:

    【讨论】:

    • 工作得很好。谢谢。
    猜你喜欢
    • 2018-08-06
    • 2021-10-11
    • 2020-06-04
    • 2019-03-24
    • 2021-01-06
    • 2021-12-27
    • 2021-08-18
    • 2020-04-17
    • 2018-10-26
    相关资源
    最近更新 更多