Table of Contents
- PayPal Plus
FoxyCart is proud to be a PayPal Gold Partner.
Setting Up PayPal Plus for FoxyCart
PayPal Plus requires a fully verified GERMAN PayPal merchant account and goes through a vetting process. To apply for PayPal Plus go to www.paypal.de/paypal-plus
- At this time, it is not possible to process subscriptions with PayPal Plus
- Cart editing and the ability to add coupons is disabled on the checkout when PayPal Plus is enabled. This can still be completed on the cart though.
Create a PayPal Developer App
To get started, PayPal recommend setting up a developer account to test everything out. Follow the details below in the Testing section for details on doing that.
Making your PayPal Plus App live
When you're ready to go live with your PayPal Plus payment option, follow the following steps:
- Within the PayPal Developer portal, find the REST API app you created previously and select it.
- In the top right of the details screen, look for the “Test | Live” toggle, and switch that to live. The screen will then update to show the live credentials for your app.
- You'll need to copy the Client ID and Secret into your FoxyCart administration's “payments” section for PayPal Plus. Remember to first switch your payment servers to “Live Servers” at the top of the payments page in the FoxyCart administration before copying the live credentials from your PayPal account.
- You'll also need to set up a new live webhook in the same way that you activated the test webhooks earlier with a URL like
Obtaining a Test Account
If you don't already have a PayPal developer account, follow the instructions on this page for creating one: https://developer.paypal.com/docs/classic/lifecycle/sb_create-accounts/
- Head to https://developer.paypal.com/developer/accounts/ and log in with your PayPal developer account
- From the Dashboard, look for the “REST API apps” section, and click the “Create App” button.
- On the following screen, give you app a name and select a Sandbox developer account. Note that this developer account needs to be a German developer account (it should show “(DE)” at the end of the listing in the dropdown). If you don't have one, head to the “Accounts” section under “Sandbox” in the left hand navigation and create a business account, selecting Germany as the country.
- After creating the app, you'll be taken to a summary screen. Here you'll receive your test client ID and secret, which you will need to set in your FoxyCart store's payment settings for PayPal Plus when on test payment servers. By default, the secret will be hidden from view, simply click the “Show” link to see it.
- Below the credentials, you'll see a panel for webhooks. These are needed to communicate details back to FoxyCart from your PayPal account. Click the button to “Add Webhook”. Within the text area that appears - you'll need to enter the IPN URL for your FoxyCart store. This will look like
If your FoxyCart store was
example.foxycart.com, then the webhook URL would be
https://example.foxycart.com/ipn.php. If you have a custom subdomain for your FoxyCart store like
secure.yourstore.com, the webhook URL would be
https://secure.yourstore.com/ipn.php. Select “All Events” for the Event types.
At this point - you should be able to make test purchases on your store, and as needed when paying through the PayPal Plus interface on the checkout, use test buyer accounts created within the PayPal developer portal. If you don't have any, you can create them from the “Accounts” section.
Troubleshooting & Interpreting Response Codes
Contact PayPal for info. Know more? Feel free to edit this page with info.
Important Notes and Caveats
Possible Action: Datafeed Handling
At the time of the customer completing the transaction - we don't necessarily know whether the transaction was completed yet or not. We instead rely on a notification from the gateway after the checkout has been completed to confirm whether the transaction was approved or not. To handle this, transactions are initially marked as pending, and when we get a confirmation from the gateway on the result of the transaction, we update it accordingly. Each time the status changes, a datafeed will be sent to your endpoint if configured with the transaction details and the
status node will be present.
status node can contain one of three different values:
rejected. Depending on the types of actions you're needing to perform at your datafeed endpoint, you need to make sure the appropriate status value is present first.
Pay Upon Invoice
If a customer selects to pay using the Pay Upon Invoice option, they'll be provided with bank details that they can complete a manual transfer from their bank into PayPal. The bank details they need will be displayed on the receipt, as well as within a email receipt that is sent straight after transaction completion.
As part of the email, we also include a specific language string letting the customer know that they still need to complete some actions. You can alter this language string from the “language” section of the FoxyCart administration, within the “email” group labelled “paypal plus pui”.
User Notes and Experiences
If you have tips, experience, or helpful notes related to this gateway that would benefit others, please add them below, including your name and the date. We reserve the right to edit or remove comments that don't add value to this page.