PayPal Website Payments Pro and PayPal Express Gateway
Easy Digital Downloads comes with PayPal Standard built-in. Your Payment Gateways tab will look like this with no extra gateways installed.
Available in our store is the PayPal Pro and PayPal Express add-on. This plugin is installed via the WordPress plugins page. Once it's installed, your Gateways tab will look like this:
When purchasing downloads through the PayPal Pro, users 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.
When checking out with PayPal Express, the user experience is very similar to PayPal standard, except it is more secure.
Note: if using PayPal Pro to process credit cards, you must have an SSL certificate.
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.
Before either Website Payments Pro or the Express Gateway will work you must enter API keys on the Gateways settings page. To find your keys in PayPal, click on your account in PayPal and click on Profile:
This will open a popup window. Click on the API Credentials tab. You'll see two API keys for Live and two for Test. Copy those credentials to Downloads → Settings → Payment Gateways in your Easy Digital Downloads admin panel.
See this guide for a more information about obtaining API keys.
If you'd like a testing account on PayPal you can follow the instructions in our PayPal Sandbox document.
Instant Payment Notifications (IPN)
PayPal's Instant Payment Notifications (IPN) are how PayPal communicates with your site to do things like confirm completed sales, failed sales, etc. For recurring billing to work properly with PayPal Website Payments Pro and Express, it's very important that your IPN settings are working properly.
Configuring your PayPal IPN is simple. First, log into your PayPal account and go to Profile → My Selling Tools → Instant Payment Notifications.
After you click Update you'll be presented with a page of information and a link to Choose IPN Settings.
You need to enable IPN messages and then set the Notification URL to: http://yoursite.com/?edd-listener=eppe
Note: please replace "yoursite.com" with the appropriate name of your website.
Important! Subscription tracking will not work if IPN is not enabled and set to the proper URL.
If you receive an error saying "Merchant country not supported", that means your country is not supported.
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. Paypal Standard often has issues with setting payments to "Complete" because it uses the PayPal "IPN" service (Instant Payment Notification), which can fail for various reasons and is difficult to track down the root cause of.