Sites with Paid Plans

Article author
Duncan Hamra

In this article, I'll show you how to create a site with all paid members. If your site has all free members or a mix of free and paid I recommend checking out those articles instead. 


Plan Settings and Pricing Tables

In this section, I'll show you how to create some paid plans and how to hook them into a pricing table. I'm going to start from scratch, so just skip ahead if you've already finished a step. 

Install Memberstack

1. First, install Memberstack into your project. 

Create a Signup Form

2. Create a signup form so members are able to sign up and launch the checkout. Note: Members must have an account before they're able to purchase a price.

Create a Plan

3. Watch this short video to create a paid plan in your Memberstack dashboard. You'll want to create a plan for each type of content on your site (Basic, Premium, etc,) and then create prices for each pricing option available to customers (Basic Monthly, Basic Yearly, etc.). 

Create a Pricing Table

4. And finally, you need to create or copy a pricing table, link your signup buttons to your signup page, and add your Memberstack data attributes. The video below will explain how. 

Use the attribute data-ms-price:update="PRICE_ID" to allow members to switch between prices. For example, to upgrade from a basic price to a premium price.

Use the attribute data-ms-plan:add="PRICE_ID" to allow members to have multiple prices. This is great for one-time payments, courses, digital products, and a-la-carte services. 

Handle Abandoned Checkouts

In order for a member to complete checkout, they must first have an account. So it's entirely possible that members will signup → leave the checkout → and then return to checkout in the future. 

In order to help these people get back to the checkout in the future you should do the following: 

1.  First, you'll want to set your default signup and login redirects to point to a pricing page. Anytime some signs up or logs in without a plan Memberstack will redirect them to your pricing page. The first 1-minute video on this page will show you how. 

2. Next, you'll want to add this element to your signup page. It will appear for members who are logged in and don't have any plans yet. I recommend linking the message to your pricing page. 


Handle Failed Payments & Cancellations

If someone cancels their plan or fails to make a payment their plan will no longer be active. Which means they will lose access to their paid plan's gated content & permissions.

You can use Plan Logic to automatically add the member to a free plan or you can let treat them like a member with "no plans."

It's important that members maintain access to their profiles. You can adjust your gated content so that the profile settings pages are accessible to all members (regardless of their plan or plan status.

You can do that by gating access to your profile pages and grant access to "All Members". This will make them accessible to anyone with an account. 


Was this article helpful?


1 comment

  • Comment author
    Andrew B
    • Edited

    Hey Duncan Hamra Duncan Hamra,

    This video think does not cover something very specific about annual vs monthly subs.

    My site has only one tier of Member access, however it can be paid Monthly, or Annually at a 30% discount.

    I have setup my gated content as such:

    Non-Paid member (not logged in, or free account)

    • Can click to signup/pay for Monthly or Annual subscription
    • This uses the 'add' plan functionality

    Current Paid-Member

    • Can click to switch to Monthly or Annual subscription
    • This uses the 'update' plan functionality

    These operate as expected, however it doesn't stop someone from 'downgrading'.

    I don't think I can gate content based on whether they are a Month or Annually subscribed member right?

    So the issue lies in the fact that (and I have tested this) an annually subscribed member can downgrade to monthly.

    Ideally what I need is for them to downgrade but all it does it change the renewal after 1 year to revert to monthly. What it does right now when accessing through the stripe 'Customer Portal' to change the price, is instantly switches them back to monthly with the renewal date in a month's time.

    I hope that makes sense.

    Am I doing this wrong or what?

    (don't take into account my free plan, I manage this in a non-conventional way so essentially a free plan see the same as a non-logged in member)





Please sign in to leave a comment.