Overview:

What is the issue about?

How to identify this problem?

Possible Causes and How to Fix them

  1. Plugins

  2. Cloudflare or other spam/DDoS protecting systems

  3. Blocking IP addresses with .htaccess

What is the issue about?

If you’re a WooCommerce store owner or manager, you sell using various payment gateways, and you’d like to automate your bookkeeping. Synder can benefit you immensely: it allows you to do seamless reconciliation of your transactions, it brings a lot of data to your books – in fact, we’re trying to pick up as much information as possible for each integration. 

That is why if you use payment gateways such as StripeSquarePayPal, etc. in your WooCommerce store, you are to connect both those gateways and your WooCommerce. This allows Synder to grab payment and fees details from payment processors as well as order details from an e-commerce store.

However…

Sometimes you set up the sync and find out that some information that you have in your WooCommerce orders is missing. 

Most likely, the problem is that Synder cannot reach your WooCommerce store. Each time when you synchronize a transaction, Synder fetches information from the payment platform and then also queries your WooCommerce store for more details. If it doesn’t get a response from the WooCommerce store, it cannot bring the details. In order to fix this, you need to allow WooCommerce to respond to Synder with details.  Read further to understand how to do it.

How to identify this problem?

Here is how you can spot it on your end: in your WooCommerce store admin page, go to WooCommerce → Settings → Advanced tab and click on REST API. You will see all API keys you’ve generated for all apps that connect to your store via API. Here is what an active and operational connection to Synder looks like:

WooCommerce-order-information

If in the ‘Last access’ column it says ‘Unknown’, it means that Synder has not been able to access your store to fetch details via API – the interface that allows software to talk with each other.

Possible Causes and How to Fix them

Plugins

Cause: Some plugins such as Shield, WordFence, WordPress Tweaks (and many more) let you restrict access to API. 

Solution: If you have one of those plugins, please check if they have restricted API access in their settings. If yes, turn the restriction off.

Cloudflare or other spam/DDoS protecting systems

Cause: If your store is protected by Cloudflare (or some other spam and DDoS protecting systems), you may be running Web Application Firewall (WAF). 

Solution: In this case, you need to create a firewall rule (here is how: Create, edit, and delete rules · Cloudflare Firewall Rules docs) and specify the following information:

URI path: /wp-json/*
Action: ‘Bypass’.

Blocking IP addresses with .htaccess

Cause: Sometimes you have restricted access to some of your pages on the .htaccess level, and you need to tweak that setting to let Synder IP access your REST API.

Solution: You can locate your .htaccess file by accessing your website via FTP using your credentials which you should be able to find within your web host’s control panel or in the email they sent you when you signed up for your plan. The .htaccess file will normally be in the root folder. It is a plaintext file so you can open and edit it in your text editor of choice.

Check if you have the following code snippet in the file:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} ^(.*)?wp-json$
RewriteCond %{REMOTE_ADDR} !^IP_ADDRESS_ONE$ 
RewriteCond %{REMOTE_ADDR} !^IP_ADDRESS_TWO$
RewriteRule ^(.*)$ – [R=403,L]
</IfModule>

where IP_ADDRESS_ONE and IP_ADDRESS_TWO (there can be more) are IP addresses, e.g. 127.0.0.1 or 192.168.1.1

If you do have this kind of code in your .htaccess file, remove it and save the file. This will stop blocking API calls from Synder.


Was this article helpful?
YesNo

Leave a Reply

Your email address will not be published. Required fields are marked *