dispatch($document->requester, 'request_registered', [ 'code' => $document->code, ]); } public function paymentConfirmed(Invoice $invoice): void { $this->dispatch($invoice->user, 'payment_confirmed', [ 'invoice' => $invoice->number, 'amount' => number_format($invoice->amount), ]); } public function reportReady(Document $document): void { $this->dispatch($document->requester, 'report_ready', [ 'code' => $document->code, ]); } protected function dispatch(?User $user, string $patternKey, array $attributes): void { if (empty($user?->phone) || empty(config("services.iranpayamak.patterns.{$patternKey}"))) { return; } SendPatternSms::dispatch($user->phone, $patternKey, $attributes); } }