Overview:
Possible Causes and How to Fix them
What is the issue about?
If you’re a WooCommerce store owner or manager, you may use various payment gateways and want 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 Stripe, Square, PayPal, 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:
If in the ‘Last access’ column it says ‘Unknown’, this means that Synder has not been able to access your store to fetch details via the API, the interface that allows software to communicate.
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 domains (synder.com and go.synder.com) 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.
Reach out to the Synder team via online support chat, phone, or email with any questions you have – we’re always happy to help you!