Table of Contents
Easy Digital Downloads version 2.11 comes with a brand new PayPal integration built in. This gateway uses the latest PayPal checkout experience, utilizing smart buttons and a “Pay with PayPal” modal that keeps users on your site through the whole payment process.
Upgrading from a different PayPal gateway? See our upgrade notes.
NOTE: This PayPal integration requires an SSL certificate. If you do not yet have one, see our article on how to set up SSL.
You will need a PayPal account in order to accept payments using this gateway. If you do not already have an account, you will be given the option to create one during the onboarding process.
1. Connect to your PayPal account
Log in to your WordPress admin and go to Downloads → Settings → Payments→ PayPal. You will see a button to connect to PayPal in your store’s current mode (either sandbox or live).
Click the button to open up a PayPal modal. This will prompt you to enter your email address and country. Proceed through the steps to either log in to your existing account or create a new one.
Important: You need to have browser popups enabled in order for the PayPal page to open up in a modal. If you do not see a modal, please check your browser pop-up settings, close the browser and try again. If the pop-up window still does not show you could try with the Chrome browser.
If you’re connecting in test mode, you will need to log in with your sandbox account credentials. If you don’t yet have a PayPal sandbox account, see our article on how to create one.
After completing all of the steps, you should see this success message:
Make sure you click the button to return to your store. If you don’t click this button, we will not be able to complete the onboarding process and you will have to begin again.
2. Check your account status
Back in the EDD admin settings, the “Connection Status” area will check your connection to PayPal. There are three possibilities:
Your account was successfully connected, you’re ready to accept payments, and EDD created a webhook on your behalf. You can read more about the webhook in the webhook section.
Success, with webhook warning
This means your PayPal account has successfully been connected, and you may start taking payments. However, EDD failed to create a webhook on your behalf. This is not something you need to worry about in a local environment, but if it happens on your live site then contact EDD support for assistance. You can read more about what the webhook is for in the webhook section.
You may also get an error message like this. Most errors in “Payment Status” mean something about your PayPal account is not ready for receiving payments. This means you have to either contact PayPal customer support or do something inside your PayPal account, such as confirm your email address.
Once you’ve corrected any errors, click “Re-Check Payment Status” to verify your account with PayPal again. All errors need to be resolved before you may begin accepting payments.
3. Enable the PayPal gateway
Once you’re connected, be sure to enable the gateway in general gateway settings:
Repeat in live mode
If you initially connect in test mode, you will need to repeat this connection process once you switch your store to live mode.
Easy Digital Downloads will automatically attempt to create a webhook on your behalf. The webhook is primarily used for conveying actions that occur within the PayPal dashboard back to EDD. For example: if you refund a payment inside PayPal, then EDD will pick up on that and automatically update the payment status in EDD for you.
Webhooks are not required to process payments, but they are recommended for the most complete integration.
Checking webhook status
You can check the status of your webhook at any time by going to Downloads → Settings → Payments → PayPal. The webhook status will be listed, along with the registered events.
The “Sync Webhook” button will simply check the status of the webhook again, and register any missing events. You typically should not need to click this unless:
- You’ve changed your site’s URL; or
- You see a warning message about the webhook not being fully configured or a warning about missing events.
Easy Digital Downloads will now let you use a fallback IPN service that handles any scenarios in which a Webhook event might not be delivered to your website.
To configure the IPN you need to log in to your PayPal account and hover over the cog in the upper right corner of the screen, then select Account Settings
Click on Notifications on the left side of the screen, then click Update next to Instant Payment Notifications.
If you did not have IPN enabled before you will see a Choose IPN Settings button. In the IPN settings page add your website URL in the format: https://yoursite.com/?edd-listener=eppe
Replace yoursite.com in the link with your actual website URL.
Check the Receive IPN messages (Enabled) box then click Save.
That’s all there is to it! This will now act as a fallback to the main Webhook that Paypal sets up when connecting your account.
PayPal Commerce Pro
PayPal Commerce Pro is a paid extension that allows customers to pay via credit or debit card directly on your site.
Once installed & activated, a new setting, Enable Advanced Credit and Debit Card Payments”, will exist in the PayPal settings located in Downloads → Settings → Payments → PayPal
Once enabled, the “Debit or Credit Card” and “Pay Later” (if supported by your PayPal account) buttons will appear on your checkout page, along with the PayPal button.
This payment gateway uses PayPal’s modern checkout buttons. Instead of a normal “Purchase” button, your customers will see this at the end of the checkout form:
After clicking the button, a modal opens up to PayPal.com, prompting the user to log in to their PayPal account. The customer can complete the entire checkout process without leaving your site.
Recurring payments integration
This PayPal gateway has complete support for the Recurring Payments extension. See the Recurring Payments PayPal setup documentation for configuration instructions.
Support is guaranteed for the following desktop browsers. For any browsers not on this list, the buttons could continue to work, but compatibility is not guaranteed.
- Chrome version 41 and later
- Firefox version 43 and later
- Safari version 8 and later
- Opera version 12 and later
- Edge version 14 and later
- * Internet Explorer version 11 and later
* Note: While the buttons should work on IE11, we have to load several polyfills in order to make it compatible. For the best checkout experience, we recommend using a more modern browser. If you would prefer to not load the IE11 polyfills, you can disable them by adding this custom code to your site:
add_filter( 'edd_load_ie11_polyfills', '__return_false' );
If you add this code snippet, the PayPal gateway will not work in IE11.
For more information about PayPal Checkout browser requirements, see PayPal’s Browser Support page.
Creating a PayPal Sandbox account
The PayPal Sandbox allows you to set up test accounts that can be used to test the full purchase process in Easy Digital Downloads with the PayPal gateways. No charges actually take place, and you may use it for as long as you like.
To create a sandbox account, visit http://developer.paypal.com and click Login or Signup if you do not already have an account set up. You can log in with your existing PayPal account.
Once logged in, click on Dashboard in the top menu:
Dashboard will take you to a screen that looks like this:
Now click on the Accounts link under the Sandbox menu, which will take you to this page:
Click on the blue Create Account button in the top right corner of the screen. You will now be presented with an account creation form:
Select your country and choose Business for the account type. All other fields can be filled out however you wish.
Once the account is created, it will be shown in the Accounts list under the Sandbox menu.
How Do I Use This Account?
Click on the account and click on Profile:
This will open a popup window which you can get the email address and password.
You’ll have to create two accounts during this process, a Vendor and Buyer account. Both the Test Vendor and the Test Buyer must use an email account from the Paypal Sandbox. Otherwise the test will fail.
How Can I Be Sure I’m In Testing Mode?
To make sure your site is operating in Test Mode, go to
Downloads > Settings > General and make sure the Test Mode box is checked.
Before you go live with your site, take it out of Test Mode or none of your sales will be valid.
Upgrading from other PayPal gateways
Upgrading to the new PayPal gateway is simply connecting, following the configuration steps above then disabling the old gateway(s).
If you previously used one of our old PayPal integrations, such as PayPal Standard, PayPal Express, PayPal Pro, or PayPal Payments Advanced, you will be prompted to switch over to this new gateway after updating to Easy Digital Downloads version 2.11.
How does the upgrade work?
Until you connect to the new gateway, payments will continue to process through your site using the existing gateway you’ve selected. When you connect to the new PayPal integration, you should connect using the exact same PayPal account you used before. Once the connection process is complete and you’ve enabled the new gateway, payments will start processing via the new PayPal integration. Be sure to disable the old gateway so that only the new one is active.
Inside PayPal itself, you won’t notice any difference. Payments will still come in the same way as before. Only the checkout experience on your site has been updated.
What about Recurring payments?
If you use our Recurring Payments extension, you can safely switch over to the new PayPal gateway without affecting existing subscriptions. Old subscriptions will continue to process and renew as normal. However:
- Once the new gateway is set up, you can uncheck the old gateway from the list of enabled payment gateways.
- For PayPal Express and Pro, you do need to keep your old PayPal IPN configured (Express / Pro IPN Doc), as subscriptions that were created with the old gateway will continue to use IPN to let EDD know about renewal payments. PayPal Standard doesn’t rely on IPN, as the URL is hard set in the IPN. If you don’t use your PayPal Account with multiple stores, we recommend setting it in the event PayPal changes functionality in the future (Standard IPN Doc), but it’s not required.
- If you’re using PayPal Express or PayPal Pro, you do need to keep that plugin activated. The gateway itself should not be enabled (Downloads > Settings > Payment Gateways), but the plugin should be. This is to ensure that the gateway can continue to process old IPNs, as noted in step 2.
Note: Using Aelia Currency Switcher?
PayPal will need to be re-added in Aelia Payment Gateways Settings for the currencies supported on your site. Otherwise, PayPal will no longer be a gateway available on checkout.
Do I have to upgrade to the new integration?
All old PayPal integrations will be deprecated. They will no longer receive updates moving forward. Additionally, many of the old integrations are deprecated on PayPal’s end too and represent older checkout experiences.
Old integrations should continue to work in EDD 2.x, but we recommend switching to the new gateway before 3.0, as old PayPal extensions will not be updated to become 3.0 compatible.
Why doesn’t Paypal Guest Checkout show?
When paying through a checkout page on PayPal.com, there is sometimes the option to pay by credit card without logging in to PayPal. This is known as “guest” checkout mode or PayPal Account Optional. See the PayPal instructions here to enable or disable. Here’s how to enable the PayPal account optional setting:
- Hover over your name in the top right corner.
- Click Account Settings in the drop-down menu.
- Click Website paymentsunder ‘Products & Services’ on the left of the page.
- Click Update beside ‘Website preferences’.
- Select On under ‘PayPal account optional’.
Do I need SSL If I Use PayPal?
Yes, you need SSL enabled on your website, even though payments are processed offsite with PayPal.
Customers are not redirected back to my site after paying.
When people pay with PayPal they expect to be redirected back to your web site after paying. If this isn’t working properly then the auto-return option probably needs to be enabled in your PayPal profile.
Log into your PayPal account and go to your profile settings.
In your settings, click on Website Preferences.
There you will have an option to enable automatic return.
In the example above it’s off. To turn it on, choose the On radio button and then in the field below make sure you put in the address you want your customers redirected to.