【问题标题】:Vendor systems returned INVALID or ERROR in response to notification POST - Sagepay Server供应商系统返回 INVALID 或 ERROR 以响应通知 POST - Sagepay 服务器
【发布时间】:2015-07-11 08:05:35
【问题描述】:

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

看看 Sagepay 是如何工作的,它将 sagepay 返回到 Opencart 的自动化,然后 opencart 必须根据发送的内容说明它是否会接受付款,这就是 opencart 2 未能正确响应的地方?

这是另一个 OC2 错误吗?

有没有人遇到过这个问题,我该如何解决

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

交易已完成,但供应商系统返回 INVALID 或 ERROR 对通知 POST 的响应。交易被供应商取消。

这是一个非常大的问题,不知道如何解决这个问题,因为 Opencart 2 旨在能够开箱即用 sagepay 付款,一旦在管理部分添加了一些设置,但它接缝它的设置不正确。我不敢相信没有其他人遇到过这个?

【问题讨论】:

  • 这可能是由于签名值不匹配 - Opencart 可能会拒绝交易。协议 3 中返回了一些额外的字段 - 可能值得检查...

标签: opayo opencart2.x


【解决方案1】:

我使用了内置的 sage pay 调试选项,它告诉我这是一个 MD5 哈希不匹配,在进一步挖掘和阅读官方 Sage pay Server 文档后,有一个粗体红色通知,说明确保提供了供应商名称全部小写,我的在管理部分是标题大小写。看起来 Opencart 2 的创建者已经忽略了这一点,我只是在 sagepay_server.php 控制器文件中的 MD5 比较之前使用 php 的 strtolower 函数将供应商名称转换为小写。当然,这可以通过在 Sage 支付服务器管理部分输入小写的供应商名称来避免。但是看到输入时没有注释,opencart 应该像我所做的那样将供应商名称转换为小写,以确保不会出现此错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-17
    • 2021-09-08
    • 2011-12-21
    • 1970-01-01
    • 2020-12-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多