Laravel Installation
It is simple to use SaaS Billing components in a Laravel app as there is a custom integration included with the package. By default the
package will add a /billing route to your app with the components pre-installed. It will use the default layout provided with Laravel
and is compatible with Bootstrap styles. All of this can be customized.
1. Setup Laravel
- Create a Laravel application
- Install Laravel Cashier and configure for Stripe
2. Install SaaS Billing (back-end)
To install the package via composer simply run:
composer require gilbitron/saas-billing
Config
Open config/app.php and add the the service provider to the list of providers:
SaaSBilling\Laravel\SaaSBillingServiceProvider::class
If you haven't already done so, add your Stripe public and secret keys to your .env file:
STRIPE_KEY=pk_test_123456789123456789
STRIPE_SECRET=sk_test_123456789123456789
Next, publish the saas-billing.php config file:
php artisan vendor:publish --tag=saas-billing
In the newly generated config/saas-billing.php file, fill in the plan details based on the plans you have defined in Stripe.
3. Install SaaS Billing (front-end)
First, you will need to update the webpack.mix.js file for your Laravel project to include the SaaS Billing paths as a dependency locations:
mix.js('resources/assets/js/app.js', 'public/js')
.sass('resources/assets/sass/app.scss', 'public/css')
.webpackConfig({
resolve: {
modules: [
path.resolve(__dirname, 'vendor/gilbitron/saas-billing/dist'),
path.resolve(__dirname, 'vendor/gilbitron/saas-billing/src/laravel/resources/assets/js'),
'node_modules'
]
}
});
Next, open resources/assets/js/app.js and require the SaaS Billing bootstrap file (after Vue has been loaded):
window.Vue = require('vue');
require('saas-billing-bootstrap');
const app = new Vue({
el: '#app'
});
Then run npm run dev to re-compile your assets.
Finally you need to edit the resources/views/layouts/app.blade.php file to add a yield directive before the closing </head> tag:
@yield('scripts-head')
</head>
3. Finished!
You should now be able to visit the /billing route in your Laravel app and see the billing page. To customize this
page see the customization instructions.