transaction = $transaction; } /** * Get the notification's delivery channels. * * @param mixed $notifiable * @return array */ public function via($notifiable) { if ($this->dontSend($notifiable)) { return []; } return ['database', FcmChannel::class, ]; } public function dontSend($notifiable) { return $this->transaction->status != 'WAIT_PAYMENT'; } /** * Get the mail representation of the notification. * * @param mixed $notifiable * @return \Illuminate\Notifications\Messages\MailMessage */ public function toMail($notifiable) { return (new MailMessage) ->line('The introduction to the notification.') ->action('Notification Action', url('/')) ->line('Thank you for using our application!'); } /** * Get the array representation of the notification. * * @param mixed $notifiable * @return array */ public function toArray($notifiable) { $transaction = $this->transaction; return [ 'title' => 'Menunggu Pembayaran', 'body' => "Silahkan lakukan pembayaran untuk pesanan $transaction->number", 'type' => 'Info', 'data' => $this->transaction, 'model' => get_class($this->transaction), ]; } public function toFcm($notifiable) { $payload = $this->toArray($notifiable); return [ 'notification' => [ 'title' => $payload['title'], 'body' => $payload['body'], ], ]; } }