Prestashop 1.6无法通过购物车ID找到订单



我使用的是带有Prestashop 1.6的支付模块,在升级之前一切都很好。支付服务器将验证数据返回到类似"http://..../validation.php".

该文件试图使用服务器返回的购物车id获取订单,但显然找不到,因此购物车没有清空,订单也没有创建。

我在那个文件中添加了日志,看看收到了什么。CartID(数据"引用")是正确的。

writeMessage("Trying to get the order id using the cart:".$data['reference']);
        writeMessage(Order::getOrderByCartId((int)($data['reference'])));
        if ($id_order = intval(Order::getOrderByCartId((int)($data['reference']))))
        {
                writeMessage("Got the order by cart id.");
                writeMessage("Got the order by cart id:".$id_order);
                $order = new Order($id_order);
...

我想知道对Order::getOrderByCartId的调用是否正确。调用这个函数的方法正确吗?

知道吗?

我可以回答我的问题。调用getOrderByCartId时没有出现问题,因为此时订单尚未创建是正常的。问题实际上是模块的验证功能,如果的第二部分

$module->validateOrder(intval($data['reference']), $orderStatus, $amount, $module->displayName, $orderMessage, NULL, $id_currency, true, $customer->secure_key);

最新更新