Cashier Billing Provider
CommunityIntegrate Laravel Cashier Stripe support into multi-tenant panels.
Author:
Maarten Paauw
Package health
BetaAutomated checks of this plugin's Composer package
13 checks
-
Passed:
Current Laravel version supported
—
Package dependencies resolve together with current Laravel
13.0. -
Passed:
Current PHP version supported
—
Constraint
^8.2supports current PHP8.5. - Skipped: Current Symfony version supported
- Passed: Abandoned or archived — No consulted source marks the package abandoned (packagist, github).
- Passed: Commit and release recency — Active: last commit 8 days ago; last release 59 days ago.
-
Passed:
composer.lock not committed by library
—
composer.lockis absent from the released dist archive. - Passed: Dist archive is lean
- Failed: GitHub Actions pinned to SHA — View details on Plumb
- Passed: Open security advisories
- Passed: Dependabot PR responsiveness — No open Dependabot PRs.
- Passed: Dependabot or Renovate configured
-
Failed:
Dependency update cooldown configured
—
No cooldown configured in
.github/dependabot.yml. View details on Plumb - Failed: Provides a security policy — View details on Plumb
filament/
namespace. Review the source and install at your own risk. Found
malware or an unresolved security issue the author won't
address?
Report it
.
Documentation
- Support me
- Installation
- Usage
- Testing
- Changelog
- Upgrading
- Contributing
- Security Vulnerabilities
- Credits
- License
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.
The author
From the same author
Pennant feature flags
Seamlessly integrate feature flags from Laravel Pennant into Filament.
Author:
Maarten Paauw
Model States
Seamlessly integrate model states and transitions into the Filament.
Author:
Maarten Paauw
Featured Plugins
A selection of plugins curated by the Filament team
Blueprint
Filament Blueprint is a premium Laravel Boost extension that helps AI agents produce accurate, detailed implementation plans and security reports for Filament apps.
Filament
Custom Fields
Eliminate custom field migrations forever. Let your users create and manage form fields directly in Filament admin panels with 20+ built-in field types, validation, and zero database changes.
Relaticle
Custom Dashboards
Let your users build and share their own dashboards with a drag-and-drop interface. Define your data sources in PHP and let them do the rest.
Filament