一些发卡银行拒绝3D安全请求

时间:2010-01-20 11:19:39

标签: asp.net payment-gateway credit-card 3d-secure

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

我们使用DataCash作为我们的付款服务提供商。

我们看到以下问题:

在这些方案中注册的一些卡片正在成功显示3D安全页面,其他卡片失败,与发卡银行交谈没有帮助,因为他们告诉我们他们没有看到交易。

我们从“cap.securecode.com”这样的服务器收到消息:

  

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

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

  

您无法访问此页面。

     

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

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

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

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

4 个答案:

答案 0 :(得分: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属性似乎已经解决了问题 - 它对成功的事务没有影响,并允许那些失败成功的事务。

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

答案 1 :(得分:4)

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

我在发行银行工作。如果交易涉及3D Secure,则第一步是3D安全认证,并且仅在成功后进行自动化。如果发行人银行确实将3D安全处理权移交给另一个组织,那么他们确实在3D安全错误的情况下看不到该交易。换句话说,他们从未做过授权。这取决于他们是否了解3D安全错误。因此,联系发行人可能无济于事。

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

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

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

答案 2 :(得分:3)

3D安全是一团糟 - 您的支付处理器将转移到许多网站之一,具体取决于谁发卡。其中一些站点接受GET请求,一些站点仅接受POST请求。如果您要发送GET而不是POST,则可能会收到此错误。

答案 3 :(得分:-1)

如果我说某些银行(MPI&#39; s)用空格返回PaReq响应,那么这对所有人来说可能会有所帮助,那些空格必须替换为&#39; +&#39;标志,请注意,如果您使用PHP进行编码,则无法使用urlencode对其进行编码,因为在提供正确的详细信息后,这可能会破坏重定向。

尊重K