I would like to know how you usually implement tiers in your SaaS applications and how do you handle the provisioning of features and permissions for users in your services?
Also, how you handle tier/subscription upgrading or downgrading for your users as far as feature management?
Thanks in advance
In Laravel, it's known as Policy. So, based on the subscribed tier, you define the borders, which area of your saas are limited to "pro", "basic", etc.
Since Laravel is an MVC, usually, you'll check this permissions in the controller. Check if user's posts is more than his plan's limit (say, 5). if he already has 5 posts, deny that request and put a nice error with message "You've reached your limit. Please upgrade your plan".
or other alternative flash the session, and redirect the users to the billing page, with a message to upgrade his plan.
What do you think?
The implementation details will vary wildly depending upon your exact needs.