4

我们有一个商业网站,我们正在尝试设置 3D Secure(由 VISA/Mastercard Securecode 验证)。

我们使用 DataCash 作为我们的支付提供商。

我们看到以下问题:

在这些计划中注册的一些卡已成功显示在 3D Secure 页面上,而另一些则失败了,与发卡银行交谈也无济于事,因为他们告诉我们他们没有看到交易。

我们从诸如“cap.securecode.com”之类的服务器收到消息,说明:

由于系统错误,您的身份验证无法完成。如果这种情况持续发生,请联系您的 CSR”。

或来自“www.securesuite.co.uk”:

您无法访问此页面。

这可能是由于以下两个原因之一:

  1. 您尝试访问的 FI 已停用
  2. 特定IP地址对FI的访问受到限制,您的地址不是其中之一

有没有其他人看到验证银行返回这些错误,我该如何解决?

我正在尝试获取有关成功和失败的任何模式的更多细节。

4

4 回答 4

7

看起来我们用来向 3D Secure 服务器提交请求的表单存在问题:

<form method="post" 
      enctype="multipart/form-data" 
      action="https://[3dSecureServer]">
  <input value="[EncodedRequest]" name="PaReq" type="hidden">
  <input value="[RetailerReference]" name="MD" type="hidden">
  <input value="[RetailerReturnUrl]" type="hidden" name="TermUrl">
  <p>If you do not see your card issuer's instructions, below, 
     please click <input value="Continue" name="TDAction" type="submit"></p>
</form>

从表单中删除enctype属性似乎已经解决了这个问题——它对成功的交易没有影响,并且允许那些失败的交易也成功。

我想这是从其他一些示例代码中获取的。

于 2010-01-21T22:34:37.827 回答
4

让我试着给你一些额外的信息,

我在发卡行工作。如果交易涉及 3D 安全,那么第一步是 3D 安全认证,只有在成功后才能进行授权。如果发行银行确实将 3D​​ 安全的处理移交给了另一个组织,那么在 3D 安全错误的情况下,他们确实永远不会看到交易。换句话说,他们从未做过授权。这取决于他们是否知道 3D 安全错误。因此,联系发行人可能无济于事。

如果我是正确的,那么您对多个 3D 安全组织有疑问。如果我假设每个发行人都有自己的 3d 安全组织,那么您就会遇到来自不同发行人的信用卡的问题(您命名为 securecode 和 securesuite)。因此,我认为这与信用卡无关,而仅与您的处理有关。

问题不完全出在您的支付处理器手中吗?或者您在与支付处理商的沟通中可能做错了什么?请注意,Visa 和 Mastercard 确实实现了 3D Secure 有点不同。

(也许是一个愚蠢的问题,但您确定有错误的卡是 Visa 和 Mastercard 吗?客户使用您的支付处理器不支持的卡(例如 JBC)是真的吗?)

于 2010-01-20T22:22:21.623 回答
3

3D 安全是一团糟 - 您的支付处理器将根据谁发行您的卡将其移交给许多站点之一。其中一些站点接受 GET 请求,而一些仅接受 POST 请求。如果您发送的是 GET 而不是 POST,您可能会收到此错误。

于 2011-01-19T05:06:19.850 回答
-1

如果我说某些银行(MPI)返回带有空格的 PaReq 响应,这可能对每个人都有帮助,这些空格必须用“+”号替换,请注意,如果您在 PHP 中编码,则不能简单地编码他们使用 urlencode,因为这可以在提供正确的详细信息后破坏重定向本身。

关于K

于 2013-03-21T09:47:31.977 回答