Lesson notes
How it works
What Plan Logic does
By default a Memberstack member can hold several plans at once. That's useful when people buy separate courses, but it causes trouble when plans should replace each other. A monthly member who buys lifetime access keeps paying monthly. A member who joins a Teacher plan keeps their Student plan.
Plan Logic fixes this with IF/THEN rules set on a plan. When this plan is purchased or added, then add free plans, remove free plans, or cancel paid prices. You can also set rules for when the plan is cancelled. Memberstack runs the rules for you, so there's nothing to add to your site.
How to cancel a subscription when someone buys lifetime access
Set the rule on the lifetime plan, not the monthly one, because buying lifetime is the trigger.
- In your Memberstack dashboard, click Plans and open your lifetime (one-time) plan.
- Click Show Advanced at the bottom of the plan settings and expand Plan Logic.
- Under When plan is purchased, find the Cancel field.
- Turn on Cancel all recurring plans, or pick the specific monthly prices to cancel. Cancel all stops every recurring subscription the member has.
- Click Save.
What happens at checkout
The member buys lifetime access with your data-ms-price:add button as usual. Once the purchase completes, Memberstack tells Stripe to cancel their recurring subscription, so they won't be billed again. In Members you'll see the lifetime plan active and the monthly plan cancelled. Test it with a member on your monthly plan before you go live.
Swapping between free plans
The same tool keeps free roles exclusive. Open the Teacher plan and, under When plan is added, choose Student in the Remove field. Then do the reverse on the Student plan. Joining one now removes the other. The Remove field only lists free plans. To stop billing on a paid plan, use Cancel.
For moving between two paid tiers, like Basic to Pro, you don't need Plan Logic. Use data-ms-price:update, which switches the subscription with Stripe proration.