bavyhappy / nova-cashier-overview-plan-details
Interact with your Stripe subscriptions directly inside Nova.
Requires
- php: ^7.3 || ^8.0
- laravel/cashier: ^14.9
- laravel/nova: ^4.0
Requires (Dev)
- limedeck/phpunit-detailed-printer: ^6.0
- orchestra/testbench: ^6.18
- phpunit/phpunit: ^9.5
README
This Nova tool lets you:
- view a database plan (plan name is a parameter)
- view a database product (product name is a parameter)
- view a database subscription (subscription name is a parameter)
- view Stripe subscription details and plans name
- view invoices for a given subscription with a downloadable link
- change a subscription plan
- cancel a subscription
- resume a subscription
- avoid unnecessary Stripe API call when you load a resource to quickly get a status information and dive deeper if you need it
Default view of the subscription
Expanded view of the subscription
Disclaimer
This package has been heavily inspired by themsaid/nova-cashier-manager and was created to be in sync with latest changes in Cashier as well as to optimize default loads by avoiding a Stripe API request unless it's needed. Structure of this repository was inspired by spatie/skeleton-nova-tool.
Installation
You can install the nova tool in to a Laravel app that uses Nova via composer:
composer require bavyhappy/nova-cashier-overview-plan-details
Next up, you use the resource tool with Nova. This is typically done in the fields
method of the desired Nova Resource.
Database Migrations
In this packages the service provider registers its own database migration directory, so remember to migrate your database after installing the package.
php artisan migrate
If you need to overwrite the migrations that ship with Cashier, you can publish them using the vendor:publish Artisan command:
php artisan vendor:publish --tag="cashier-overview-details-migrations"
Usage
use Bavyhappy\NovaCashierOverviewPlanDetail; // ... public function fields(Request $request) { return [ ID::make()->sortable(), ... Subscription::make(), // if you want to display a specific subscription or multiple Subscription::make('a-fancy-subscription-name'), ... ]; }
Testing
composer test
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email info@davidecavallini.com instead of using the issue tracker.
License
The MIT License (MIT). Please see License File for more information.