Creating SAAS Products in Stripe to Sell with Laravel Cashier
Part 3 of 7 in Using Laravel Cashier with VueJS SPA and Laravel Passport APINow 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.