/** * @param \Magento\Framework\Event\Observer $observer * @return void */ public function updateOrderStatusForPaymentMethods(\Magento\Framework\Event\Observer $observer) { if ($observer->getEvent()->getState() != \Magento\Sales\Model\Order::STATE_NEW) { return; } $status = $observer->getEvent()->getStatus(); $defaultStatus = $this->_salesOrderConfig->getStateDefaultStatus(\Magento\Sales\Model\Order::STATE_NEW); $methods = $this->_paymentConfig->getActiveMethods(); foreach ($methods as $method) { if ($method->getConfigData('order_status') == $status) { $this->_resourceConfig->saveConfig('payment/' . $method->getCode() . '/order_status', $defaultStatus, 'default', 0); } } }