我有最新的1.6版本(1.6.1.18(。
问题。1.创建订单2.付款模块重定向用户3.在成功订单状态下已更改
这些行引起问题
echo $order->getOrderPaymentCollection()->count(); // returns 1
$history = new OrderHistory();
$history->id_order = $order->id;
$history->changeIdOrderState($stateId, $order->id);
echo $order->getOrderPaymentCollection()->count(); // returns 2
其他方法
echo $order->getOrderPaymentCollection()->count(); // returns 1
$order->setCurrentState($orderId);
echo $order->getOrderPaymentCollection()->count(); // returns 2
这是类似的问题,但是有另一个模块https://github.com/iepay/prestashop/issues/1
setCurrentState
创建了用于交易的重复条目。
如何避免这种情况?
我可以一次不重复条目更改状态并更新交易历史记录吗?
安装后没有更改商店的设置。
我有同样的问题。避免付款重复更改:
$history->changeIdOrderState($stateId, $order->id);
to
$history->changeIdOrderState($stateId, $order->id, true);
第三参数" true"是指使用现有付款。在这个问题上损失了半天,然后尝试挖掘Prestashop Github源并找到此第三个参数。