diff --git a/classes/PaymentModule.php b/classes/PaymentModule.php index 9d638ecd3..69520408e 100644 --- a/classes/PaymentModule.php +++ b/classes/PaymentModule.php @@ -536,6 +536,13 @@ abstract class PaymentModuleCore extends Module if ($order_status->logable) ProductSale::addProductSale((int)$product['id_product'], (int)$product['cart_quantity']); + // Set the order state + $new_history = new OrderHistory(); + $new_history->id_order = (int)$order->id; + $new_history->changeIdOrderState((int)$id_order_state, $order, true); + $new_history->addWithemail(true, $extra_vars); + + // Switch to back order if needed if (Configuration::get('PS_STOCK_MANAGEMENT') && $order_detail->getStockState()) { $history = new OrderHistory(); @@ -544,13 +551,6 @@ abstract class PaymentModuleCore extends Module $history->addWithemail(); } - // Set order state in order history ONLY even if the "out of stock" status has not been yet reached - // So you migth have two order states - $new_history = new OrderHistory(); - $new_history->id_order = (int)$order->id; - $new_history->changeIdOrderState((int)$id_order_state, $order, true); - $new_history->addWithemail(true, $extra_vars); - unset($order_detail); // Order is reloaded because the status just changed