security - 如何安全地实现3D安全支付

标签 security credit-card 3d-secure

我想知道接受需要 3-D Secure 的信用卡付款的最佳方式是什么?确认。目前结帐流程是这样的:

  1. 客户提交付款
  2. 支付网关返回错误,指出该卡需要 3D 安全代码处理。在响应中返回 ACS URL
  3. 我将用户重定向到发卡银行的验证站点,并传递一个回调 URL,以便 ACS 在验证完成后进行重定向
  4. 客户输入验证码,ACS 会重定向到回调网址,并带有指示验证成功的授权 token
  5. 要完成该流程,我必须使用授权 token 向支付网关重新提交原始请求

我的问题出在最后一步。由于我需要重新提交原始请求(其中包含客户的信用卡信息),因此我需要将其临时存储在某个位置,以便在调用回调 URL 时可以检索它。有替代方案吗?

我正在考虑尝试 iframe 解决方案:原始表单永远不会关闭,我在 iframe 中显示验证过程。当该过程完成时,即调用回调 url 时,我隐藏 iframe 并使用所需的值更新原始表单并重新提交。有人尝试过这种技术吗?

<小时/>

最佳答案

您可能已经在链接的文章中注意到,在 iframe 中呈现银行页面是首选。不过,如果您进一步阅读,它还提供了其他安全功能,特别是在网络钓鱼防护方面。因为您的客户不会知道他真正将密码发送给了谁。

但是回到你的建议,如果你在 iframe 或弹出窗口中呈现它,你将能够将原始表单存储在你的基本页面上,然后使用收到的身份验证 token 重新提交它。这是一个非常好的主意,因为您不需要做任何 PCI 合规性工作。因此,它不仅对您来说更容易,而且值得推荐:)。

关于security - 如何安全地实现3D安全支付,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13758482/

相关文章:

java - 如何在 Groovy 脚本中通过 @Grab 禁止依赖关系

security - 对称 key 存储

iphone - 为使用 REST 服务的应用程序创建帐户的安全/最佳实践?

Paypal 信用卡按钮隐藏 Paypal 标准按钮

iframe - 3D 安全和网上银行站点是否使用 x-frame-options header ?

ASP.NET 使用 iframe for 3ds - 如何返回托管页面

Android:3d 安全重定向响应

c# - SQL Server 中动态创建的 SQL 与参数

c# - 如何检查只有信用卡号码有效而不是借记卡..?

android - 信用卡读卡器输出什么样的数据?