WooCommerce PayPal Payments


PayPal’s latest, most complete payment processing solution. Accept PayPal exclusives, credit/debit cards and local payment methods. Turn on only PayPal options or process a full suite of payment methods. Enable global transactions with extensive currency and country coverage.
Built and supported by WooCommerce and PayPal.

Give your customers their preferred ways to pay with one checkout solution

Streamline your business with one simple, powerful solution.

With the latest PayPal extension, your customers can pay with PayPal, Pay Later options, credit & debit cards, and country-specific, local payment methods on any device — all with one seamless checkout experience.

Reach more customers in 200+ markets worldwide

Expand your business by connecting with over 370+ million active PayPal accounts around the globe. With PayPal, you can:

  • Sell in 200+ markets and accept 100+ currencies
  • Identify customer locations and offer country-specific, local payment methods

Offer subscription payments to help drive repeat business

Create stable, predictable income by offering subscription plans.

With the vaulting feature on PayPal, you can offer flexible plans with fixed or quantity pricing, set billing cycles for the time period you want, and offer subscriptions with discounted trial periods.

It’s easy for shoppers, simple for you, and great for your business–with no monthly or setup fees.

PayPal is also compatible with WooCommerce Subscriptions.


  • PayPal buttons on a single product page.
  • Cart page.
  • Checkout page.
  • Enable "PayPal" on the Payment methods tab in WooCommerce.
  • Click "Connect to PayPal" to link your site to your PayPal account.
  • Main settings screen.



To install WooCommerce PayPal Payments, you need:

  • WordPress Version 5.3 or newer (installed)
  • WooCommerce Version 3.9 or newer (installed and activated)
  • PHP Version 7.1 or newer
  • PayPal business account


  1. Log in to WordPress admin.
  2. Go to Plugins > Add New.
  3. Search for the WooCommerce PayPal Payments plugin.
  4. Click on Install Now and wait until the plugin is installed successfully.
  5. You can activate the plugin immediately by clicking on Activate now on the success page. If you want to activate it later, you can do so via Plugins > Installed Plugins.

Setup and Configuration

Follow the steps below to connect the plugin to your PayPal account:

  1. After you have activated the WooCommerce PayPal Payments plugin, go to WooCommerce > Settings.
  2. Click the Payments tab.
  3. The Payment methods list will include two PayPal options. Click on PayPal (not PayPal Standard).
  4. Click the PayPal Checkout tab.
  5. Click on the Connect to PayPal button.
  6. Sign in to your PayPal account. If you do not have a PayPal account yet, sign up for a new PayPal business account.
  7. After you have successfully connected your PayPal account, click on the Enable the PayPal Gateway checkbox to enable PayPal.
  8. Click Save changes.


مې 16, 2022
Out of all the payment options I provide (and it's a lot), why does ONLY this plugin feel the need to change the checkout button uppon choosing PayPal as the payment option? The button changes from "Checkout" to "Pay with PayPal" And there is NO option in the plugin to switch this off. And if that's not enough, the button moves 50px downward from the original checkout button, having the button float above my "safe checkout" emblems. Like, who would ever think that's a good idea? "let's change the entire button design when people choose PayPal". And then Woocommerce is heavily pushing this. Even on another Woo installation, I still use the old plugin which is no longer supported (but still works perfectly) and I get messages saying I should "urgently" switch over to the new plugin. Yeah, right. I am going to copy that plugin to my new installation and get rid of this disgusting plugin.
مې 16, 2022
I give this plugin 4 Stars because finally it works pretty good and it improved the the usability of our shop. But that was a long way ... I had to fix many issues till it finally worked. Hours of reading forums and asking for support. This is really not a finished product.
مې 11, 2022
What I found most disappointing by this plugin is that this is heavily suggested by WooCommerce / Automattic as a replacement plugin for Paypal Standard amongst other plugins made by WooCommerce for PayPal. But this plugin has a number of bad UI decisions and when you contact support your told it's a third party plugin. But the marketing suggests it by WooCommerce. There is a number of bad design decisions and poor UI in the plugin. I can't believe some of the plugin basic design was over looked and not properly tested. I hope WooCommerce comes to it's senses and actually either says this is actually made by Woo or it's actually a third party because this is confusing and not the quality product I though I would get from Automattic / WooCommerce.
مې 10, 2022
I had a really silly problem, but on the other side I found really knowledgeable and patient support. Which is really rare nowadays. Keep it up! Ale
مې 9, 2022
The ONE thing that WooCommerce has to do well, it's receiving payments... and with this plugin we're having issues we never had before: - first the PayPal option wasn't available for guest users (now solved) - now orders are failing "not possible to save the payment to Paypal" (still open) The support is terribly slow, that is crazy considering this is a critical plugin. I'm sorry to say but this plugin is a gift to Shopify & co. as it will make more users switch away from WC.
مې 5, 2022
I'm running woocommerce and a fairly basic theme. Set up seemed to go well with all the correct info installed. The New Paypal option is shown in the checkout, complete checkout and the Paypal popup shows for an instant then disappears. Also, the yellow button appears after "I have read.... " and check box which would be confusing even if the plugin worked. Keeping with the old reliable plugin for as long as we can until the bugs are fixed. Don't even think about retiring the old plugin if you want to keep business.
Read all 202 reviews

Contributors & Developers

“WooCommerce PayPal Payments” is open source software. The following people have contributed to this plugin.


“WooCommerce PayPal Payments” has been translated into 6 locales. Thank you to the translators for their contributions.

Translate “WooCommerce PayPal Payments” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • Add – Allow free trial subscriptions #580
  • Fix – The Card Processing does not appear as an available payment method when manually creating an order #562
  • Fix – Express buttons & Pay Later visible on variable Subscription products /w disabled vaulting #281
  • Fix – Pay for order (guest) failing when no email address available #535
  • Fix – Emoji in product description causing INVALID_STRING_LENGTH error #491
  • Enhancement – Change cart total amount that is sent to PayPal gateway #486
  • Enhancement – Include dark Visa and Mastercard gateway icon list for PayPal Card Processing #566
  • Enhancement – Onboarding errors improvements #558
  • Enhancement – “Place order” button visible during gateway load time when DCC gateway is selected as the default #560


  • Fix – Hide smart buttons for free products and zero-sum carts #499
  • Fix – Unprocessable Entity when paying with AMEX card #516
  • Fix – Multisite path doubled in ajax URLs #528
  • Fix – “Place order” button looking unstyled in the Twenty Twenty-Two theme #478
  • Fix – PayPal options available on minicart when adding subscription to the cart from shop page without vaulting enabled #518
  • Fix – Buttons not visible on products page #551
  • Fix – Buttons not visible in mini-cart #553
  • Fix – PayPal button missing on pay for order page #555
  • Enhancement – PayPal buttons loading time #533
  • Enhancement – Improve payment token checking for subscriptions #525
  • Enhancement – Add Spain and Italy to messaging #497


  • Fix – DCC orders randomly failing #503
  • Fix – Multi-currency broke #481
  • Fix – Address information from PayPal shortcut flow not loaded #451
  • Fix – WooCommerce as mu-plugin is not detected as active #461
  • Fix – Check if PayPal Payments is an available gateway before displaying it on Product/Cart pages #447
  • Enhancement – Improve onboarding flow, allow no card processing #443 #508 #510
  • Enhancement – Add Germany to supported ACDC countries #459
  • Enhancement – Add filters to allow ACDC for countries #437
  • Enhancement – Update 3D Secure #464
  • Enhancement – Extend event, error logging & order notes #456
  • Enhancement – Display API response errors in checkout page with user-friendly error message #457
  • Enhancement – Pass address details to credit card fields #479
  • Enhancement – Improve onboarding notice #465
  • Enhancement – Add transaction ID to WC order and order note when refund is received #473
  • Enhancement – Asset caching may cause bugs on upgrades #501
  • Enhancement – Allow partial capture #483
  • Enhancement – PayPal Payments doesn’t set transaction fee metadata #467
  • Enhancement – Show PayPal fee information in order #489


  • Fix – Allow guest users to purchase subscription products from checkout page #422
  • Fix – Transaction ID missing for renewal order #424
  • Fix – Save your credit card checkbox should be removed in pay for order for subscriptions #420
  • Fix – Null currency error when the Aelia currency switcher plugin is active #426
  • Fix – Hide Reference Transactions check from logs #428
  • Fix – Doubled plugin module URL path causing failure #438
  • Fix – is_ajax deprecated #441
  • Fix – Place order button from PayPal Card Processing does not get translated #290
  • Fix – AMEX missing from supported cards for DCC Australia #432
  • Fix – “Save your Credit Card” text not clickable to change checkbox state #430
  • Fix – Improve DCC error notice when not available #435
  • Enhancement – Add View Logs link #416


  • Fix – Non admin user cannot save changes to the plugin settings #278
  • Fix – Empty space in invoice prefix causes smart buttons to not load #390
  • Fix – woocommerce_payment_complete action not triggered for payments completed via webhook #399
  • Fix – Paying with Venmo – Change funding source on checkout page and receipt to Venmo #394
  • Fix – Internal server error on checkout when selected saved card but then switched to paypal #403
  • Enhancement – Allow formatted text for the Description field #407
  • Enhancement – Remove filter to prevent On-Hold emails #411


  • Fix – Payments fail when using custom order numbers #354
  • Fix – Do not display saved payments on PayPal buttons if vault option is disabled #358
  • Fix – Double “Place Order” button #362
  • Fix – Coupon causes TAX_TOTAL_MISMATCH #372
  • Fix – Funding sources Mercado Pago and BLIK can’t be disabled #383
  • Fix – Customer details not available in order and name gets replaced by xxx@dcc2.paypal.com #378
  • Fix – 3D Secure failing for certain credit card types with PayPal Card Processing #379
  • Fix – Error messages are not cleared even when checkout is re-attempted (DCC) #366
  • Add – New additions for system report status #377


  • Fix – Order of WooCommerce checkout actions causing incompatibility with AvaTax address validation #335
  • Fix – Can’t checkout to certain countries with optional postcode #330
  • Fix – Prevent subscription from being purchased when saving payment fails #308
  • Fix – Guest users must checkout twice for subscriptions, no smart buttons loaded #342
  • Fix – Failed PayPal API request causing strange error #347
  • Fix – PayPal payments page empty after switching packages #350
  • Fix – Could Not Validate Nonce Error #239
  • Fix – Refund via PayPal dashboard does not set the WooCommerce order to “Refunded” #241
  • Fix – Uncaught TypeError: round() #344
  • Fix – Broken multi-level (nested) associative array values after getting submitted from checkout page #307
  • Fix – Transaction id missing in some cases #328
  • Fix – Payment not possible in pay for order form because of terms checkbox missing #294
  • Fix – “Save your Credit Card” shouldn’t be optional when paying for a subscription #368
  • Fix – When paying for a subscription and vaulting fails, cart is cleared #367
  • Fix – Fatal error when activating PayPal Checkout plugin #363


  • Fix – Handle authorization capture failures #312
  • Fix – Handle denied payment authorization #302
  • Fix – Handle failed authorizations when capturing order #303
  • Fix – Transactions cannot be voided #293
  • Fix – Fatal error: get_3ds_contingency() #310


  • Add – Webhook status. #246 #273
  • Add – Show CC gateway in admin payments list. #236
  • Add – Add 3d secure contingency settings. #230
  • Add – Improve logging. #252 #275
  • Add – Do not send payee email. #231
  • Add – Allow customers to see and delete their saved payments in My Account. #274
  • Fix – PayPal Payments generates multiple orders. #244
  • Fix – Saved credit card does not auto fill. #242
  • Fix – Incorrect webhooks registration. #254
  • Fix – Disable funding credit cards affecting hosted fields, unset for GB. #249
  • Fix – REFUND_CAPTURE_CURRENCY_MISMATCH on multicurrency sites. #225
  • Fix – Can’t checkout to certain countries with optional postcode. #224


  • Fix – Set 3DS contingencies to “SCA_WHEN_REQUIRED”. #178
  • Fix – Plugin conflict blocking line item details. #221
  • Fix – WooCommerce orders left in “Pending Payment” after a decline. #222
  • Fix – Do not send decimals when currency does not support them. #202
  • Fix – Gateway can be activated without a connected PayPal account. #205


  • Add – Filter to modify plugin modules list. #203
  • Add – Filters to move PayPal buttons and Pay Later messages. #203
  • Fix – Remove redirection when enabling payment gateway with setup already done. #206
  • Add – PayPal Express Checkout compatibility layer. #207
  • Fix – Use correct API to obtain credit card icons. #210
  • Fix – Hide mini cart height field when mini cart is disabled. #213
  • Fix – Address possible error on frontend pages due to an empty gateway description. #214


  • Add – Venmo update #169
  • Add – Pay Later Button –Global Expansion #182
  • Add – Add Canada to advanced credit and debit card #180
  • Add – Add button height setting for mini cart #181
  • Add – Add BN Code to Pay Later Messaging #183
  • Add – Add 30 seconds timeout by default to all API requests #184
  • Fix – ACDC checkout error: “Card Details not valid”; but payment completes #193
  • Fix – Incorrect API credentials cause fatal error #187
  • Fix – PayPal payment fails if a new user account is created during the checkout process #177
  • Fix – Disabled PayPal button appears when another button is loaded on the same page #192
  • Fix – [UNPROCESSABLE_ENTITY] error during checkout #172
  • Fix – Do not send customer email when order status is on hold #173
  • Fix – Remove merchant-id query parameter in JSSDK #179
  • Fix – Error on Plugin activation with Zettle POS Integration for WooCommerce #195


  • Fix – Improve Subscription plugin support. #161
  • Fix – Disable vault setting if vaulting feature is not available. #150
  • Fix – Cast item get_quantity into int. #168
  • Fix – Fix Credit Card form fields placeholder and label. #146
  • Fix – Filter PayPal-supported language codes. #154
  • Fix – Wrong order status for orders with contain only products which are both virtual and downloadable. #145
  • Fix – Use order_number instead of internal id when creating invoice Id. #163
  • Fix – Fix pay later messaging options. #141
  • Fix – UI/UX for vaulting settings. #166


  • Fix – Fix Credit Card fields for non logged-in users. #152


  • Add – Client-side vaulting and allow WooCommerce Subscriptions product renewals through payment tokens. #134
  • Add – Send transaction ids to woocommerce. #125
  • Fix – Validate checkout form before sending request to PayPal #137
  • Fix – Duplicate Invoice Id error. #143
  • Fix – Unblock UI if Credit Card payment failed. #122
  • Fix – Detected container element removed from DOM. #123
  • Fix – Remove disabling credit for UK. #127
  • Fix – Show WC message on account creating error. #136


  • Fix – Address compatibility issue with Jetpack.


  • Add – Rework onboarding code and add REST controller for integration with the OBW. #121
  • Fix – Remove spinner on click, on cancel and on error. #124


  • Add – Buy Now Pay Later for UK. #104
  • Add – DE now has 12 month installments. #106
  • Fix – Check phone for empty string. #102


  • Fix – Check if WooCommerce is active before initialize. #99
  • Fix – Payment buttons only visible on order-pay site when Mini Cart is enabled; payment fails. #96
  • Fix – High volume of failed calls to /v1/notifications/webhooks #93
  • Fix – GB country has ACDC blocked. #91


  • Fix – Order with Payment received when Hosted Fields transaction is declined. #88


  • Fix – Purchases over 1.000 USD fail. #84


  • Fix – PayPal Smart buttons don’t load when using a production/live account and WP_Debug is turned on/true. #66
  • Fix – [Card Processing] SCA/Visa Verification form loads underneath the Checkout blockUI element. #63
  • Fix – Attempting to checkout without country selected results in unexpected error message. #67
  • Fix – Remove ability to change shipping address on PayPal from checkout page. #72
  • Fix – Amount value should be a string when send to the api. #76
  • Fix – “The value of a field does not conform to the expected format” error when using certain e-mail addresses. #56
  • Fix – HTML tags in Product description. #79


  • Initial release.