Stripe Billing Manager plugin screenshot
Dark mode ready
Multilingual support
Supports v5.x

Stripe Billing Manager

Community

Manage Stripe subscriptions, plans, and MRR from inside your admin panel, built on top of Laravel Cashier.

Tags: Panels Widget
Supported versions:
5.x
Third-party plugin. This is built by the community, not the Filament team. Filament does not review, endorse, or vet the security of plugins outside the 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 .
Hafiz Riaz avatar Author: Hafiz Riaz

Documentation

#Requirements

  • Filament v5
  • Laravel 11 or 12
  • Laravel Cashier for Stripe, already installed and configured

#What this is

An operator-side billing layer for your panel. It adds:

  • A Plans resource for defining the plans you sell
  • A Subscriptions resource reading your Cashier tables, with cancel at period end, cancel now, resume, and swap actions
  • An MRR widget showing monthly recurring revenue, active subscribers, and in-trial counts
  • Stripe webhook status sync, building on Cashier's own webhook handling

#What this is not

  • Not a customer-facing checkout. Your customers still subscribe through your existing Cashier flows; this manages what those flows produce.
  • Not a Paddle integration. Stripe only.
  • Plans are defined in the panel, not synced automatically from the Stripe API.

#Installation

After purchase you receive a license key. Configure the private repository and install:

composer config repositories.filament-billing composer https://filament-billing.composer.sh
composer config http-basic.filament-billing.composer.sh your-email@example.com your-license-key
composer require hafizdev/filament-billing
php artisan filament-billing:install

The install command publishes the config and the billing_plans migration, and offers to run it. If you skip that prompt, run php artisan migrate yourself.

Then register the plugin on your Filament panel provider:

use Hafizdev\FilamentBilling\FilamentBillingPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        // ...
        ->plugin(FilamentBillingPlugin::make());
}

#Setup

Open the Plans page in your panel and add the plans you sell, entering the Stripe Price ID for each. The Subscriptions list and MRR widget read from your existing Cashier tables, so nothing else is needed.

Webhook status sync requires Stripe webhooks to be wired to your app in the usual Cashier way.

Access is gated by two abilities, viewBilling and manageSubscriptions, which you can wire to your policies or Filament Shield. If they aren't defined, the panel stays accessible by default. See the config file to change that.

#Support

Questions before or after purchase: contact@hafiz.dev

The author

Hafiz Riaz avatar Author: Hafiz Riaz

I'm a senior full stack developer based in Turin, Italy, with over nine years of experience building production software with Laravel. Most of my work involves Filament, Vue, and AI integrations. I write about the real decisions behind shipping software at hafiz.dev, and I build developer tools and plugins for the Laravel ecosystem.

Plugins
1