NodeJS 使用strip/react-stripe-js stripe/stripe-js对标准账户直接收费

9vw9lbht  于 2023-05-17  发布在  Node.js
关注(0)|答案(1)|浏览(143)

我正在尝试使用stripe为我的标准帐户创建直接费用。在执行此操作时

  • 我不能设置申请费。

我正在创建2级帐户第一主帐户或支付帐户,在支付帐户下,我正在创建连接帐户和连接帐户的最终客户。
我的问题是,哪些帐户密钥应用于创建客户是支付帐户或连接帐户。因为它给我的错误,而使用结帐一样,客户不存在。
<>
MY CODE <> const customer = await stripe.customers.create({ name:姓名,电子邮件:电子邮件、电话:电话,});[[enter image description here](https://i.stack.imgur.com/lXn0c.png)](https://i.stack.imgur.com/z3vol.png)<> const stripe_data = { amount:intAmount,货币:currency.toLowerCase(),customer:customer.id,setup_future_usage:“off_session”,元数据:描述,描述:标题,自动付款方法:{enabled:true},application_fee_amount:申请费金额,

/* 
     Since We are charging customer directly below params  is not requird
    payment_method_types: ["card"],
    on_behalf_of: bank_info.stripe_account_id,
    transfer_data: {
      destination: bank_info.stripe_account_id,
    },
    */
  };
  let paymentIntent = "";
  try {
    paymentIntent = await stripe.paymentIntents.create(stripe_data,{stripeAccount:  bank_info.stripe_account_id });
  } catch (e) {
     console.log("In Here")
     console.log(e)
    return res.status(500).json({
      status: "error",
      body: "Error in created payment order: " + e.code,
    });
  }
  console.log("PAYMENT==>",paymentIntent)
  const clientSecret = paymentIntent.client_secret;
yeotifhr

yeotifhr1#

为了直接向已连接的帐户收费,您需要使用已连接帐户的密钥。
要正确设置申请费和直接费用,您可以按照Stripe文档中提供的指南进行操作:https://stripe.com/docs/connect/direct-charges
在为连接的帐户创建客户时,您可以使用平台帐户的密钥。下面是一个如何在连接帐户的上下文中创建客户并向其收费的示例:

const stripe = require('stripe')('{{YOUR_PLATFORM_SECRET_KEY}}');

// Create a customer for the connected account.
const customer = await stripe.customers.create({
  name: name,
  email: email,
  phone: phone,
}, {
  stripeAccount: '{{CONNECTED_STRIPE_ACCOUNT_ID}}',
});

// Create a direct charge with application fee for the connected account.
const paymentIntent = await stripe.paymentIntents.create({
  amount: intAmount,
  currency: currency.toLowerCase(),
  customer: customer.id,
  automatic_payment_methods: {enabled: true},
  application_fee_amount: application_fee_amount,
}, {
  stripeAccount: '{{CONNECTED_STRIPE_ACCOUNT_ID}}',
});

请记住将**{{CONNECTED_STRIPE_ACCOUNT_ID}}**替换为已连接帐户的实际ID。
通过指定stripeAccount选项,您告诉Stripe在连接帐户的上下文中执行操作。这应该可以解决您遇到的“客户不存在”错误。

相关问题