供应商系统返回INVALID或ERROR以响应通知POST - Sagepay Server

时间:2015-07-11 08:05:35

标签: sagepay opencart2.x

我使用opencart 2建立了2个网站(Opencart 1上有更多网站),两者都设置为采用Sagepay服务器支付,但现在发现,当Sagepay试图与opencart交谈时,两个网站Sagepay付款都失败了绿灯。这意味着没有向商店所有者发送失败电子邮件通知,并且在Sagepay取消了销售?你可以想象两个店主都不高兴。我联系了Sagepay,看看发生了什么事,他们告诉我付款失败了以下错误,但就Sagepay而言,付款已通过所有测试,但因为调用网站无法将正确的回复发送回Sagepay,他们不得不取消交易!

看看Sagepay是如何工作的,它接缝sagepay将autorisation返回给Opencart,然后opencart必须说明它是否会根据发送的内容接受付款,而接下来这是opencart 2无法正确响应的地方?

这是另一个OC2错误吗?

有没有人遇到这个,我该怎么做呢

一个站点在OC 2.0.2.0上,另一个站点在2.0.3.1上 在支付模块中正确设置了所有内容,并使用sagepay等记录了IP地址..,这只是付款授权后的问题。

  

交易已完成,但供应商系统已退回INVALID或ERROR   响应通知POST。卖方已取消交易。

这是一个非常大的问题,并且不确定如何解决这个问题,因为一旦在管理部分添加了一些设置,Opencart 2就可以开箱即用sagepay付款,但它缝合它没有正确设置这样做..我不能相信没有其他人遇到过这个?

1 个答案:

答案 0 :(得分:0)

我使用内置sage pay调试选项,告诉我这是MD5 Hash不匹配,在进一步挖掘和阅读官方Sage付费服务器文档后,有一个Bold Red通知,说明确保提供商名称在小写的情况下,我的管理部分是标题案例。看起来Opencart 2的创建者已经看过这个,我只是在sagepay_server.php控制器文件中的MD5比较之前使用php的strtolower函数将供应商名称转换为小写。当然,可以通过在sage pay server admin部分中输入供应商名称作为小写来避免这种情况。但是看到输入时没有注释,opencart应该将供应商名称转换为小写,以确保不会出现此错误。