prestashop 1.6.1.18中的setCurrentOrstate上的重复交易条目



我有最新的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源并找到此第三个参数。

最新更新