FoxyCart is proud to be a PayPal Gold Partner.
Version 2.0: Note that we no longer recommend using the PayPal Express Checkout option for PayPal-hosted payment, except in very specific cases. Our PayPal Checkout option under the PayPal Commerce Platform option provides an updated version of the PayPal-hosted option.
PayPal Express Checkout is what most people think of when they think of PayPal. Using Express Checkout the customer leaves your site and goes to PayPal.com to login and pay. If you want to allow the user to pay by credit card without leaving your site then you'll need a “real” gateway, as PayPal Express Checkout cannot process payments outside of PayPal.com. (Think about entering your PayPal password on a site that isn't PayPal.com. Big, big no-no there.)
Is Express Checkout the same as PayPal Standard? The short answer is, “Yes, you can use PayPal Express Checkout with your standard PayPal account.” But it's a good question. PayPal “Standard” is a type of account, where as PayPal Express Checkout is a way to use that account. So you can't get a PayPal Express Checkout account, but you can use PayPal Express Checkout with any type of PayPal account. (PayPal Standard is somewhat similar to Express Checkout, but it's standalone and does not integrate in the same way as Express Checkout.)
Typically all you'll have to do is enter your email address in your FoxyCart Admin's “payment” section.
FoxyCart currently has two different integrations for PayPal Express Checkout in FoxyCart 2.0 - “PayPal Commerce Platform” and “PayPal Express Checkout (Legacy)”. Generally speaking, you will want to use the “Commerce Platform” integration for your store. The main difference between the two integrations is how subscriptions are handled - with the Commerce Platform integration providing a superior experience for customers and store administrators. For FoxyCart versions 1.1 and older, the single PayPal Express Checkout integration is the same as our “Legacy” integration in 2.0.
When using PayPal to sell subscriptions with the Commerce Platform integration, it does require enabling a feature within your PayPal account that isn't available in all countries. Review the subscriptions section below for more details on this. If you're not sure, please reach out to us and we'll be happy to help you out.
Because PayPal Express Checkout (unlike most gateways) can accept a variety of currencies, it's important to set your currency in your FoxyCart admin's “settings” page, through the “store locale” option. Otherwise it may default to the USD, which may not be what you're after.
Your customer who choose PayPal as a payment method will be taken to a screen that allows a login, but in some cases may also allow payment with a credit card without requiring the customer to create a PayPal account. This is not universally available, however. It is only available if:
These criteria are controlled by PayPal, and FoxyCart has no control over whether or not a customer is allowed to pay through PayPal without creating an account. For more info please see PayPal's developer forum.
If you are selling subscriptions or recurring billing products through FoxyCart and are offering PayPal as a payment option, you must complete the steps here.
FoxyCart's legacy PayPal Express Checkout integration has some limitations regarding subscriptions which you should be aware of. Because of these limitations, the PayPal Express Checkout integration in FoxyCart version 1.1, and the PayPal Express Checkout (Legacy) integration in version 2.0, does not allow users to modify their carts via the sub_token
. You also can not have a subscription with a start date in the future if you're using the legacy Express Checkout integration. Beginning with 2.0, our new PayPal Commerce Platform integration does support native FoxyCart subscriptions, meaning you can use the sub_token
to work with PayPal subscriptions. Here are some additional limitations as described in PayPal's documentation:
There is also an additional limitation if you have subscriptions that are only intended to run once and never renew. For example, a subscription add to cart URL that looks like &sub_frequency=1m&sub_enddate=1m
, meaning the subscription will end on the same day that it is meant to next renew. In these instances, PayPal won't cancel that subscription correctly, but will instead continue to renew the subscription indefinitely. It will instead need to be cancelled manually.
Please note:
1. These steps require a Premier or Business account. You will not be able to complete them if you have a Personal account.
2. Again, you must complete the steps here. Failure to properly configure your IPN will cause subscriptions in FoxyCart to be out of sync with PayPal. Your customers may not be charged or if they are charged, FoxyCart won't have any record of it. Please ensure this is setup correctly before going live.
Please note that PayPal updates their UI fairly regularly, and their own documentation often doesn't actually line up with how to access certain settings. If you have an issue with the following, please let us know so we can try to update things.
FoxyCart's integration with PayPal's recurring payments system requires the use of PayPal's Instant Payment Notification (IPN) system in order to keep our system and their system in sync after each transaction is processed (or fails to process). Follow these steps to activate your IPN:
https://yourdomain.foxycart.com/ipn.php
, but replace the yourdomain.foxycart.com
with your full FoxyCart store domain. (If you're using a remote store domain like store.example.com
then use that.) billing_api1.foxycart.com
, and click “Lookup”. Check all the checkboxes except (if available) “Consolidate funds from two or more accounts to a master account.” that appear in the following screen, and submit. (Or, if you already have another API permission granted, click “Add new permission”, then do the preceding.)This step is required only for the “PayPal Commerce Platform” payment option
Reference Transactions is PayPal functionality that allows FoxyCart to create a billing agreement with your store's customers who wish to pay with PayPal, to allow us to continue to charge your subscription customers at each renewal. It's not enabled by default though for your account, and so you need to contact PayPal to ask for it to be enabled.
Our PayPal rep has let us know that the best number for FoxyCart users in the US to call to get Reference Transaction support enabled for their accounts is 1-888-221-1161. For our users outside of the US, you can reach out to your local PayPal support number - after logging into your account, select “Help & Contact” at the bottom of the page, followed by “Call Us” to see the number for your region. Let them know you'd like to have Reference Transaction support enabled for your PayPal account. If you have any trouble, please let us know and we'll help walk you through it.
Failure to have Reference Transactions enabled for your account will result in customer attempts to purchase subscriptions failing - returning the customer to the checkout with an error.
For more details about recurring payments, please see PayPal's documentation.
If you would like to only authorize payments from customers, and then manually capture the funds later, this can be enabled using the “authorize only (do not capture funds)” checkbox.
Note that enabling this option requires that you also grant API permissions for Foxy to be able to authorize payments on behalf of your account. Review the “Subscriptions and Recurring Billing with PayPal Express Checkout” section above, and in particular Part 2, for details on doing that.
Foxy v2.0 and above support PayPal Credit. It can be enabled by a simple checkbox in the PayPal settings. For more, please see our blog post about PayPal Credit.
If you're doing subscriptions via PayPal Express or if you see the following error in your store's error logs:
Error: There was an error processing your payment: (10002 Authentication/Authorization Failed) You do not have permissions to make this API call
You'll have to follow the Setting It Up instructions for PayPal's Payments Pro, as your account has been set to block 3rd parties from making PayPal requests on your behalf.
Testing PayPal Express Checkout is a little different than normal, as PayPal has a fully functional sandbox system. It's slightly cumbersome and confusing at first, but it does work very well once you figure it out.
sandbox_api1.foxycart.com
instead of billing_api1.foxycart.com
. If it prompts you that sandbox_api1
isn't a valid third party URL, ensure that you're still logged into the Sandbox and not PayPal proper.Review the test account you created (above). All test information should be there. Know more? Feel free to edit this page with info.
Please note that, If you are using Multiship, only the first address will be sent as the shipping address to PayPal.
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.