So in my app, users can subscribe to a monthly plan but on top of that they can add more features by paying extra per feature. Lets say the monthly plan costs $40/month. The user adds another feature worth $10. I want the user to be billed $10 right away and then add this $10 to his next months billing UNTIL he removes that feature so that the next billing period is again $40 instead of $50.
How can I go about it? I can setup monthly subscriptions but can’t figure out how to create these addons that the user can additionally buy and add to their plan. And then remove them if needed to from next billing cycle?
Sorry forgot to mention that. Will be using stripe. Though I thought that we had to set a price fixed for subscription in our stripe app? how can i update the subscription amount for that specific user?
While Stripe subscriptions typically have fixed prices, you can achieve dynamic pricing for your monthly plan with additional features. Here’s how:
Imagine your base plan is $40 and features cost $10 each. There are two main approaches using Stripe:
Track Feature Usage: Define separate prices for the base plan and each feature. When users subscribe, charge the base price. As they add features, create additional subscription items linked to their specific feature prices. This way, they’re billed for the base plan and any features they use.
Schedule Price Changes: Keep the base plan at $40. When users add features, update their subscription with a schedule. This schedule has two phases: the current billing cycle charges the base price, and the next billing cycle onwards charges the combined price (base plan + feature).
The best approach depends on your needs. If features have varying usage, track usage for granular billing. If features have fixed costs, use schedules for a simpler setup.
Remember, Stripe might adjust charges for the current invoicing period when updating subscriptions. You can control this behavior and clearly communicate price changes to your users for a smooth experience.