【问题标题】:Sagepay MD5 verification on live didn't match现场 Sagepay MD5 验证不匹配
【发布时间】:2015-11-24 17:45:52
【问题描述】:

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

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

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

注意:MD5 值以大写形式返回。

在散列之前,请确保供应商名称为小写。采用 urldecode 以反转您从 Sagepay 收到的 urlencoding 如果 返回的字段没有值,这不应该被检查 反对字符串。

我看到了SagePay Server Integration Verify Signature,但他们没有提到任何关于 sagepay 的测试或实时服务器的信息

【问题讨论】:

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


    【解决方案1】:

    Sage Pay 服务器将在请求部分发送通知 POST 到 A1 中提供的通知 URL。请求将是 URL 编码,Name=Value 字段由“&”字符分隔

    我在 Sage Pay Server Integration and Protocol and Guidelines 3.00 上阅读了这篇文章 可用here

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

    3DSecureStatus
    CAVV
    AVSCV2
    CV2Result
    

    其中一些变量未被捕获并包含在 MD5 签名连接字符串中。

    问题解决了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-02
      • 1970-01-01
      • 2011-09-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多