如何在 PayPal 支付网关中集成 3D Secure 身份验证?

How to integrate 3D Secure authentication in PayPal payment gateway?

大家好。我目前正在我的一个项目中集成 PayPal 支付网关(后端)。这是我第一次在支付网关工作。我想使用 Orders API 的 paypal 集成 3D 安全身份验证。谁能告诉我使用 API 使用 3D 安全身份验证集成 Paypal 的流程?

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

  1. 我从前端获取金额和货币。
  2. 我使用从公司数据库收到的 clientID 和密码创建访问令牌。
  3. 然后我使用 https://api.sandbox.paypal.com/v2/checkout/orders API 创建订单。
  4. 我从 https://www.paypal.com/checkoutnow?token=5O190127TN364715T
  5. 这样的响应中得到 checkOut link
  6. 我将用户重定向到此 link,它会将用户重定向到 Paypal 页面以进行付款。完成付款后,我将用户重定向到 success/failure URL,其中还包含令牌和付款人 ID。
  7. 然后我用https://api-m.paypal.com/v2/checkout/orders//capture完成支付

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

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


实施 3D 安全仅适用于直接卡集成,例如 Advanced Credit and Debit Cards (with or without hosted fields), or the Braintree Gateway