如何安全地实施3d安全支付

时间:2012-12-07 07:06:23

标签: security credit-card 3d-secure

我想知道接受需要3-D Secure验证的信用卡付款的最佳方法是什么。目前结帐流程如下:

  1. 客户提交付款
  2. 支付网关返回错误,指出该卡需要3-D安全代码处理。返回响应中的ACS URL
  3. 我将用户重定向到发卡银行的验证网站,并在完成验证后传递了ACS的回调网址以进行重定向
  4. 客户输入验证码,ACS使用授权令牌重定向到回调网址,表明验证成功
  5. 要完成此过程,我必须使用授权令牌将原始请求重新提交到支付网关
  6. 我的问题是最后一步。由于我需要重新提交原始请求(其中包含客户的信用卡信息),我需要暂时将其存储在某处,以便在调用回调URL时检索它。有替代方案吗?

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


3 个答案:

答案 0 :(得分:6)

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

但回到你的命题,如果你在iframe或弹出窗口中显示它,你将能够将原始表单存储在你的基页上,然后用收到的身份验证令牌重新提交它。这是一个非常好的主意,因为你不需要做任何PCI合规性的东西。所以不仅对你来说更容易,建议:)。

答案 1 :(得分:2)

使用Sage Pay(我会假设其他支付提供商)您不需要在最后一步再次传递完整的订单信息,只需来自3D Secure表单的响应代码和唯一的交易参考。因此,无需存储卡的详细信息。

对我来说,这个过程是:

  1. 提供给支付网关的卡详细信息等和唯一交易参考。
  2. 支付网关以3D安全详细信息(ACSURL和参考代码)进行响应。
  3. 将用户重定向到3D安全表单(传递参考码和回调网址),然后输入详细信息。
  4. 验证码传回回调网址。
  5. 服务器必须将验证码和步骤1中的相同交易参考发送到支付网关。
  6. 支付网关以成功/失败信息作出回应。

答案 2 :(得分:-1)

我最近完成了一些3D安全工作。根据我的个人经验:

  1. 我将信用卡信息通过转发网址传递给银行 3d安全网址。
  2. 用户被重定向到3d安全网址并提示输入密码。
  3. 当他点击“继续”时,会使用授权令牌将用户传递给转发网址 - 信用卡信息也会被传递。