Skip to main content
Easy Digital Downloads Documentation
Documentation, Reference Materials, and Tutorials for Easy Digital Downloads

PayPal Setup

Easy Digital Downloads comes with a 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.

1. Connect to your PayPal account

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.

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 encounter an error connecting to PayPal and the issue persists, this can be caused by server rules preventing the connection modal from appearing. This may present itself as an error related to the `hash_equals` function. To resolve it you or your host may need to adjust the `Cross-Origin-Opener-Policy`. If the value “same-origin” it can cause this problem.

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.

PayPal connect modal with log in form.

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:

Success

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.

PayPal account successfully connected.

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.

Error

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:

PayPal gateway checked on.

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.


Webhook

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.

PayPal account successfully connected.

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:

  1. You’ve changed your site’s URL; or
  2. You see a warning message about the webhook not being fully configured or a warning about missing events.

Fallback IPN

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.


Checkout experience

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:

PayPal purchase button

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.

'Pay with PayPal' modal with log in form.

Recurring payments integration

This PayPal gateway has complete support for the Recurring Payments extension. See the Recurring Payments PayPal setup documentation for configuration instructions.


Browser support

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 gateway. No real charges take place, and you may use it for as long as you like as these are test accounts that mimic the real PayPal flow.

To create a sandbox account, visit http://developer.paypal.com and click Login or Signup if you do not already have a PayPal account set up. You can log in with your existing PayPal account if you do.

Once logged in, follow the steps below to create a Sandbox account

  1. Go to Testing Tools > Sandbox Accounts.
  2. Click on “Create Account”.
  3. Select “Business”, choose the account country, and click “Create Account”.
  4. Click again on “Create Account” and this time select “Personal” as the account type.

The above steps will create a Merchant account that you will use to connect inside EDD and a Personal one that you will use during the Checkout flow to simulate a payment.

While on the Sandbox Accounts page, you can click on the account you wish to view/edit and you can view the default password that was set during creation or set your custom password.

How Can I Be Sure I’m In Test Mode?

To make sure your site is operating in Test Mode, go to Downloads > Settings > Payments and check the Test Mode box at the top of the page.

Remember

Before you go live with your site, take it out of Test Mode or none of your sales will be valid. It might be required for you to connect with your Live PayPal account once you deactivate test mode.


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:

  1. Once the new gateway is set up, you can uncheck the old gateway from the list of enabled payment gateways.
  2. 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.
  3. 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.

FAQs

I see SANDHILLS DEVELOPMENT, LLC during the connection process, is this expected?
Yes, Easy Digital Downloads is a SANDHILLS DEVELOPMENT, LLC product. You are agreeing to connect your PayPal account to your Easy Digital Downloads (a SANDHILLS DEVELOPMENT, LLC product) store. Unfortunately, PayPal requires the use of the company name instead of our product’s name.

Can I connect to PayPal with a personal account?
A business account is required to connect EDD to PayPal. You cannot connect EDD to a personal PayPal account. If you don’t have a business account, you can create a separate business account and have multiple PayPal accounts if you don’t want to make your personal account a business account.

Why does PayPal fail to connect to EDD?
This can be due to several issues.
– Try to connect via a different browser or device.
– Confirm the country your PayPal account is tied to a supported country, listed in the dropdown box during the connection process.
– Confirm your PayPal account is fully active. It’s possible PayPal has outstanding actions you need to complete. Look for notices in your PayPal account and/or contact PayPal support to confirm your account is active.

Can I add or remove the Pay in 3 or Pay in 4 buttons?
PayPal Commerce Pro is required to have the Pay in 3 or Pay in 4 button appear on your site. If the button appears and you want to disable it, you can disable it via your EDD PayPal settings.

You can also support a set number of payments using our Recurring Payments extension.

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:

  1. Hover over your name in the top right corner.
  2. Click Account Settings in the drop-down menu.
  3. Click Website payments under ‘Products & Services’ on the left of the page.
  4. Click Update beside ‘Website preferences’.
  5. 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 website 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.