app->bind(PaymentPdfDataProvider::class, PaymentService::class); $this->app->bind(InvoiceBalanceUpdater::class, SalesInvoiceBalanceUpdater::class); $this->app->bind(PaymentNumberAssigner::class, SalesPaymentNumberAssigner::class); $this->app->bind(PaymentExchangeRateRecorder::class, MoneyPaymentExchangeRateRecorder::class); $this->app->bind(PaymentEmailSender::class, LaravelPaymentEmailSender::class); } public function boot(): void { Gate::policy(Payment::class, PaymentPolicy::class); Gate::policy(PaymentMethod::class, PaymentMethodPolicy::class); $abilities = [ 'send payment' => 'send', 'delete multiple payments' => 'deleteMultiple', ]; foreach ($abilities as $ability => $method) { Gate::define($ability, [PaymentPolicy::class, $method]); } } }