Creating SAAS Products in Stripe to Sell with Laravel Cashier

Part 3 of 7 in Using Laravel Cashier with VueJS SPA and Laravel Passport API
Dan Pastori avatar
Dan Pastori December 17th, 2019

Now we are getting to the meat of the application! This is where we will be adding our products and plans in Stripe so we can allow users to subscribe to them through Laravel. Up to this point, we have Laravel Cashier (the official Stripe package installed) and we’ve grabbed our API tokens from Stripe and placed them in our .env file. Next up, we need to add some products and plans for users to put a card on file and pay for!

This is specifically where I got lost when I first did this so I hope it helps fill the gaps with other people’s implementation.

1. Adding a Product

The first thing we will need to do is add a product. To do this, make sure you are in the Stripe dashboard and go to Billing. Once on the Billing page, you will get a sub-menu where there’s an link called Products. Click that link.

You might get confused with Subscriptions since we are working with users subscribing to features. However, Subscriptions is a list of users who are subscribed to a product.

The way I look at products in Stripe is this is your App. You have an account with Stripe and then you have a product. Say you are building a note taking platform that has 3 levels of pricing. The app’s name is “Super Notes”. You will be creating a product named “Super Notes” that has 3 different pricing plans. Don’t worry, we will be going through all of these steps.

2. Creating a Product

Stripe is set up to handle a lot of different subscription type products. We are going to look at this from the lens of an app. The first thing you need to do is click the + New button on the top of the table.

A modal will appear. In there you will enter the following fields:
– Product Name → This would be your app.
The other 2 fields Unit label and Statement descriptor are optional. Enter them only if you need to.

When you are ready, click Create product and your first product will be created!

3. Add Pricing Plans to Your Product

Now it’s time to add a few pricing plans to your product! These are what your users will be signing up for. So let’s think about a few different plans. Say we have a 3 tiered service with a Basic, Professional, Enterprise and we will charge $10.00, $15.00, $20.00 per month accordingly.

Let’s start with “Basic”. For the plan nickname, this will be “Basic”. We will leave the ID blank so Stripe will generate this for us. We will also keep ‘Recurring quantity’ checked so we will charge the user at the proper recurring time. Finally, we will enter $10.00 per unit and our plan will be ready!

All we have to do now, is click Add pricing plan and we will be ready to move to the next one! We just have to repeat the above process for the next 2 pricing tiers, swapping what is necessary such as name and price.

That’s all we need to do for this step! We now have Laravel ready to work within Stripe. In Stripe we are set up to receive requests and some products available for the user to subscribe to. The next part of this series will be to begin connecting everything together.

Keep Reading
View the course View the Course Using Laravel Cashier with VueJS SPA and Laravel Passport API
Up Next → Using Stripe Elements in a VueJS Component

Support future content

The Ultimate Guide to Building APIs and Single-Page Applications with Laravel + VueJS + Capacitor book cover.

Psst... any earnings that we make off of our book is being reinvested to bringing you more content. If you like what you read, consider getting our book or get sweet perks by becoming a sponsor.

Written By Dan

Dan Pastori avatar Dan Pastori

Builder, creator, and maker. Dan Pastori is a Laravel certified developer with over 10 years experience in full stack development. When you aren't finding Dan exploring new techniques in programming, catch him at the beach or hiking in the National Parks.

Like this? Subscribe

We're privacy advocates. We will never spam you and we only want to send you emails that you actually want to receive. One-click unsubscribes are instantly honored.