type:
gateway
name:
PayPal Express Checkout
countrie:
AF, AX, AL, DZ, AS, AD, AO, AI, AQ, AG, AR, AM, AW, AU, AT, AZ, BS, BH, BD, BB, BY, BE, BZ, BJ, BM, BT, BO, BA, BW, BV, BR, IO, BN, BG, BF, BI, KH, CM, CA, CV, KY, CF, TD, CL, CN, CX, CC, CO, KM, CG, CD, CK, CR, CI, HR, CU, CY, CZ, DK, DJ, DM, DO, EC, EG, SV, GQ, ER, EE, ET, FK, FO, FJ, FI, FR, GF, PF, TF, GA, GM, GE, DE, GH, GI, GR, GL, GD, GP, GU, GT, GN, GW, GY, HT, HM, VA, HN, HK, HU, IS, IN, ID, IR, IQ, IE, IM, IL, IT, JM, JP, JO, KZ, KE, KI, KP, KR, KW, KG, LA, LV, LB, LS, LR, LY, LI, LT, LU, MO, MK, MG, MW, MY, MV, ML, MT, MH, MQ, MR, MU, YT, MX, FM, MD, MC, MN, MS, MA, MZ, MM, NA, NR, NP, NL, AN, NC, NZ, NI, NE, NG, NU, NF, MP, NO, OM, PK, PW, PS, PA, PG, PY, PE, PH, PN, PL, PT, PR, QA, RE, RO, RU, RW, SH, KN, LC, PM, VC, WS, SM, ST, SA, SN, CS, SC, SL, SG, SK, SI, SB, SO, ZA, GS, ES, LK, SD, SR, SJ, SZ, SE, CH, SY, TW, TJ, TZ, TH, TL, TG, TK, TO, TT, TN, TR, TM, TC, TV, UG, UA, AE, GB, US, UM, UY, UZ, VU, VE, VN, VG, VI, WF, EH, YE, ZM, ZW
support-added:
0.6.0
supports-multicurrency:
yes
gateway:
http://www.paypal.com/

PayPal Express Checkout

FoxyCart is a PayPal Gold Partner FoxyCart is proud to be a PayPal Gold Partner.

What It Is

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.)

Setting Up PayPal Express Checkout for FoxyCart

Typically all you'll have to do is enter your email address in your FoxyCart Admin's “payment” section.

Setting Up Your Currency

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 “language” section. Otherwise it may default to the USD, which may not be what you're after.

Allowing Non-PayPal Users to Pay via Credit Card (through PayPal)

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:

  • The store's PayPal account is a Verified Business Account.
  • The customer is in a country or region that allows payment without a PayPal account. (China, for instance, does not seem to have this option.)
  • The customer doesn't have existing PayPal cookies that may change their options.

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.

Subscriptions and Recurring Billing with PayPal Express Checkout

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.

PayPal's Express Checkout integration has some limitations regarding subscriptions which you should be aware of. Because of these limitations, as of version 1.1, we do not allow users to modify their carts via the sub_token. We're working to implement a new PayPal checkout system which we will encourage all PayPal Express Checkout users to upgrade to. You also can not have a subscription with a start date in the future if you're using Express Checkout. Here are some additional limitations as described in PayPal's documentation:

  • To be able to create a recurring payments profile for the buyer, you must ensure that the buyer's PayPal account includes an active credit card.
  • You can increase the profile amount by only 20% in each 180-day interval after you create the profile.
  • For recurring payments with the Express Checkout API, PayPal does not allow certain updates, such as billing amount, within 3 days of the scheduled billing date.

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.

Part 1: Set up the IPN

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:

  1. Login to the PayPal.
  2. Go to More→ Settings. (If you don't see this, skip to the next step.)
  3. Go to your Profile→My Selling Tools. (If you don't see this, try to find something like “Selling Preferences”.)
  4. Under “Getting Paid and managing my risks” click the “Update” to the right of “Instant payment notifications”. (If you don't see this, try to find a link that says “Instant Payment Notifications” and click that.)
  5. Click the “Choose IPN Settings” button.
    paypal_ipn_step3.jpg
  6. Enter 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.)
    paypal_ipn_step4.jpg

Part 2: Set up the API Access

  1. Go to your Profile tab and look in your “Account Information” column (If you are using the new Paypal format, it's located by going to “profile>more options>my selling tools” and then the API access is located under “selling online”)
  2. If you see “API Access” in that column, click it and proceed to Step 6.
  3. If you see “Request API Credentials”, click it and proceed to the next step.
    • If you don't see anything like this you probably need to VERIFY your account. An unverified account will not have API access.
  4. If you see two options to choose between: “Option 1 - PayPal API” and “Option 2 - PayFlow Pro”, select the first option (the link “Set up PayPal API credentials and permissions”).
  5. Click “Grant API permissions” or “Add or edit API permissions”. It should be at the bottom of the “Option 1” box on the left.
  6. Enter billing_api1.foxycart.com, check all the checkboxes except “Consolidate funds from two or more accounts to a master account.”, and submit. (Or, if you already have another API permission granted, click “Add new permission”, then do the preceding.)
  7. Go to your FoxyCart admin, edit your Payment Gateway settings (in the “Store” menu item), set it to PayPal, Live Server, and enter the primary email. It must be the primary email on the PayPal account, or this will not work.

Part 3: Enable "Reference Transaction" Support

This step is only required for the PayPal method marked “beta” in the FoxyCart admin, but we actually recommend you use that one for FoxyCart v2.0 and up.

Our PayPal rep has let us know that the best number for FoxyCart users to call to get Reference Transaction support enabled for their accounts is 888-215-5506. 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.

Part 4: Testing

  1. Test by signing up for a subscription and ensuring it processes as desired. You can use PayPal's sandbox (details below) if you need.

For more details about recurring payments, please see PayPal's documentation .

Errors?

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

Obtaining a Test Account

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.

Running Test PayPal Express Checkout Transactions

  1. First, set up a sandbox account as directed on this page.
  2. Once your sandbox account is created, you'll need to create a test buyer and a test seller account on this page. In its current iteration, PayPal automatically creates one buyer (your email appended with “-buyer”, and has a type corresponding to PERSONAL) and one seller (your email appended with “-facilitator”, and has a type corresponding to BUSINESS)
  3. Login to the sandbox with your buyer account and replenish its funds.
  4. In your FoxyCart admin, go to the Edit Payment Gateway section and input your seller email account for both the PayPal Express Checkout and the PayPal Payments Pro email values. (See the image on the right for reference)
  5. Attempt a checkout FoxyCart's PayPal Express Checkout from the same browser that you are already logged into the PayPal Sandbox from. Use the test buyer email address to complete the payment. Again, because you have to be logged into the PayPal Sandbox to process a test transaction it will not work unless you're both logged into the sandbox and attempting your FoxyCart checkout flow in the same browser.
  6. If you want to test subscriptions, login to your sandbox PayPal account as the test seller account. From there, you will need to follow the details as described above for setting up support for subscriptions, with the exception that you'll need to enter the IPN url as 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.

Test Card Numbers

Review the test account you created (above). All test information should be there. Know more? Feel free to edit this page with info.

Important Notes and Caveats

User Notes and Experiences

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.

Site Tools