From 002665b2db7e2083debef3a9653dc92a9e6c4603 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Sun, 22 Oct 2017 10:12:32 +0300 Subject: [PATCH] Fix for deleting/restoring failed payment --- app/Listeners/ActivityListener.php | 4 ++-- app/Listeners/InvoiceListener.php | 10 ++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/app/Listeners/ActivityListener.php b/app/Listeners/ActivityListener.php index d43ba83beaf0..367738661d35 100644 --- a/app/Listeners/ActivityListener.php +++ b/app/Listeners/ActivityListener.php @@ -483,8 +483,8 @@ class ActivityListener $this->activityRepo->create( $payment, ACTIVITY_TYPE_RESTORE_PAYMENT, - $event->fromDeleted ? $payment->getCompletedAmount() * -1 : 0, - $event->fromDeleted ? $payment->getCompletedAmount() : 0 + $event->fromDeleted && ! $payment->isFailedOrVoided() ? $payment->getCompletedAmount() * -1 : 0, + $event->fromDeleted && ! $payment->isFailedOrVoided() ? $payment->getCompletedAmount() : 0 ); } diff --git a/app/Listeners/InvoiceListener.php b/app/Listeners/InvoiceListener.php index 073cd87e8609..f69bbcda9efc 100644 --- a/app/Listeners/InvoiceListener.php +++ b/app/Listeners/InvoiceListener.php @@ -87,6 +87,11 @@ class InvoiceListener public function deletedPayment(PaymentWasDeleted $event) { $payment = $event->payment; + + if ($payment->isFailedOrVoided()) { + return; + } + $invoice = $payment->invoice; $adjustment = $payment->getCompletedAmount(); @@ -143,6 +148,11 @@ class InvoiceListener } $payment = $event->payment; + + if ($payment->isFailedOrVoided()) { + return; + } + $invoice = $payment->invoice; $adjustment = $payment->getCompletedAmount() * -1;