Node.js 如何通过节点中的条带处理3D卡身份验证

Node.js 如何通过节点中的条带处理3D卡身份验证,node.js,stripe-payments,webhooks,hapi,Node.js,Stripe Payments,Webhooks,Hapi,我是新来的整合条纹付款。我搞不清楚如何集成3D安全身份验证。在我的应用程序中,在后端平台上使用节点和Hapi框架。下面是paymnet意图的一些代码 let params = { amount: 100, currency: "CAD", payment_method_types: ['card'], payment_method: "card_1HqytjG6OdQYWdifbWxCrVGB", //cardId

我是新来的整合条纹付款。我搞不清楚如何集成3D安全身份验证。在我的应用程序中,在后端平台上使用节点和Hapi框架。下面是paymnet意图的一些代码

 let params = {
    amount: 100,
    currency: "CAD",
    payment_method_types: ['card'],
    payment_method: "card_1HqytjG6OdQYWdifbWxCrVGB", //cardId
    customer: "users5fc1c5ff44d8605030499c00", //userId
}

let intent = await stripe.paymentIntents.create(params {
            idempotencyKey: uuidv4());
let paymetConfirm =  await stripe.paymentIntents.confirm(intent.id, intend.payment_method);
对于一些不需要3D安全认证的测试卡,它可以正常工作

  • 4242424242
  • 222303122003222
  • 不使用这些卡需要3D身份验证)

  • 40000027603184
  • 4000002500003155
  • 因此,当我检查API的响应(使用3D身份验证卡)时,返回的子对象之一是

    next_action: {
        type: 'use_stripe_sdk',
        use_stripe_sdk: {
        type: 'three_d_secure_redirect',
         stripe_js: 'https://hooks.stripe.com/redirect/authenticate/src_1Hs1zhG6OdQYWdifEWTcyUvC?client_secret=src_client_secret_okgYE1A4eOovEFL9g0sgN29U',
      source: 'src_1Hs1zhG6OdQYWdifEWTcyUvC'
    }
    
    },

    当我将此URL粘贴到浏览器上时,它会重定向3d Secure的页面,有两个选项

  • 完全认证
  • 身份验证失败
  • 注意- Stripe SDK仅在后端平台(节点)上设置。

    我的问题是

  • 有没有办法不从客户端确认,从后端平台自动确认
  • 对于该场景,我们必须在客户端(android、IOS)上设置stripe SDK
  • 当我点击上面给出的下一个动作对象中的URL时,里面有两个选项,即完整和失败身份验证(3D页面视图)如何集成点击我的API hit。如何实现

  • 请帮帮我。谢谢,您使用启用了3DS的卡付款失败,因为您没有在客户端验证这些卡。您当前的服务器端确认流无法与启用了3DS的卡一起使用,因为您没有给用户执行3DS流的机会


    实际上不建议确认支付服务器端,因为它会向服务器添加不必要的往返,而不会真正添加任何内容。但是,如果您仍然希望确认服务器端,Stripe在此处提供了一个如何进行确认的指南:

    您使用启用了3DS的卡进行支付失败,因为您没有在客户端对它们进行身份验证。您当前的服务器端确认流无法与启用了3DS的卡一起使用,因为您没有给用户执行3DS流的机会


    实际上不建议确认支付服务器端,因为它会向服务器添加不必要的往返,而不会真正添加任何内容。不过,如果您仍然想确认服务器端,Stripe在这里提供了一个如何确认的指南:

    谢谢,@Paul的回复。我想我们可以限制卡,就像我们只输入不支持3D卡的用户一样,所以请告诉我如何在添加卡时检查卡是否3D安全?感谢创建PaymentMethod时,您可以检查卡片上是否支持3DS:谢谢@Paul的回复。我想我们可以限制卡,就像我们只输入不支持3D卡的用户一样,所以请告诉我如何在添加卡时检查卡是否3D安全?感谢创建PaymentMethod时,您可以检查卡上是否支持3DS: