company_id) ->where('event_id', Webhook::EVENT_CREATE_PAYMENT) ->exists(); if ($subscriptions) WebhookHandler::dispatch(Webhook::EVENT_CREATE_PAYMENT, $payment, $payment->company, 'invoices,client')->delay(20); } /** * Handle the payment "updated" event. * * @param Payment $payment * @return void */ public function updated(Payment $payment) { $event = Webhook::EVENT_UPDATE_PAYMENT; if($payment->getOriginal('deleted_at') && !$payment->deleted_at) $event = Webhook::EVENT_RESTORE_PAYMENT; if($payment->is_deleted) $event = Webhook::EVENT_DELETE_PAYMENT; $subscriptions = Webhook::where('company_id', $payment->company_id) ->where('event_id', $event) ->exists(); if ($subscriptions) WebhookHandler::dispatch($event, $payment, $payment->company, 'invoices,client')->delay(25); } /** * Handle the payment "deleted" event. * * @param Payment $payment * @return void */ public function deleted(Payment $payment) { if($payment->is_deleted) return; $subscriptions = Webhook::where('company_id', $payment->company_id) ->where('event_id', Webhook::EVENT_ARCHIVE_PAYMENT) ->exists(); if ($subscriptions) { WebhookHandler::dispatch(Webhook::EVENT_ARCHIVE_PAYMENT, $payment, $payment->company, 'invoices,client')->delay(20); } } /** * Handle the payment "restored" event. * * @param Payment $payment * @return void */ public function restored(Payment $payment) { // } /** * Handle the payment "force deleted" event. * * @param Payment $payment * @return void */ public function forceDeleted(Payment $payment) { // } }