Filament Cashier Billing Provider
#Filament billing provider for Laravel Cashier
Integrate Laravel Cashier Stripe support into Filament's multi-tenant panels.
#Support me
You can support me by buying Model States for Filament.
#Installation
-
Install the package via composer:
composer require maartenpaauw/filament-cashier-billing-provider
-
Make sure your
Billablemodel is the same as your Filament tenant model.
[!TIP] For more information configuring a
Billablemodel, refer to the official Laravel documentation.
#Usage
Add plans to your cashier.php config file:
'plans' => [ 'default' => [ 'product_id' => ENV('CASHIER_STRIPE_SUBSCRIPTION_DEFAULT_PRODUCT_ID'), 'price_id' => ENV('CASHIER_STRIPE_SUBSCRIPTION_DEFAULT_PRICE_ID'), 'type' => 'default', // Optional, by default it uses the array key as type. 'trial_days' => 14, // Optional 'has_generic_trial' => true, // Optional, only `trial_days` OR `has_generic_trial` can be used. 'allow_promotion_codes' => true, // Optional 'collect_tax_ids' => true, // Optional 'metered_price' => true, // Optional ], ],
[!CAUTION] The current implementation only supports recurring subscriptions.
Add the following code to your AdminPanelProvider (or other panel providers):
use Maartenpaauw\Filament\Cashier\Stripe\BillingProvider; // ... public function panel(Panel $panel): Panel { return $panel // ... ->tenantBillingProvider(new BillingProvider('default')) ->requiresTenantSubscription() // ... }
[!NOTE] Requiring tenant subscription is optional. You can remove
->requiresTenantSubscription()if you wish.
#Testing
composer test
#Changelog
Please see CHANGELOG for more information on what has changed recently.
#Upgrading
Please see UPGRADING for more details.
#Contributing
Please see CONTRIBUTING for details.
#Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
#Credits
#License
The MIT License (MIT). Please see License File for more information.