PayPal is our most requested secondary gateway option and so we’ve whipped up a solution to easily add offsite checkout via PayPal Express to compliment your onsite credit card checkout via any of our supported gateways.

The Add On inserts a radio select on the membership checkout page, which allows the user to opt to pay onsite with your primary payment gateway or to pay via PayPal.

View the Add On: Add PayPal Express Option at Checkout

Video Demo

About the Add On

We use this plugin here on the Paid Memberships Pro site and are pretty surprised at the number of people checking out with PayPal now (a little less than half of all orders go through PayPal). Would these customers have simply used a credit card if PayPal wasn’t an option? My gut instinct tells me that some may have, but there is loads of data out there to support PayPal’s claim that many customers are more willing to purchase online when PayPal is a payment option.

View the Add On: Add PayPal Express Option at Checkout
Tagged . Bookmark the . Last updated: . Titled

I’ve installed this plugin and api, and don’t get any errors, but when I try to click the paypal button on the payment page nothing happens. Any idea what I could be missing?

Hi, is there any way to place the checkout with paypal option first? Like this:

1- Paypal 2- Stripe

Thanks a lot!


When members join our website through PayPal express the money gets taken but no membership is given to our members.

Very stuck at the present time.

Hi. I am trying to set your plugin. In the payment test mode everything is ok. The problem is that after setting Paypal Standard or Express payment gateway, Billing address dissapears. I was trying to turn it on by Capture Name & Address for Free Levels or for Offsite Gateway plugin from GITHUB (, and it worked, but I’m also using VAT TAX plugin (from GITHUB) and that stops working. I can only use VAT TAX plugin or Capture Name & Address for Free Levels or for Offsite plugin. When I turn the Capture Name & Address plugin on, it starts blocking VAT TAX plugin. Would you have any advice, please? Thank you.

Thank you for your answer, Travis. So, I tested it again and made a new fresh testing wordpress instalation for it.
I installed and turned on just these three plugins (PMPRO + VAT+ ADDRESS addon) to avoid any possible conflicts with any other plugins and it’s still the same. Once I turn on BILLING ADDRESS addon VAT tax disappears.
However, I was able to find VAT addon div in Google inspector and the style was set to ” display:none;” So, I overwrote it with !important attribute to “block” and it seems to be working.
WP debug didn’t show any errors BTW.

Hi there,

Glad to hear that you got it working and thank you very much for the detailed troubleshoot explanation, I am sure this will be beneficial for other users.

I Need Help
I am using PaypalExpress add-on as second payment option. I have problem with Discount Codes, when someone visit checkout page Stripe payment option is selected as Default and Discount code input field shown under the stripe inputs But When I select PaypalExpress using radio button then Discount Input disappear and I can’t see Discount Code Input field for paypal .
Even Discount input Field show on both options individually, if we dont use paypalexpress add-on.
Please let me Know If i am missing any step.

I had installed “Add PayPal Express as an Alternate Payment Option at Checkout” and it was working fine. But after recent update it vanished. I tried removing the plugin and re-installing but though the plugin is active in plugins list…I don’t see PayPal Express settings in the PMPro Payment Settings page.

Please help!

To setup PayPal Express, go to the payment settings page and change the gateway to PayPal Express. Enter the settings and click Save. Then you can switch the gateway back to your main onsite gateway and click save. The PayPal settings will be saved in the background.

The latest update to Add PayPal Express did have some major updates to the logic around how and when the PayPal option is shown. We tried to get it working with other addons and be smart about hiding the option if the membership level was free (e.g. if you’re using a discount code or doing some kind of trial). Maybe our updates broke the addon for your own use case.

If you open a thread in the member forums, we can get more information from you about your setup so we can test it out and make sure it works with the addon.


At the bottom of the PayPal Express checkout page, there is a “Cancel and Return to [Merchant]” link.
When clicked, it currently takes customers back to the website’s Memberships Levels page.

Please where can the “return” variable be changed via Paid Membership Pro, so that the customer is taken to a different page on the website when the “Cancel and Return to [Merchant]” link is clicked?


It wasn’t clear to me as I went through this — when allowing a customer to pay for a subscription plan via this PayPal Express integration, does it automatically create a recurring billing event on the PayPal side? Or is this only for one-time payments?

Hi Jason,
I am using pay-pal express checkout as alternate option with stripe.
but i face a problem after payment. the problem is :
if i use confirmation page then it will give an error :
“Your payment was accepted, but there was an error setting up your account. Please contact us. Cannot create a user with an empty login name.”
and if i skip the confirmation page then it will complete the payment but in this case problem is it redirect on home page and i want to redirect it on membership-level page .
can you please guide me what should i do ?

Thank You

Make sure that you have PHP Session variables enabled by your host/server. Our PayPal Express code needs that to “remember” the username when the user comes back from PayPal.

If sessions are enabled and working, something else might be deleting the session data (I’ve seen plugins and themes that randomly unset all session variables/etc). We can look into it in a paid support thread on the site here. Mention I sent you, add a PRIVATE reply to your thread with your URL, WP admin user/pass, and FTP host/user/pass… and give us some time. It’s a holiday in the US.

We are having the same issue (on very few isolated cases). Maybe cloudflare had something to do with it. I am still looking into this. @cflorin23 did you have such a service as cloudflare ?

Is there a setting to include the discount option for Pay Pal Express? It is there with Braintree but when we choose Pay Pal as the payment option there is no discount field. Thank you.

There should also be a discount code field at the top of the checkout page. By default, it’s hidden behind a link to “Click here to enter a discount code.” You can have it show up always by adding this code to your active theme’s functions.php or a custom plugin:

add_filter(‘pmpro_show_discount_code’, ‘__return_true’);

Hi, I am getting this same issue – how can this be resolved urgently please ? thanks

– installed the Paid Memberships Pro – Add PayPal Express Add On (and activated);
– Configured Paypal gateway Account Email, Api username/password/signature and have the default Confirmation Step of “Require an extra confirmation after users return from PayPal Express”

All appears to go well and I have the option to either purchase via stripe, or select the paypal option. I fill in all the details on paypal and get returned to my site. When I then go to click on the “Complete Payment” button I get a popup saying “Could not find payment information”

Any advice on how to resolve?

Check for JavaScript errors on your checkout page using the console from Firebug or Chrome debugbar/etc. If you post to our member forums, we can get more info from you to diagnose and fix this.

– installed the Paid Memberships Pro – Add PayPal Express Add On (and activated);
– Configured Paypal gateway Account Email, Api username/password/signature and have the default Confirmation Step of “Require an extra confirmation after users return from PayPal Express”

All appears to go well and I have the option to either purchase via stripe, or select the paypal option. I fill in all the details on paypal and get returned to my site. When I then go to click on the “Complete Payment” button I get a popup saying “Could not find payment information”

Any advice on how to resolve?

Is it possible to use the PayPal Express add-on in a way in which it gives customers automatic access to paid features of a website ONLY after their payment transaction is successful and cleared?


Our PayPal Standard integration works this way. Our PayPal Express does not. You could have people purchase one level and then manually move them from that level to the true level with access once payment cleared. We’re looking into ways to make this automatic, but it’s low on our priority list now.

We’re working on adding support for this to our PayPal Express integration. If you are using PP Website Payments Pro, you won’t need the PayPal Express Addon… that gateway automatically adds PP Express as a second option. (The addon does the same for other gateways.)

Stay tuned over the next couple weeks and hopefully we’ll have that released soon.


I installed this ‘pmpro-add-paypal-express’ plugin as an alternative payment option with Stripe. I have set it up as instructed above. However, the radio button doesn’t work. It appears normally on the checkout page, but it doesn’t switch from Stripe to the “Check out with Paypal” page when the button is selected. Could you please tell me how to fix this?

Thank you.

How do I know if I’m using Paypal Express as opposed to Paypal Standard? I think I enabled Standard first, then I read about express, installed it, and set that up according to these instructions. I have Stripe as well. I’m curious because I had someone test it with their Paypal, and it’s still showing up as Pending. The article about not using Standard ( suggests (at least I understood it this way) that with Express, they won’t stay in Pending.

No, the problem is I’ve already also enabled Stripe on top of it. I have a large list of Gateways, and both Standard and Express are in it. Stripe is the one selected.

Is there a different way to know which one I have enabled? I suppose I can query the database (don’t know why I didn’t think of that before).


The enabled gateway is always the one selected in that dropdown. Only PayPal Express when used in conjunction with the Add PayPal Express add on will be used “in the background”. If you have settings in place for other gateways, they are “stored” but not used. Sorry if I’m being dense or not understanding your problem.

I appreciate your response, and I think I understand what you’re saying. Sounds like I might be missing a piece to be able to use Paypal Express. The Standard is working, it just stays pending for a few hours, so I’m not that worried about being able to use Paypal as a processor. 🙂 Thanks for explaining it.


Hi Jason, I was hoping to find out ASAP – if I use ONLY PayPal Express for payment, do I need a dedicated IP and SSL? I’m not technically taking payment information ON my site, but I am receiving/storing email addresses. What do you think? I’m ready to go LIVE with this very soon, so I’d love to get your input as soon as possible! Thank you!

I also wanted to add that I currently have a RESLLER hosting account with HostGator (I have a web design business). Do you think having my membership site/domain/account under this reseller is acceptable? Technically it’s not “dedicated,” the IP is shared, even outside of the accounts on my reseller (from what I understand after chatting with HostGator).

If you are using PayPal Express, you don’t need an SSL and so don’t need a dedicated IP. That said, PMPro will sometimes have performance issues on “shared” hosting accounts (HostGator reseller accounts would probably fall into this). But give it a shot, and you should be okay. If you notice timeouts on the site or during checkout, you might need to upgrade your hosting.

hi json ,
i tried using paypal express but it gives and error “You do not have permissions to make this API call
” .please give the solution i have tried almost everything.

Hmmm. Make sure you have a business account and if you are using levels with recurring billing that you have the recurring billing module enabled with PayPal. Otherwise, please post to our member forum so we can get more info and help you out.

Im having the same error “You do not have permissions to make this API call” Did this issue got resolved? If so, how?

Great, it works! But how can I change the Paypal logo? I’d like to use one with all the cards accepted, so I copied the code and pasted it on the page, under the PMPro shortcode, but it doesn’t work. Any idea?

Hi there,

If you reach out to us over on our Member Support Forum we can take a closer look into this for you. Our support team should be able to test it out for you.

Hi, My whole business requirement is focused on one main point. Giving the flexibility to members to pay online or Pay later. I am not very sure how to do this with paypal express and pay by check. Can you please guide me ?

What does “pay later” look like in practice? Can you have 2 levels, one free and one paid. And have people switch to the paid level “later” when they are ready to pay?

Hey I’m not sure why this is happening, but after you complete the payment I get an error that says “Express Checkout PayerID is missing.”

Also is there a way to skip review page so that when people click “Pay” in Paypal, they automatically pay and are added to PMPro?

I want to be able to skip this page –

Hello, I used PayPal Express as a membership payment gateway, cool but the problem is ‘Paypal do not credit my business account after members meant have made payment. All i see is canceled but members plan with stop

I downloaded, installed and set up v1.7.7 today. I’m only setting up PayPal Express. Since this is an outside payment portal, I won’t need to buy a SSL certificate, right?

Second issue: I’m not clear where to enter the ipnhandler URL. Is that entered someplace on PayPal or in WP?

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 *