Lesson notes
How it works
data-ms-price:update vs data-ms-price:add
data-ms-price:update="prc_..." replaces the member's existing paid subscription with the new price. Stripe prorates the change. Use it whenever members should hold one paid plan at a time and switch between tiers.
data-ms-price:add="prc_..." adds another paid plan on top of what they have. Use it when members can buy several things, like courses or add-ons, and for one-time payments.
Getting this wrong costs money. Memberstack lets a member hold several plans at once, so an upgrade button with add can leave someone paying for two subscriptions. Memberstack's docs call this the double-billing trap.
The free column and the fallback
For a free column you can add a free plan, or rely on Default Settings: anyone who signs up without a plan gets the default redirects and access. Memberstack's freemium guide also says to put data-ms-price:remove="all" on free signup buttons, so a price someone clicked earlier doesn't open checkout. Default Settings also catch members whose paid plan lapses, so keep pages like their profile open to all members.