Stripe - PaymentIntent在Node.js中需要支付方式问题

ohtdti5x  于 2023-06-22  发布在  Node.js
关注(0)|答案(1)|浏览(147)

我试图在我的项目中集成stripe,但我得到“PaymentIntent需要付款方式”。日志中的付款状态代码为200。但在付款 Jmeter 板中,它显示未完成,原因是“客户尚未输入其付款方式。

下面是我的stripe后台代码

exports.StripePayment = (req, res) => {
  const { amount, token } = req.body;
  const idempotencyKey = uuid(); 
  return stripe.customers
    .create({
      email: token.email,
      source: token.id,
    })
    .then((customer) => {
      stripe.paymentIntents
        .create(
          {
          
            amount: amount, 
            currency: "INR",
            payment_method_types: ["card"],
            customer: customer.id,
            receipt_email: token.email,
            shipping: {
              name: token.card.name,
              address: {
                line_1: token.card.address_1,
                line_2: token.card.address_2,
                city: token.card.address_city,
                country: token.card.address_country,
                postal_code: token.card.address_zip,
              },
            },
          },
          { idempotencyKey }
        )
        .then((result) => {
          console.log("Result", result);

          return res.status(200).json(result);
        })
        .catch((err) => console.log(err));
    });
};

需要帮助修复。先谢谢你了

new9mtju

new9mtju1#

这是预期的行为。您共享的代码只是创建一个支付意图,它不会通过其lifecycle来处理意图。
当前您没有提供已创建的付款方式,也没有提供客户提供其付款方式详细信息的方法。这将需要添加,以便Stripe处理付款。
创建支付意向只是Stripe集成的第一步。Stripe提供的这份指南介绍了使用其服务处理支付所需的一切,是构建集成的一个很好的起点:
https://stripe.com/docs/payments/accept-a-payment?platform=web&ui=elements
该指南将引导您完成需要构建的其余部分,包括为您的客户提供UI以提供其支付方式详细信息,并确认付款意图。

相关问题