WooCommerce is a free ecommerce plugin that you can use with your WordPress site. Due to the simple setup, many online sellers use WooCommerce with PayPal as a preferred payment option. Setting up PayPal in WooCommerce is very easy; however, you may get validation errors when something goes wrong. In this article, we will explain how to fix PayPal IPN validation error in WooCommerce store.
PayPal IPN and WooCommerce
IPN stands for Instant Payment Notification. It is a simple messaging service that automatically sends a message to the seller whenever there is a transaction happened on their PayPal account.
WooCommerce plugin uses the PayPal IPN to confirm the receipt of the payment. Based on the successful IPN receipt, it changes the status of the order from “Payment pending” to “Processing”. In a successful case, you will see the order status automatically converts to processing / completed depending on your product delivery. However, whenever there is a failure in the IPN notification, WooCommerce will stop the order processing and send the order to “On Hold” status. You can check the order status will show on hold under “WooCommerce > Orders” section in your WordPress admin panel.
Hover over the “On hold” status to view the error in details. It will show “Validation error: PayPal IPN response from a different email address (email@example.com). Order status changed from Pending payment to On hold”.
You can also click on the order and view the validation error in “Order notes” section.
PayPal Payment and IPN
Now that you know, the order is on hold. However, this will not affect the transaction from the buyer. You will get the payment in your PayPal account successfully without any problem though the order is on hold in your WooCommerce store.
Problem for Customer or Buyer
Now the bigger problem is for the buyer who will not receive the order completion email. Since payment is not completed in WooCommerce, the buyer will not get any order completion email, which generally contains a link for downloadable product. The only option for the buyer is to contact the seller that is you, for the order processing.
This is not good as it affects the customer experience.
How to Fix PayPal IPN Validation Error in WooCommerce?
Generally, PayPal IPN validation error occurs when there is a mismatch in primary email between your PayPal account and WooCommerce setup. You need to first check PayPal account and then correct the WooCommerce setup to fix the error.
Check PayPal Account Primary Email
When you notice the PayPal IPN error on your orders, first thing you need is to check your PayPal account emails. If you are not aware of PayPal emails, here is a summary:
- PayPal email is your merchant id, which is nothing but an email from Gmail, your own domain or any other services.
- You can use up to eight emails in your PayPal account.
- However, you should choose one email as your primary email.
- Primary email is your payment id which buyer will see on the PayPal transactions along with your name.
- Your PayPal login email and primary emails are different, do not confuse with these two emails.
- You can setup the PayPal payment in WooCommerce using any one of your PayPal email id.
- You should use the primary email for PayPal IPN settings in WooCommerce to validate the IPN.
Login into your PayPal account and click on the settings gear icon on the top right. You can find all the email addresses associated with your PayPal under “Email address” section. Note down the primary email that will show first in the list.
Correcting WooCommerce Setup
After getting your primary PayPal account follow the below steps to fix in WooCommerce.
- Login to your WordPress admin panel and navigate to “WooCommerce > Settings” section.
- Click on the “Payments” tab and then click on “Manage” button against “PayPal” section.
- Check you have the correct email address in “PayPal email” text box. It can be any of your PayPal email id and not necessarily the primary id.
- Scroll down and check the “Receiver email” box. This should be your primary PayPal email id.
- When the “PayPal email” is your primary id, you do not need to enter “Receiver email”. WooCommerce will automatically fill up the “Receiver email” from the “PayPal email” field.
- When your “PayPal email” is different from the primary email then you must enter the primary email in the “Receiver email” box.
PayPal will send the IPN message using the primary email. When the “Receiver email” is not matching with the primary email in your PayPal account, WooCommerce cannot validate the IPN and put the order on hold. You should check and correct the “Receiver email” same as your primary PayPal email to fix the validation error.
Related: Fix slow WooCommerce store in WordPress.
IP Addresses for PayPal IPN
PayPal uses certain IP addresses to send the instant payment notifications. In case, if your server or security plugin blocks these IP addresses, you will not receive the IPN messages. It could be the reason for the IPN validation errors on your store and missing IPN messages.
In order to make sure your website can process IPN messages from PayPal’s, you can whitelist the following IP addressees. These are the IPs PayPal use to send IPN validations. PayPal will send you an email whenever there is a new IP addresses are added for IPN.
184.108.40.206 220.127.116.11 18.104.22.168/24 22.214.171.124 126.96.36.199 188.8.131.52 184.108.40.206/21 220.127.116.11/22 18.104.22.168/22 22.214.171.124/20 126.96.36.199/23
Learn how to block or whitelist IP addresses in WordPress.
What Happens to On Hold Orders?
IPN validation error generally happens when you changed the primary email in PayPal account but forget to change the “Receiver email” in WooCommerce. After correcting this, you will not see any more validation errors. However, the orders already received and on hold needs to be processed manually as the payment was received.
Go to “WooCommerce > Orders” and click on the three dots for processing and the tick mark for the completion. Alternatively, click on the order to view the details and change status manually.
Your customer will receive automated emails along with the downloadable link for digital downloads when you change the status to “Completed”.
WooCommerce and PayPal works seamlessly when all the settings are correct. Remember to change the emails in both the places whenever you change your primary email in PayPal. In addition, it is a good idea to test beforehand to avoid bad customer experience.