If you have a traditional credit card or PayPal gateway set up for your site but want to allow users to pay by check, see our new add on: PMPro Check Payment Level. The add on contains collection of customizations useful when allowing users to pay by check for Paid Memberships Pro levels.

How it Works

Use this add on to specify a level that uses check payment; once payment is received the admin can update the user to the full membership level.

  1. Change your Payment Settings to the “Pay by Check” gateway and make sure to set the “Instructions” with instructions for how to pay by check. Save.
  2. Change the Payment Settings back to use your gateway of choice. Behind the scenes the Pay by Check settings are still stored.
  3. Create a new level for your Pay by Check option. Set the $pmpro_check_levels array in the add on code to include the ID of this level.
This entry was posted by Kimberly Coleman in Add Ons and tagged . Bookmark the permalink. Last updated: February 11, 2014. Titled Offer a Check Payment Option on a Membership Level

Comments (24)

Can it be possible to replace the word ‘Check’ with something like ‘Offline’ ‘Pay in Person’ etc?


I’m trying to have Paypal Express and Check payment working together. This is fine and I’ve managed to set that up however I also have recurring payment in place but the option is also showing for check payments.
Is there a way to only show the recurring payment tick box for paypal payments, but not for check payment?


basically I want my website (for less complicated payment options in the country – ARG) the payment is through bank transfer.


I just write $ pmpro_check_levels in the file ??
or should I write something else ??

Hi Jason
I am trying to implement this plugin, everything looks ok but on the register page i can see all the fields that I have to complete but there is no Button for me to submit the request. I do see the Pay by Check ‘”Instructions”” text but no button….

I dont want to use any payment gateways, I just want new members to pay via debit order, always.

I want to use “pay by check” checkout method. So, I don’t want automatic activation of the membership level during checkout. I will activate the level after getting the check. How Do I deactivate auto activation? I found a plugin called pmpro-check-levels from github but which seems not working.

hai, in my site i had 10 levels and these are by paypal express payment gateway.
its easy to set in admin side. but i have to add the check payment users to the site. how to add the check payment way with paypal express. i need step by step procedure to work on it. so please help me


I want to use “pay by check” checkout method. So, I don’t want automatic activation of the membership level during checkout. I will activate the level after getting the check. How Do I deactivate auto activation? I found a plugin called pmpro-check-levels from github but which seems not working. I have install and configure the two line i.e removing comment and inserting level id as followes:

global $pmpro_check_levels;
$pmpro_check_levels = array(1,2,3,4);

what is the problem? could you please help me?

Hi, how is possible to disable automatic activation of user account if I am using the “check payment” option? You know, by default the user has access to content right after “paying by check”, but the payment wasnt received at this moment… This is how this plugin works or it’s just a bug?

This is how it is meant to work. It’s meant for cases where access doesn’t matter (e.g. collecting payments for a mostly offline membership) or your users can be trusted.

You can make sure the check level doesn’t have the same access as the full level.

Or this plugin is similar but a bit different:

It doesn’t require a separate level. Instead it marks the order as “pending” and users won’t have access until an admin changes the order status to “success”. However, they are still considered “members” in the system. And so show up in the members list and some custom code, themes, and other addons may give them “access” to things since they are a member. (Kind of technical, but PMPro has a way to test if someone is a member and a separate way to test for access to a post.)

It’s complicated, but something that would need to be worked out a bit for each specific site, potentially with a bit of custom code. We can help you in the member forums if you haven’t posted there yet.

I have 5 levels and I’ll need 10 if I want to offer pay by check, We also offer pay “by wire.” I will also need pay by “unknown legacy method” because sometimes only the dates were recorded under previous keeper. I was hoping to copy “pay by check” and adapt it to other methods.

I would love to have people select a level and then select a payment type, so I would need to create custom menus for this?

Possible Workaround: I was thinking of using a coupon/discount code for all these options. So I would have one method pay by check (renamed “pay by alternate method”). Then the coupon code would record the payment method (wire/check/legacy). Any ideas on that? The membership level that all of these methods would get would be a “Pending Membership” and then when the check clears we could move them to a “Full Membership” or “Advanced Membership” level as appropriate.

By the way, I love the documentation. It’s very clear.

Hmmm. The “pay by check” can be used for your other methods, it’s just the wording would be off. You could use separate levels and the pmpro-check-levels addon to have them require approval, etc. Broadly, you could use the WordPress option_{option name} filter to swap out the check instructions for the different levels. So you would filter on option_pmpro_instructions, check $_REQUEST[‘level’], and swap in the instructions you want for each level. If you open a thread on our member support forums and link to this comment, we’ll help you get that code written up.

Hi again… Any comments on my comment above? Hoping to offer PayPal / Check on each membership level, rather than having separate levels. Any chance of that? Thanks!

Thanks Kimberly!

Just what we were hoping for! Or almost.

I have some questions and concerns.

I’ve followed the directions above, and have added one check option for ‘Individual’ level. See http://www.phai.ie/membership-account/membership-levels/ in order to test this.

The result is that there is a further option on the Registration page for ‘Individual pay by Cheque’ level.

Perhaps I haven’t grasped the full ability of this plugin? But this defeats the purpose really. The real use I’d like to make for this, is for each of the 5 already present levels to have the ‘PayPal’ button and the ‘Pay by Check’ button (or ‘Submit and Confirm’ that is) at the bottom of each submission form.

In other words, there ought to be only one choice of ‘level’ and then two choices of ‘payment’.

Is this possible? If not, can you please help to implement this?

Gratefully, Passive House Association of Ireland

Hi Leo- I did a workaround that is by no means ideal… but it enables cheques. I created my 5 regular membership levels and then copied each of them but inserted the words “Pay via Cheque” onto the descriptions of the copied levels. Now I have 5 levels as normal, with a further 5 that are replicas except they allow the ‘pay by cheque’ functionality.

It’s not ideal in so far as I now have 10 membership levels, but it’s pretty clear from the level descriptions that 5 of them are for Paypal payments and the other 5 are for the exact same membership levels except you pay by cheque.

I too would love the two choices of payment so that I could have just my original 5 membership levels.

Anybody got any better ideas on how to accomplish this?

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 *