order = $order; $this->transaction = $transaction; $this->completely = $completely; } /** * Get the notification's delivery channels. * * @param mixed $notifiable * @return array * @phpcs:disable Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClass */ public function via($notifiable) { // phpcs:enable return ['mail']; } /** * Get the mail representation of the notification. * * @param mixed $notifiable * @return \Illuminate\Notifications\Messages\MailMessage * @phpcs:disable Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClass */ public function toMail($notifiable) { $mailable = (new MailMessage()); if ($this->completely) { $mailable->subject( \trans('Remboursement complet de votre commande - :appname', [ 'appname' => \config('app.name') ]) ); } else { $mailable->subject( \trans('Remboursement partiel de votre commande - :appname', [ 'appname' => \config('app.name') ]) ); } $mailable->greeting(trans('Votre commande avec pour référence :ref à fait l\'objet d\'un remboursement', [ 'ref' => $this->order->reference ])); if ($this->completely) { $mailable->line( \trans('Votre commande ne pouvant être honorée, nous avons effectué un remboursement complet de votre commande.') ); } else { $mailable->line( \trans('Une partie de votre commande ne pouvant être honorée, nous avons effectué un remboursement partiel de votre commande. Vous pourrez récupérer comme convenu le restant de votre commande.') ); } $mailable->line( \trans('Si vous avez effectué le paiement sur notre plateforme, vous devriez voir dans un délais, qui peut varier selon votre banque, un remboursement par le même moyen de paiement que vous avez utilisé sur notre plateforme.') ); $mailable->line(\trans( 'Vous pouvez retrouver les informations de votre commande depuis votre espace personel. Vous trouverez également ci-joint votre facture d\'avoir.' )); $mailable->line(\trans('Toute nos excuses pour la gêne occasionnée.')); $title = trans('Commande du :date - :orderRef - :transRef', [ 'date' => $this->transaction->created_at->isoFormat('DD\/MM\/YYYY'), 'orderRef' => $this->order->reference, 'transRef' => $this->transaction->reference, ]); $mailable->attachData( $this->transaction->generateInvoice($title)->output(), $title . '.pdf', [ 'as' => $title . '.pdf', 'mime' => 'application/pdf', ] ); return $mailable; } /** * Get the array representation of the notification. * * @param mixed $notifiable * @return array * @phpcs:disable Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClass */ public function toArray($notifiable) { // phpcs:enable return [ 'order_id' => $this->order->id ]; } }