NodeJS 为什么条带确认方法不确认付款或更新状态?

3ks5zfa0  于 2023-05-22  发布在  Node.js
关注(0)|答案(1)|浏览(160)

我已经使用stripe create方法创建了paymentIntent,并实现了3d安全性来验证支付,但在paymentIntent的状态下是"status": "requires_action",,所以我已经实现了stripe confirm方法来确认支付并将状态更改为等于succeeded。但它并没有确认付款。为什么?

  • 这里是确认方法的东西 *
let paymentIntent = req.query.payment_intent;

let retrieve = await stripe.paymentIntents
        .retrieve(paymentIntent)
        .then((response) => {
          return response;
        });

      if (
        typeof retrieve != "undefined" &&
        retrieve.status == "requires_confirmation"
      ) {
        let confirmPayment = await stripe.paymentIntents
          .confirm(paymentIntent, { payment_method: "pm_card_visa" })
          .then((response) => {
            return res.send(response);
          });
       }

当点击API时,得到的响应是状态仍然是requires_action而不是succeeded,并且在条带 Jmeter 板中支付仍然是未完成的。

hwamh0ep

hwamh0ep1#

当PaymentIntent的状态为requires_action时,这意味着客户需要完成额外的身份验证步骤(如3D Secure)才能确认付款。您应该通过在前端使用Stripe.js或移动的SDK来处理操作,以打开弹出窗口或应用内屏幕,供客户完成身份验证。
你可以使用Stripe JS函数handleNextAction
为了更深入地理解,我建议查看3D Secure authentication上的Stripe文档。

相关问题