From 205a0669d83b7fdc9286d05c4933aaecae1bead2 Mon Sep 17 00:00:00 2001 From: paulwer Date: Sun, 8 Jan 2023 12:36:14 +0100 Subject: [PATCH] adding update_payment webhook --- app/Models/Webhook.php | 5 ++++- app/Observers/PaymentObserver.php | 7 +++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/app/Models/Webhook.php b/app/Models/Webhook.php index 621211ec129a..4c51d6af90ce 100644 --- a/app/Models/Webhook.php +++ b/app/Models/Webhook.php @@ -78,6 +78,8 @@ class Webhook extends BaseModel const EVENT_PROJECT_DELETE = 30; + const EVENT_UPDATE_PAYMENT = 31; + public static $valid_events = [ self::EVENT_CREATE_CLIENT, @@ -109,7 +111,8 @@ class Webhook extends BaseModel self::EVENT_CREATE_CREDIT, self::EVENT_UPDATE_CREDIT, self::EVENT_DELETE_CREDIT, - self::EVENT_PROJECT_DELETE + self::EVENT_PROJECT_DELETE, + self::EVENT_UPDATE_PAYMENT ]; protected $fillable = [ diff --git a/app/Observers/PaymentObserver.php b/app/Observers/PaymentObserver.php index 2f5a1d740eb6..3de2d0955953 100644 --- a/app/Observers/PaymentObserver.php +++ b/app/Observers/PaymentObserver.php @@ -42,6 +42,13 @@ class PaymentObserver */ public function updated(Payment $payment) { + $subscriptions = Webhook::where('company_id', $payment->company->id) + ->where('event_id', Webhook::EVENT_UPDATE_PAYMENT) + ->exists(); + + if ($subscriptions) { + WebhookHandler::dispatch(Webhook::EVENT_UPDATE_PAYMENT, $payment, $payment->company, 'invoices,client')->delay(now()->addSeconds(20)); + } } /**