Laravel Cashier Stripe Setup


Initial Setup

To use Stripe for handling payments we need to add the following to the composer.json then run composer update:

"laravel/cashier": "~6.0"

The following line then needs to be added to config/app.php, the service provider:


Databse Setup

In order to use cashier we need to configure the databases, if a users table does not already exist we need to create one and we also need to create a subscriptions table. The following example amends an existing users table. See Eloquent Models for more information about models.

To use cashier create a new migration and add the following which will achieve the above:

// Adjust users table

Schema::table('users', function ($table) {

//Create subscriptions table

Schema::create('subscriptions', function ($table) {

We then need to run php artisan migrate to update our database.

Model Setup

We then have to add the billable trait to the User model found in app/User.php and change it to the following:

use Laravel\Cashier\Billable;

class User extends Authenticatable
    use Billable;

Stripe Keys

In order to ensure that we ares ending the money to our own Stripe account we have to set it up in the config/services.php file by adding the following line:

'stripe' => [
    'model'  => App\User::class,
    'secret' => env('STRIPE_SECRET'),

Replacing the STRIPE_SECRET with your own stripe secret key.

After completing this Cashier and Strip is setup so you can continue with setting up subscriptions.