payment = $payment; $this->contact = $contact; $this->company = $company; $this->settings = $payment->client->getMergedSettings(); } /** * Execute the job. * * * @return void */ public function handle() { if ($this->company->is_disabled) return true; if ($this->contact->email) { MultiDB::setDb($this->company->db); $this->payment->load('invoices'); $this->contact->load('client'); App::forgetInstance('translator'); $t = app('translator'); App::setLocale($this->contact->preferredLocale()); $t->replace(Ninja::transformTranslations($this->settings)); $template_data['body'] = ctrans('texts.refunded_payment') . ' $amount

$invoices'; $template_data['subject'] = ctrans('texts.refunded_payment'); $email_builder = (new PaymentEmailEngine($this->payment, $this->contact, $template_data))->build(); $invitation = null; if($this->payment->invoices && $this->payment->invoices->count() >=1) $invitation = $this->payment->invoices->first()->invitations()->first(); $nmo = new NinjaMailerObject; $nmo->mailable = new TemplateEmail($email_builder, $this->contact, $invitation); $nmo->to_user = $this->contact; $nmo->settings = $this->settings; $nmo->company = $this->company; $nmo->entity = $this->payment; NinjaMailerJob::dispatch($nmo); event(new PaymentWasEmailed($this->payment, $this->payment->company, Ninja::eventVars(auth()->user() ? auth()->user()->id : null))); } } }