This guide covers some of the most common pricing models for membership sites and how to configure level pricing for your site. It’s a useful guide if you’re just getting started with Paid Memberships Pro and would like to learn the different ways you can potentially charge members.

How to set up your Membership Level Pricing

Paid Memberships Pro enables you to charge your members in a variety of ways, including:

  1. Set up a one-time/one-time “lifetime” payment for membership.
  2. Bill members on a recurring monthly subscription.
  3. Charge members on a yearly basis.
  4. Set up a trial for your members before having them commit to a full membership.

You can offer all of these pricing models and more using Paid Memberships Pro. Below are a few of the most common pricing options we have seen.

Once Paid Memberships Pro is installed on your site, the following settings can be configured in your WordPress Dashboard under Memberships > Membership Levels > Add New Level:

Video Demo

Setting up a once-off payment.

Here are the steps to create a one-time payment that will charge members when they signup for a membership. The membership can last indefinitely or for a specific amount of time.

  1. Set the amount you want to charge immediately at checkout in the “Initial Payment” field.
  2. If necessary, add a Membership Expiration to this level by clicking on the Membership Expiration checkbox (more on this later). If left blank, members will be able to access members-only content indefinitely.
  3. Save your Settings
Default: Change link appears (before CSS)
Pro Tip: Sell access to individual pages or posts, or sell a la carte items for a flat fee by using our AddOn Packages Plugin.

Setting up a monthly payment.

To charge monthly for your site’s membership, do the following:

  1. Set your initial payment to the amount you want to collect immediately when a member completes a checkout on your site. This can be the same amount you plan to charge on a recurring basis or it can be a higher or lower amount.
  2. Select the “Recurring Subscription” checkbox to open up more billing options.
  3. Set the Billing Amount and the Billing Frequency. If you want to bill clients monthly be sure to set your frequency to “1” per “Month(s)”
  4. Save your Settings.
Default: Change link appears (before CSS)

Setting up annual payments.

To set up a yearly pricing model for your membership level, do the following:

  1. Set the amount you want to charge immediately at checkout in the “Initial Payment” field. Again, you can set this first payment to be a higher or lower price than you plan to charge for subsequent years.
  2. Select the “Recurring Subscription” checkbox to open up more billing options.
  3. Set the Billing Amount and frequency. If you want to bill clients yearly be sure to set your frequency to “1” per “Year(s)”
  4. Save your Settings.
Default: Change link appears (before CSS)

Setting up a membership level with an expiration date.

In some cases, you may want to add an expiration date to your Membership Level, if you would like to add an expiration date to your level, do the following:

  1. Navigate to Memberships > Memberships Level in the WordPress Dashboard
  2. Select a Membership Level to edit.
  3. In the Membership Level Settings, check the “Membership Expiration” checkbox to open up the Membership Expiration options.
  4. Set the duration of the membership access. For example, “3 Month(s)”
Default: Change link appears (before CSS)

Comments (66)

Hi, I am setting the membership to renew annually and would like to know what options I have to send out to our members a reminder before the renewal occurs. I cannot seem to find this feature.

Thank you for your help


Is there a way to set up the membership so everyone will get charged on the 1st of every month rather than the day they sign up?


If I change the billing price in the settings tab, will it change for current members (or just apply to new members)?

I’d like to leave current members at the lower price but any new members will have to pay a higher price under the same level.


Hi Chuck, it will only apply to new members. Your current members have checked out at the previous price at the gateway. The subscription is set-up at the gateway and not on your site.

So if I set up a monthly recurring payment membership. It charges them once a month. Does that mean every 30 days? If they were to sign up today, would it charge them again at the start of September or in 30 days?

Hello, if the Membership Levels’ billing is set to expire your member will not be charged for a recurring subscription when the expiration date is reached. If you want your member to have a recurring subscription, select this subscription option in your membership levels settings and omit the expiration. See here for more information on Membership levels settings or reach out to for further guidance.

A great plugin but is very odd that natively there is no way to set up different payment plans for the same specific level (example monthly and yearly; 2 payment option).

It should be a basic configuration.

Is there a way to set up a 3 month trial and then begin charging the customer? I tinkered with numerous settings but was unable to get it like this perfectly. Maybe it requires upgrading to get the add-ons?

You should be offered the option to do this when you check “Check if this level has a recurring subscription payment.”
There will then be an option to “Check to add a custom trial period.”
Do test as some gateways will not allow a trial membership that is not zero dollars.


Is there a way to add a three month free trial and then bill the customer after the three month trial period? If so, can you let me what options I would select to do this?

I tried setting the initial payment to 0 and then setting the monthly recurring payment to $250 and then adding a custom trial period but then it states that it’s, free for now but the customer will be billed $250 after the first month and then receive 3 free months.

Hi there, is it possible to set up a “pay what you can” option on PMP where supporters can choose how much they want to contribute monthly or make a one-time contribution of an amount they choose? Thanks!

Hi can i fix payment price for a real estate site according to the number of listings and featured listings a Subscriber wants? Example 20 listings goes for 10$ monthly and 10 listings goes for $5 monthly?

You can create two separate levels with the different pricing. That said, your control over number of listings is not something built in to PMPro and will require custom development to integrate that numeric limit with the posting service / plugin you are using.

I’ve poked around a bit and don’t see any mention of pmpro handling membership “upgrade” pricing … for example;

Membership options:
Basic Membership ……… $50
Big Membership ……….. $200
(upgrade from Basic for $150)
Really Big Membership .. $400
(upgrade from Basic for $350)
(upgrade from Big for $200)

is that possible … or does it get real convoluted to implement?



Hi, I want to give a free one month trial and charge a certain amount annually after that free trial month is over. Can you tell me how can I go ahead with this?

I have setup an annual payment with PMPro and as gateway – but when testing and a test costumer checks out the product that is created in the stripe dashboard is a trial product. And none of the products has trial period set.
Can you tell why this is? It driving me crazy:)

We leverage “trials” in Stripe as a way to create an immediate charge and set up the recurring subscription. The user pays the initial payment and the subscription will being 1 term from checkout. This intermediate period looks like a trial on the Stripe end.

Can you tell me what this means exactly?
Does that mean because of the coupon code they’ll be charged $287.50 now. But after one month they will be charged $287.51 + $75?

Please break it down for me, thank you so much

This sounds like the following:
– $287.50 charged immediately at checkout (initial payment)
– $287.51 charged one month after checkout (custom trial for first [1] payment)
– $75.00 charged monthly for months 2+ (recurring subscription billing amount per 1 month)

OK so this means:
Initial Checkout: $287.50
The next charge will be both the $287.51 and the $75.
The $75 charge will continue monthly

I want to add a membership and initial payment is $999 and after that renew membership with $99 per month.
now what i do for this

Hi Monu,

Under your membership level settings:

1) Make your initial payment $999
2) Select the checkbox that says “Recurring Subscription”
3) Make this $99 per 1 Month(s)

Hope this helps

Is there an option to have a monthly subscription without an expiration date like an infinite subscription until the client cancels it?

Hi Oscar,

Yes, all you need to do is set up your monthly billing and leave out the expiration settings to have the monthly subscription continue indefinitely (or until cancelled by you or the member).

I have membership website using the peepso plugin. They have a peepso/pmp integration plugin. I currently have 2000 members and add PMP so I can offer a paid level. Do I need to create a free level in PMP and manually add all of my 2000 member to it as non-paying members?

In theory, if you want to add these members to become Paid Memberships Pro specific members you could use our Import members CSV Add On to mass assign membership levels to these members. You would also need to create the membership level that you wish to add these members too. I am not overly familiar with Peepso and how they have integrated PMPro – so it may be worth checking in with our support team or at least testing this in an offline or local development environment.

We wish to offer the options of 1, 2 or 3 year memberships but when members try to opt for 2 or 3 year option a message stating: ‘billing frequency must be >0 and less than or equal to 1 year’. Can you tell me how to alter this?

Most gateways don’t allow for recurring subscriptions that last more than one year. (Credit cards often expire before that. Even if you got these subscriptions up, the failure rate on the second payment would be VERY high.)

Instead have a one-time initial payment and set an expiration date 2 or 3 years out.

can i increase the price of membership including members who have already signed up
so for the first year we here charging 10
in year 2 we decided to increase to 20
can we set that even old members will set to 20 ?

You will need to cancel all members of the previous discounted price and they will need to resubscribe. It is a limitation of the gateways to not allow you to raise a member’s price. The only gateway this “might” be possible with is Stripe.

Is it possible to have multiple payment options per membership level?

I want to have monthly and annual options but I can only see being able to setup a single payment option. Does this mean you have to have individual membership levels for each payment option?


Hi. I’m starting a biweekly digital-only magazine. I have two visible annual subscription levels (individual and business) and one which isn’t visible on signup (complementary). The third is a free subscription I want to offer to people who I’ve interviewed or who have helped me. Am I able to set those people up with a free subscription myself if I have their email? Or do they have to do it themselves? Whether it’s the former or the latter, what’s the simplest way to facilitate that? Thanks very much.

Is there a way to offer a 1-month free trial after which there is a monthly recurring fee?

– I had tried to do this by setting the initial payment to $0 with a recurring billing amount of $40/month.
– However, this sent the trial member a notice at the end of 30 days that their membership had ended but then charged them the $40.
– Do I also need to add a custom trial period?

Thanks in advance for your assistance!

> However, this sent the trial member a notice at the end of 30 days that their membership had ended but then charged them the $40.

Sounds like you might have also setup an expiration date for the membership. If you set a recurring billing amount, you shouldn’t also setup an enddate (unless you are doing a payment plan type setup)

> Do I also need to add a custom trial period?

If the trial is just the first payment, then No.

Thank you for clarifying in video ‘not’ to set an expiration date for recurring payments/memberships as a user can always ‘cancel’ when opting out of membership

Thank you Travis for this answer. I had not seen this article from Jason. I’ll look at this more closely and I’ll come back to you on the support forum if I have problems setting up.

Hello and thank you for this article.

I have been looking for a way to offer a different rate for the same level of membership depending on whether the payment is monthly or annual but I have not found the solution on your site. Is this possible?

Thank you in advance for your answer.

Hi Karin,

Thank you for getting in touch with! You should be able to do this with a bit of code. We have a blog post that shows you how to create “Optional Extras” that your members can choose at checkout. Depending on what they choose will change or modify the price on checkout. For more on this please see this blog post:

If that doesn’t work, you could look at trying our Add On Packages to sell chapters to members on an Ad-Hoc basis:

If you feel you need some further help with this, please do get in touch with us via our Member Support Forums.

Hope this helps!

We’ve had a lot of problems implementing annual memberships with an expiration date. Members who renew get given weird new expiration dates, or get “expired” despite having renewed. Or the Stripe payment goes through but the person doesn’t show up on the current list. I’m sure our settings are wrong…but???

Hi Kathleen,

Would you kindly get in touch with us via the Contact page (link found at the bottom of the site) so that we can take a follow up with you on this topic there?

Leave a Reply

For faster support related to issues on your specific site please open a ticket in our members support area.

Your email address will not be published. Required fields are marked *