diff --git a/src/Model/Order.php b/src/Model/Order.php index 916a741..5622b83 100644 --- a/src/Model/Order.php +++ b/src/Model/Order.php @@ -92,9 +92,16 @@ public function isAdyenOrderPaid(): bool public function finalizeOrder(Basket $basket, $user, $recalcOrder = false) { $result = parent::finalizeOrder($basket, $user, $recalcOrder); - // the final OrderStatus is set via Notification - if ($this->isAdyenOrder()) { - $this->setAdyenOrderStatus('NOT_FINISHED'); + $moduleService = $this->getServiceFromContainer(ModuleService::class); + if ($moduleService->isAdyenPayment($this->getAdyenStringData('oxpaymenttype'))) { + $pspReference = $this->getAdyenPSPReference(); + // the final OrderStatus is set via Notification + if ($this->isAdyenOrder()) { + $this->setAdyenOrderStatus('NOT_FINISHED'); + } + if (empty($pspReference)) { + $this->setAdyenOrderStatus('ERROR'); + } } return $result; }