request->get['route'])) { if (($this->request->post['route'] ?? null) === self::CALLBACK_ROUTE) { $this->request->get['route'] = self::CALLBACK_ROUTE; } return; } if (is_string($this->request->get['route']) && preg_match(self::CHECKOUT_ROUTE_PATTERN, $this->request->get['route'])) { $this->releaseClosedSessionOrder(); } } private function releaseClosedSessionOrder(): void { $this->loadOrder($this->getOrderIdFromSession()); if (([] === $this->orderInfo) || !$this->isPaidWithModule()) { return; } if (0 === (int)$this->orderInfo['order_status_id']) { unset($this->session->data['order_id']); return; } $this->initializeModule(); $orderStatusId = (int)($this->orderInfo['order_status_id'] ?? 0); if (($this->successOrderStatusId > 0) && !$this->isAwaitingPayment($orderStatusId)) { unset($this->session->data['order_id']); } } }