WooCommerce PayPal Payments – WordPress plugin
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.
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
- Log in to WordPress admin.
- Go to Plugins > Add New.
- Search for the WooCommerce PayPal Payments plugin.
- Click on Install Now and wait until the plugin is installed successfully.
- 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:
- After you have activated the WooCommerce PayPal Payments plugin, go to WooCommerce > Settings.
- Click the Payments tab.
- The Payment methods list will include two PayPal options. Click on PayPal (not PayPal Standard).
- Click the PayPal Checkout tab.
- Click on the Connect to PayPal button.
- Sign in to your PayPal account. If you do not have a PayPal account yet, sign up for a new PayPal business account.
- After you have successfully connected your PayPal account, click on the Enable the PayPal Gateway checkbox to enable PayPal.
- Click Save changes.
Firstly, if you select to have cards enabled then this payment option is listed last in the Checkout and can’t be moved by rearranging payment methods (only the PayPal option moves). My developer had to manually move the card payment option.
If a new customer presses to pay via PayPal the order appears within admin with the status “pending payment”. The customer may then abandon the order by logging off the site. It’s good that we can see the pending order and chase the customer. Our old PayPal plugin didn’t do this (our card plugin did).
I’ve tested the card option and this seems to be working with 3DSecure. I’ve had a few “pending payment” orders come through and PayPal tells me these are due to cards failing for whatever reason (3DSecure failed, etc). Sadly the WC order notes don’t tell me the reason for the failure whereas our old PayPal Pro card plugin would add a note like this:
PayPal Pro payment failed (Correlation ID: xxxxxxxxxxxx). Payment was rejected due to an error: (15005) “This transaction cannot be processed.” Order status changed from Pending payment to Failed.
On successful transactions I would also like to be able to see whether that card matched the billing address, etc without having to log into PayPal. I could see this with our old plugin.
Also a few of the plugin settings are slightly confusing…
Firstly, there needs to be a “global” tab to make clear that these settings will affect both the PayPal and Card payment options. Such as “Intent: Authorize”, “Logging”, etc.
Also, “Vaulting” appears in both tabs but enable the same setting so this should be in the “global” tab.
Within the PayPal tab:
>> Rather than disabling additional funding sources (i.e. Sofort) it would be better to add any that are required. I don’t even know how these work so I’ve disabled them all because I was getting the Sofort logo at the checkout.
>> I tested both “Landing Page: Login” and “Landing Page: Billing” but they gave me the same PayPal login page probably because Chrome knows I have an account. Is there a reason to use the “Billing” option?
I’m still monitoring this plug-in but getting a response to the above would be really appreciated.
Save cart not working, waste my time
“WooCommerce PayPal Payments” is open source software. The following people have contributed to this plugin.
- 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_Debugis 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