diff --git a/vendor/magento/module-sales/Model/ResourceModel/Order/Handler/State.php b/vendor/magento/module-sales/Model/ResourceModel/Order/Handler/State.php index de15a627583..47395b17afe 100644 --- a/vendor/magento/module-sales/Model/ResourceModel/Order/Handler/State.php +++ b/vendor/magento/module-sales/Model/ResourceModel/Order/Handler/State.php @@ -9,7 +9,7 @@ namespace Magento\Sales\Model\ResourceModel\Order\Handler; use Magento\Sales\Model\Order; /** - * Class State + * Checking order status and adjusting order status before saving */ class State { @@ -34,6 +34,7 @@ class State if (in_array($currentState, [Order::STATE_PROCESSING, Order::STATE_COMPLETE]) && !$order->canCreditmemo() && !$order->canShip() + && $order->getIsNotVirtual() ) { $order->setState(Order::STATE_CLOSED) ->setStatus($order->getConfig()->getStateDefaultStatus(Order::STATE_CLOSED));