Sagepay MD5验证现场没有匹配

时间:2015-11-24 17:45:52

标签: asp.net asp.net-mvc sagepay

我已经在TEST服务器上与sagepay ant进行了服务器集成,来自post匹配的VPSSignature与使用消息构建的MD5以及确认消息上的其他元素。问题是当我返回LIVE模式时,MD5哈希和VPSSignature与任何事务都不匹配,即使它们处于OK状态。

我用sagepay的文件确认我的字符串:

  

MD5签名的值串联:VPSTxId +
  VendorTxCode + Status + TxAuthNo + VendorName + AVSCV2 + SecurityKey +
  AddressResult + PostCodeResult + CV2Result + GiftAid + 3DSecureStatus
  + CAVV + AddressStatus + PayerStatus + CardType + Last4Digits + DeclineCode + ExpiryDate + FraudResponse + BankAuthCode。

     

注意:在大写的情况下返回MD5值。

     

请确保在散列之前VendorName为LOWER CASE。使用   urldecode来反转你从Sagepay收到的urlencoding如果a   返回没有值的字段,不应该检查   反对字符串。

我看到SagePay Server Integration Verify Signature但是他们没有提到有关sagepay的测试或实时服务器的任何内容

1 个答案:

答案 0 :(得分:0)

  

Sage Pay Server将在a的请求部分发送通知   POST到A1中提供的通知URL。请求将是URL   编码,名称=值字段用'&'字符分隔

我在Sage Pay Server集成和协议及指南3.00上阅读了这篇文章 可用here

通过检查来自Sage Pay的任何POST变量来解决问题,在这种情况下:

3DSecureStatus
CAVV
AVSCV2
CV2Result

部分vars未被捕获并包含在MD5签名串联字符串中。

问题解决了。