首页 > 解决方案 > 如何在 PayPal 支付网关中集成 3D Secure 身份验证?

问题描述

祝大家有美好的一天。我目前正在我的一个项目中集成 PayPal 支付网关(后端)。这是我第一次在支付网关工作。我想使用贝宝的 Orders API 集成 3D 安全身份验证。任何人都可以告诉我使用 3D 安全身份验证集成 Paypal 的 API 流程吗?

例如:我已经使用 POSTMAN 测试了没有 3D Secure 身份验证的正常流程。流程如下所示。

  1. 我从前端获取金额和货币。
  2. 我使用从公司数据库收到的 clientID 和密钥创建访问令牌。
  3. 然后我使用https://api.sandbox.paypal.com/v2/checkout/orders API创建一个订单。
  4. 我从https://www.paypal.com/checkoutnow?token=5O190127TN364715T之类的响应中获得了结帐链接
  5. 我将用户重定向到此链接,该链接将用户重定向到 Paypal 页面以进行付款。完成付款后,我将用户重定向到成功/失败 URL,该 URL 还包含令牌和付款人 ID。
  6. 然后我使用https://api-m.paypal.com/v2/checkout/orders/ <token/orderID>/capture 完成支付。

现在我想为其添加 3D Secure 身份验证。从集成 3D Secure 的文档中,我发现我需要在其中添加支付源,并在 Card 对象中添加SCA_ALWAYS作为验证属性。但是我怎样才能让支付源作为请求在正文中提供?(仅供参考,我不应该使用 PayPal 的任何库作为公司政策)

标签: javaspring-bootapipaypalpaypal-sandbox

解决方案


当重定向到https://www.paypal.com/checkoutnow?token=5O190127TN364715T您的示例中的 PayPal 结帐页面时(或者为了更好的用户体验,永远不要重定向,而是使用保持您的网站加载的上下文弹出窗口),不需要实施 3D 安全。如果需要,PayPal 将提供任何 3D 安全流程,这将取决于买家账户及其所在国家和所使用的信用卡,并且可能仅在第一次使用该卡时发生。


实施 3D 安全仅适用于直接卡集成,例如高级信用卡和借记卡(带或不带托管字段)Braintree 网关


推荐阅读