我正在使用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的调用是否正确。这是调用此函数的正确方法吗?
有什么想法吗?
答案 0 :(得分:0)
我可以回答我的问题。问题不在于对getOrderByCartId的调用,因为此时订单尚未创建是正常的。 问题实际上是模块的验证功能,if的第二部分。
$module->validateOrder(intval($data['reference']), $orderStatus, $amount, $module->displayName, $orderMessage, NULL, $id_currency, true, $customer->secure_key);