I'm looking for suggestions about how to create user facing plans and manage which features are available to them? To my knowledge Chargebee, Recurly, Stripe handle all the billing / subscription management, but do I have to build all the logic around what features are available for which plans in my app, or is there a way to abstract this?<p>For reference, we currently use Stripe for billing, Firebase for authentication, Node.js on the backend, and React on the front end.
It sounds like you are looking for an entitlement system[1]?<p>In my experience, none of the SaaS providers mentioned help you with this, probably because it's very dependent on your product and business logic. Even with Kill Bill, which has an entitlement system[2], some amount of coding would be required to manage and enforce states like "max amount of users reached for that plan" (the logic would be abstracted from the billing though).<p>- [1] <a href="http://killbill.io/blog/subscriptions-entitlement-billing-and-dunning/" rel="nofollow">http://killbill.io/blog/subscriptions-entitlement-billing-an...</a>
- [2] <a href="http://killbill.io/blog/blockingstate-abstractions/" rel="nofollow">http://killbill.io/blog/blockingstate-abstractions/</a>
We use Chargebee (backed by Stripe). As far as I know, in terms making a page that helps explain the different features available, none of these services help with that. Chargebee does provide a hosted page, where you can have a short description of each plan that the user will be able to see.
Look into Authpack. Haven't used it, but it seems interesting.<p><a href="https://authpack.io" rel="nofollow">https://authpack.io</a>