PayPal Website Payments Pro and PayPal Express Gateway

About PayPal Pro and Express Gateway Extension

Easy Digital Downloads comes with PayPal Standard built-in. PayPal Website Payments Pro and PayPal Express Gateway provides you with two additional PayPal options, PayPal Pro and PayPal Express:

PayPal Pro

PayPal Pro allows users to enter their credit card details during the checkout process and never leave your site, resulting in a better experience for the user, and more successful conversions for you.

Note: if using PayPal Pro to process credit cards, you must have an SSL certificate.

PayPal Express

When checking out with PayPal Express, the user experience is very similar to PayPal standard, except it is more secure. It also gives you the option to checkout via In-Context Checkout.

Supported Countries

PayPal Express and Website Payments Pro are not available in all countries. Please use the following links to determine if your country is supported.

If you receive an error saying "Merchant country not supported", that means your country is not supported.

Setup:

1. Enable Payment Gateway(s)

Navigate to Downloads → Settings → Payment Gateways. Enable the PayPal Payment Gateway(s) you want to use. It's not required you enable both Pro and Express. If you enable PayPal Express, you should disable PayPal Standard if it's currently enabled on your site.

2. Enter API Keys

Before either Website Payments Pro or the Express Gateway will work you must enter API keys on the Gateways settings page (Downloads → Settings → Payment Gateways → PayPal Pro/Express). PayPal API keys allow your store and PayPal to communicate more fully, allowing for more reliable communication as well as some additional features like  in-store refunds. This section needs API keys for Live and Test for: 

  • Username
  • Password
  • Signature

Full documentation on getting PayPal API keys is found here.

If you'd like a testing account on PayPal you can follow the instructions in our PayPal Sandbox document.

3. IPN Settings

PayPal's  Instant Payment Notifications (IPN) are how PayPal communicates with your site to do things like confirm completed sales, failed sales, etc. 

When using the Recurring Payments extension:

For recurring billing to work properly with PayPal Website Payments Pro and Express, it's very important that your IPN settings are working properly.

Log into your PayPal account and hover over the cog in the upper right corner of the screen, then select Account Settings.

Click Notifications on the left side of the screen, then click Update next to Instant Payment Notifications.

You need to enable IPN messages and then set the Notification URL to: http://yoursite.com/?edd-listener=eppe
* Note: Replace "yoursite.com" with the appropriate name of your website.

Choose the radio button for Receive IPN messages (Enabled).

If you need to access your PayPal IPN history, see  this guide.

4. In-Context Checkout (Optional)

In-Context Checkout works only with PayPal Express. To use In-Context Checkout you must complete two settings. On the Downloads → Settings → Payment Gateways page you'll find both of them.

You must check the box labeled "PayPal Express In-Context Checkout":

and you must also provide your Live PayPal Merchant ID:

A merchant ID is required for In-Context Checkout. You can look up your merchant ID by logging into https://www.paypal.com. Click the profile icon on the top right side of the page and then select Profile and settings in the Business Profile menu. (If you do not see the profile icon at the top of the page, click Profile, which appears in the top menu when the My Account tab is selected.) Click My business info on the left, and the Merchant account ID is displayed in the list of profile items on the right.

You may read more about In-Context Checkout at PayPal.com.

5. Test PayPal

Setup PayPal Sandbox  and enable Test Mode (Downloads → Settings → Payment Gateways) to test the the gateway.


FAQ and Troubleshooting

Is this extension PCI compliant? 
Being PCI compliant is a requirement of Paypal if you are using their PayPal Payments Pro system. This extension is coded to be PCI compliant. It does not store any credit card information. Instead, it simply transmits the user-entered information to Paypal. However, in order to be fully PCI compliant, your website needs to send and receive all data in a secure and encrypted way. You can do this by setting up an SSL certificate and forcing all pages to use it. If you need assistance with setting up an SSL certificate and forcing all data to be sent/received through HTTPS, we recommend contacting your webhost as they will be the ones equipped to set that up for you. Thus, it is important to note that you need to confirm with your webhost that you are PCI compliant as well

What is the difference between PayPal Express and PayPal Standard?
PayPal Standard (which is included with Easy Digital Downloads for free), sends the user to PayPal to complete their purchase. Whereas with PayPal Express, while the user is sent to PayPal to agree to the purchase, it is not actually completed until they are back on your site. This is less prone to have communication issues with PayPal and results in payments being more reliably set to "Complete" in your Easy Digital Downloads store. It's common to have difficulty with Pending or incomplete payments when PayPal Standard is used, as PayPal relies on its own IPN (Instant Payment Notification) service. This service can fail for various reasons, and since it's owned by PayPal, our support team has a limited ability to troubleshoot IPN-related issues. 

Error: Security error Security header is not valid
If this error appears on checkout, it's likely due to incorrect API credentials. Verify your API credentials are correct.

Related Articles