Recurring Payments - PayPal Express Gateway Configuration
Table of Contents
Recurring Payments integrates fully with PayPal Express. PayPal Express is available for Easy Digital Downloads via the PayPal Pro/Express extension. Full documentation for installing, configuring, and using that extension are here.
Before the PayPal 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.
Multiple Subscription Support
Important Note: As of January 2019, PayPal Express no longer supports creating multiple subscriptions in a single purchase. This only affects PayPal Accounts that have not processed subscriptions prior to January 1, 2017. If a customer adds multiple subscriptions to their cart, they will be informed that purchasing only one subscription at a time is allowed with PayPal. If your store also has Stripe, Authorize.net, or 2Checkout Onsite enabled, the customer will see a suggestion to change their payment method to purchase multiple subscriptions in the same checkout.
PayPal accounts that processed subscriptions prior to January 1, 2017 are not affected.
Recurring Payments version 2.8.5 automatically detects if your store has processed subscriptions through PayPal Express prior to January 1, 2017 and will allow multiple subscriptions to be added to the cart.
If your PayPal Account still supports this process, but your store does not have subscriptions created prior to this date, you can define the following constant in your wp-config.php file to allow your checkout to contain multiple subscriptions with PayPal Express:
define( 'EDD_PPE_ALLOW_MULTIPLE_SUBS', true );This constant is only to be used if you are certain that your account supports purchasing multiple subscritpions. It will stop Easy Digital Downloads from showing the warning when multiple subscriptions are in the cart, but will not fix the issue within PayPal's service that allows multiple recurring profiles to be created. If you have questions, you should reach out to PayPal's Merchant Support about the status of your account.
Instant Payment Notifications (IPN)
PayPal's Instant Payment Notifications (IPN) are how PayPal can communicate with your site to do things like confirm complete sales, failed sales, etc. For recurring billing to work properly with PayPal 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
Important! Subscription tracking will fail if IPN is not configured properly.
Cancelling subscriptions is done in a variety of ways depending on your site setup and situation.
Cancelling as a Customer
- First log into PayPal.
- Then click on My money.
- Then find My preapproved payments and click Update
- Then click on the name of the Vendor you want to unsubscribe from and an Unsubscribe button will appear.
Cancelling as a Site Administrator
There are two ways to cancel PayPal subscriptions if you are a Merchant.
The page for managing subscriptions in PayPal is here: https://www.paypal.com/?cmd=_merchant-hub
Simply click a customer name and an Unsubscribe button will appear.
Within Easy Digital Downloads
Once PayPal Pro/Express is configured properly you will see a Cancel Subscription button on subscription pages within Easy Digital Downloads.
If you notice a customer that has a "Pending" or "Failed" payment from attempting to purchase a recurring product using Paypal Express In-Context, it could be that they navigated to a new tab while the pop-up was loading. The customer must not navigate to a new browser tab while the payment is loading. Unfortunately, this is a limitation in the way Paypal Express In-Context works.