РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗ppflSpBlPy 180 of 250 menu
◀ ▶

Страница оплаты в Filament

Давайте откроем страницу оплаты. Вместо Spark покажем свой экран внутри панели. Адрес команды ведёт на /admin/acme/billing, где команда подтверждает тариф.

Создадим ManualBillingProvider.php в каталоге App\Billing. Класс реализует BillingProvider. Метод getRouteAction вернёт страницу оплаты:

<?php namespace App\Billing; use App\Filament\Pages\Billing; use App\Http\Middleware\EnsureTeamIsSubscribed; use Filament\Billing\Providers\Contracts\BillingProvider; class ManualBillingProvider implements BillingProvider { public function getRouteAction(): string { return Billing::class; } public function getSubscribedMiddleware(): string { return EnsureTeamIsSubscribed::class; } } ?>

Сама страница короткая: заголовок и кнопка оплаты в шапке. Обработчик платежа добавим отдельно, когда подключим шлюз:

<?php namespace App\Filament\Pages; use Filament\Actions\Action; use Filament\Pages\Page; class Billing extends Page { protected static bool $shouldRegisterNavigation = false; protected function getHeaderActions(): array { return [ Action::make('pay') ->label('Pay subscription'), ]; } } ?>

В AdminPanelProvider.php подставим свой провайдер вместо Spark:

<?php namespace App\Providers\Filament; use App\Billing\ManualBillingProvider; use App\Models\Team; use Filament\Panel; use Filament\PanelProvider; class AdminPanelProvider extends PanelProvider { public function panel(Panel $panel): Panel { return $panel ->default() ->id('admin') ->path('admin') ->login() ->tenant(Team::class) ->tenantBillingProvider(new ManualBillingProvider()); } } ?>

Откройте свою страницу, где команда оплачивает подписку.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить