From 28c296160a8a8f5399dd20889214d5661334a060 Mon Sep 17 00:00:00 2001 From: Maksymilian Strzyzewski Date: Tue, 16 Jun 2020 14:44:47 +0200 Subject: [PATCH] Compensate reservation when order is canceled --- Model/OrderImporter/Processor.php | 8 +++++--- Model/OrderImporter/Status.php | 3 ++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Model/OrderImporter/Processor.php b/Model/OrderImporter/Processor.php index 16a22cb..6f3db66 100644 --- a/Model/OrderImporter/Processor.php +++ b/Model/OrderImporter/Processor.php @@ -100,14 +100,16 @@ public function processOrder(CheckoutFormInterface $checkoutForm): bool try { $connection->beginTransaction(); - if ($checkoutForm->getStatus() !== 'READY_FOR_PROCESSING') { - $this->allegroReservation->placeReservation($checkoutForm); - } else { + if ($checkoutForm->getStatus() === Status::ALLEGRO_READY_FOR_PROCESSING) { if (!$this->tryToGetOrder($checkoutForm->getId())) { $this->allegroReservation->compensateReservation($checkoutForm); $this->tryCreateOrder($checkoutForm); $this->removeErrorLogIfExist($checkoutForm); } + } elseif ($checkoutForm->getStatus() === Status::ALLEGRO_CANCELLED) { + $this->allegroReservation->compensateReservation($checkoutForm); + } else { + $this->allegroReservation->placeReservation($checkoutForm); } $connection->commit(); diff --git a/Model/OrderImporter/Status.php b/Model/OrderImporter/Status.php index 14a0999..5b34c42 100644 --- a/Model/OrderImporter/Status.php +++ b/Model/OrderImporter/Status.php @@ -19,7 +19,8 @@ class Status const STATE_KEY = 'state'; const PAID_KEY = 'paid'; const STATUS_STATE_SEPARATOR = ':'; - const ALLEGRO_READY_FOR_PROCESSING = "READY_FOR_PROCESSING"; + const ALLEGRO_READY_FOR_PROCESSING = 'READY_FOR_PROCESSING'; + const ALLEGRO_CANCELLED = 'CANCELLED'; /** @var ScopeConfigInterface */ private $scopeConfig;