Cashier: What's the difference between a plan and a subscription?
In the Cashier documentation you create a new subscription like so: $user->newSubscription('main', 'premium')->create($stripeToken); Where 'main' is the subscription name and 'premium' is the plan name in Stripe.
What is the purpose of the subscription name variable?
My service has 3 plans, small, medium, and large. The user can only be subscribed to 1 plan at a time. Should my "subscription" name be my "plan" name as well? Or should it be something like "main" or "default?"
Yeah, the docs don't explain that very well, in my opinion, and searching other forums also reveals that lots of folks are confused.
Best I can tell, this is for internal categorization only. Say you want to run reports on "hosting" subscriptions vs "consulting" subscriptions, for example. A "hosting" subscription might offer different tiers (i.e. Stripe plan IDs), but they are all lumped together as "hosting".
So I think "default" would be a good…default. From looking through the Cashier code, this seems to be what it uses internally if no other name is supplied.
I'm interested to hear concrete implementations others might be able to share.
Yeah, some official clarification in the docs would be nice. As it is, I'm just gonna' stick with "default" in my project and move forward. Thanks for your help!