I have (as probably many of you) a freemium model to implement. In our case, the free 'plan' doesn't require a credit card and has no time limit. Only access to some features is disabled.
Browsing through the forums, I've encountered many questions concerning transition between free and paid subscriptions in Chargebee:
However, my analysis shows that the most convenient way of handling this would be to not create a Chargebee subscription for the 'free' users. In other words, only a customer record would be created and a subscription would be added to it only once a user decides to upgrade to a premium plan.
The obvious advantages of this is that:
a) all the problems from the threads I linked to go away
b) I'm able to very simply find out whether an user has a paid plan: I just check whether she has an active subscription; for example, if somebody cancels the subscription, they automatically go back to the 'free' tier
My tests shows that this setup works. Is there any catch? Is this something Chargebee users do?
Thanks for writing in.
The workflow you explained would work, however it'd be great if you could clarify these queries,
1. How would you be notified when a user wants to upgrade to a premium plan?
2. What kind of system do you have in place to make this work?
Let us know about this, so that we can assist you better.
1. This of course depends on where the user action is initiated. But I understand I can subscribe to the 'subscription created' event via a webhook.
2. The customers are created via Chargebee API if this what you are asking about.
This slipped through the cracks. Sorry about that.
Based on the workflow you have proposed,
Let me know your thoughts.
Thank you for your response. I think it is a trade-off: some scenarios are perhaps easier to manage using one solution and others benefit from the other.
On my end, our requirements shifted a little bit (the only constant thing about requirements, if you ask me!) and we won't be downgrading people automatically after their premium plan expires. We will require a conscious action to continue with a free plan. Hence, we need to have an extra 'no-subscription' state in our state diagram, which renders my initial solution infeasible. So we need to have a $0 plan after all.
I hear ya! Changing requirements always tell us how much we are learning!
Having a $0 plan and switching between the plans sounds like a good way to go forward.
Let me know if I can be of more help.