onQueue('notifications'); } public function handle(): void { $user = User::find($this->userId); if ($user === null) { return; } if ($user->grace_period_until === null) { return; } $mailable = match ($this->day) { 3 => new PaymentFailedDay3Reminder($user), 5 => new PaymentFailedDay5Reminder($user), default => throw new InvalidArgumentException("Unsupported reminder day: {$this->day}"), }; Mail::to($user->email)->send($mailable); } }