Magento REDSYS SHA256 在 TPV 上发出错误 180 并且没有订单确认
问题:Magento REDSYS SHA256 在 TPV 上发出错误 180 并且没有订单确认
我们在 Magento 1.8.1 版中有一个商业,并使用 Redsys 模块通过 VISA 实现支付。随着 SSL 的 SHA256 的新实现,Redsys 提供了以下模块来升级/安装 Redsys 模块(实际上是 2.8.3 版):
http://www.redsys.es/wps/wcm/connect/redsys/52db13b8-af9e-4d1c-b796-3890b72ddb75/redsys_magento_V2.8.3.zip?MODu003dAJPERES
安装顺利:把东西放在应该的地方并开始调试。
所以,我们开始吧:所有运行,它似乎在第一次尝试时完美运行但订单仍处于“新”状态而不是“处理中”。此外,TPV 平台在通知中显示“180”,这意味着它返回到我的业务,但出现了问题。
显然,在返回时出现了问题,代码是模块的真实代码。
对此有任何想法吗?
解答
找到了一个解决方案,将订单 ID 编码为在 79 行中发送到 Redsys:
在 \app\code\local\Excellenceredsys\Redsys\controllers\IndexController.php
$numpedido u003d str_pad($orderId, 12, "0", STR_PAD_LEFT);
所以结果是:0001XXXXXXXXXX(至少对于我的商业)
这会在 301 行中产生问题:
$order u003d Mage::getModel('sales/order')->loadByIncrementId($orde);
由于填充零,它无法按 id 获取订单。
-
快速解决方案:$order u003d Mage::getModel('sales/order')->loadByIncrementId($orde*1);
-
无 Var 类型更改解决方案:去掉填充零,可能使用 substr 函数。
更多推荐
所有评论(0)