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

时间:2015-03-30 03:41:47

标签: php payment-gateway prestashop-1.6

我正在使用Prestashop 1.6的支付模块,一切正常,直到升级发生。付款服务器将验证数据返回到“http://..../validation.php”等网址。

此文件尝试使用服务器返回的购物车ID获取订单,显然无法找到它,因此购物车未清空且订单未创建。

我将日志添加到该文件中以查看收到的内容。 CartID(data ['reference'])是正确的。

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的调用是否正确。这是调用此函数的正确方法吗?

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我可以回答我的问题。问题不在于对getOrderByCartId的调用,因为此时订单尚未创建是正常的。 问题实际上是模块的验证功能,if的第二部分。

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