PayPal Pro allows you to use your PayPal Website Payments Pro account with Restrict Content Pro to accept credit cards directly on your website. At the time of this writing, PayPal Pro is only available in the US, UK, and Canada. For PayPal product availability by country, see their official page here. You will need to have DPRP (Direct Payment Recurring Payments) enabled on your PayPal account to process recurring payments through PayPal Pro.
Configuring PayPal Pro is simple and only takes a few moments.
First, go to Restrict > Settings > General and enable PayPal Pro:
Next, under PayPal API Credentials, enter your API credentials for PayPal Pro. These are required in order to use PayPal Pro. If you need help obtaining your API credentials, see this help page.
Payment Flow
With PayPal Pro, customers will be shown a credit/debit card form directly on your registration form:
After filling in the credit/debit card details, the customer will be presented with a processing indicator. If the card is successfully charged, the customer will be redirected to the success page. If the card fails, the customer will be shown an error message.
Instant Payment Notifications
The PayPal IPN is how Restrict Content Pro communicates with PayPal and is the system RCP uses to detect when a subscription has been updated (payment made, account canceled, etc).
Restrict Content Pro will attempt to enable the IPN for you automatically, but in rare cases, it has to be done manually from your PayPal account.
To access the IPN settings, log into your PayPal account, and got to Profile > My Settings > My Selling Tools > Instant Payment Notifications:
Click on Update. Here you will be able to enable the IPN and set the URL. The URL should be set to:
http://yoursite.com/?listener=EIPN
Note: "yoursite.com" should be replaced with your actual domain name.
Update the IPN Encoding Settings
It's also a good idea to check your encoding settings in PayPal to ensure they're set correctly. This can avoid issues with special characters when Restrict Content Pro handles data sent back from PayPal. To find these settings, login to PayPal and go to Profile > My Settings > My Selling Tools > PayPal button language encoding. It's tucked away at the bottom.
On that page, click the More Options button.
Then you can choose your encoding settings. In most cases that should be UTF-8 as shown below.
Testing PayPal Pro
Before going live, you should test PayPal Pro transactions with a sandbox account and follow these steps:
- Be sure you've entered your test API key credentials in Settings and a sandbox email address.
- Configure the IPN in your PayPal sandbox account (following the same instructions as above).
- Enable Sandbox Mode in Settings.
- Visit your website's registration page while logged out.
- Enter the user information. This can be anything, though a real email address that you have access to is advised.
- Choose a paid subscription level.
- Choose to auto-renew (or not) the subscription.
- Choose "Credit Card" as the payment method.
- Enter "4111111111111111" for card number. (Other test card numbers are available here.)
- Enter "123" for the CVC.
- Enter 12 / 2020 for the expiration. Any date in the future will work.
- Enter any billing address.
- Click "Register".
- You should now be redirected to the success page and logged-in as your new user.
- Check your PayPal sandbox account history, you will see the test transaction.
- Once the IPN comes back (sometimes takes a few seconds), your Restrict Content Pro user account should be activated and the payment record should appear on the subscription details page.
Miscellaneous
Note: American Express restricts direct card acceptance merchants in certain business categories. Merchants are required to accept the American Express Card Acceptance agreement in order to process American Express cards with PayPal Pro. More information here.