Laravel Cashier + Stripe Setup
I'm setting up the structure of my site and I know this is probably a matter of preference, but jic someone has experienced a similar situation using Cashier and Stripe ....
Scenario: There is hierarchy of subscription plans that restrict access to app features and the subscriptions can have different payment intervals (i.e. monthly, yearly, forever)
Options:
- create a single product on Stripe with prices for each level + interval
- OR -
- create multiple products (one for each level) with prices for each interval
Since a user can only have one plan at a time, I'm leaning towards the first option. For one reason, it seems like it would be easier to swap a user's subscription plan using the single product approach. Otherwise, if using multiple products, wouldn't I need to cancel their existing plan and subscribe them to the new plan? But maybe swapping is only intended to change between payment intervals (i.e. monthly, yearly, forever), not different pricing strategies.
If using a single product, the stripe name stored in the user table would just be "plan" so it would not be as obvious which plan the user has subscribed. So I was considering adding a table field to store the plan level. If using multiple products, the stripe name stored would differentiate the level the user has subscribed.
Also, should we store additional product data in a local table for web page queries as well or just query Stripe realtime so there is less maintenance and don't have to keep the data synced? I'm utilizing Stripe's metadata fields to store additional data such as plan name, title, etc.
Thanks for your advice!
Please or to participate in this conversation.