Opencart 2.0.1.1 - 'Status = INVALID StatusDetail =无法匹配MD5哈希。订单可能会被篡改。'

时间:2016-09-02 10:59:51

标签: paypal opencart md5 sagepay

我们尝试在Opencart中使用SagePay服务器功能,在通过此路由进行购买(并选择PayPal)时,我们收到此错误响应:

Status=INVALID StatusDetail= Cannot match the MD5 Hash. Order might be tampered with.

这发生在/catalog/controller/payment/sagepay_server.php的第346行

注意,事务仍然实际上是成功的 - 但只是用户没有正确地返回到站点。 用户看到的屏幕显示:

服务器错误5006:无法重定向到供应商的网站。供应商未能提供RedirectionURL。

以前有人遇到过这个错误吗?有很多关于5006错误的信息,但似乎我们的问题的路线是MD5 Hash没有匹配。

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

您通过MD5哈希生成的VPSSignature必须与Sage Pay生成的VPSSignature匹配。确保Sage Pay返回的信息与字符串的内容匹配,但是通过MD5哈希。

答案 1 :(得分:0)

检查您是否使用Suhosin安全扩展,因为默认设置为suhosin.get.max_value_length为512.由于在URL中传递了md5哈希,如果是URL超过512,它被截断,因此导致字符串不匹配。