Real-Time Syncing Not Working
Troubleshoot real-time sync issues between Square and WooCommerce.
If changes in Square aren't reflecting in WooCommerce immediately (or vice versa), follow this guide to diagnose and fix real-time sync issues.
Symptoms
- Changes in Square not appearing in WooCommerce
- Delayed updates (minutes or hours)
- Sync works manually but not automatically
- Missing webhook notifications
Common Causes
1. WP-Cron Issues
The most common cause of delayed syncing is WP-Cron not running reliably.
Why it matters: Webhook data is queued and processed by WP-Cron. If cron isn't firing, the queue doesn't process.
Solution: Set up a server-side cron job for consistent execution.
→ Server-Side Cron Setup Guide
2. Webhook Not Configured
Square webhooks may not be properly configured or active.
How to check:
- Log in to Square Developer Dashboard
- Go to your application
- Navigate to Webhooks
- Verify your site's webhook URL is listed
- Check webhook is enabled for relevant events
Common webhook events needed:
catalog.version.updatedinventory.count.updatedcustomer.created/customer.updatedorder.created/order.updated
3. Queue Backlog
A large queue can delay real-time updates.
Symptoms:
- Updates eventually appear, just delayed
- Queue shows many pending items
- Server under load
Solution: Enable performance settings to manage the backlog.
4. SSL Certificate Issues
Square requires valid SSL for webhook delivery.
How to check:
- Visit your site with https://
- Look for certificate warnings
- Use an SSL checker tool online
Solutions:
- Renew expired SSL certificate
- Fix mixed content issues
- Ensure certificate chain is complete
5. Firewall Blocking Square
Your firewall or security plugin may be blocking Square's webhook requests.
Common blockers:
- Web Application Firewalls (WAF)
- Security plugins (Wordfence, Sucuri, etc.)
- Server-level firewalls
- Rate limiting rules
Solutions:
- Whitelist Square's IP addresses
- Add exception for webhook endpoint
- Check security plugin logs for blocked requests
6. Site Not Publicly Accessible
Webhooks can't reach localhost or private networks.
Requirements:
- Site must be publicly accessible
- Valid domain name (not localhost)
- No basic authentication blocking access
Step-by-Step Diagnosis
Step 1: Verify Webhook Configuration
- Go to Square Developer Dashboard
- Open your application
- Check Webhooks section
- Verify URL matches your site
- Check recent delivery attempts
Step 2: Check Webhook Deliveries
In Square Developer Dashboard:
- Go to Webhooks > Subscription
- Click on recent events
- Look for delivery status (success/failed)
- Check response codes
| Code | Meaning | Action |
|---|---|---|
| 200 | Success | Webhook received |
| 401 | Unauthorized | Check authentication |
| 403 | Forbidden | Check firewall/security |
| 404 | Not Found | Verify webhook URL |
| 500 | Server Error | Check PHP error logs |
| Timeout | No Response | Server too slow |
Step 3: Test WP-Cron
- Make a change in Square
- Check if item appears in SWS Pro queue
- Wait 1-2 minutes
- Check if item was processed
If items queue but don't process, WP-Cron is the issue.
Step 4: Review Sync Logs
- Go to SWS Pro > Logs
- Look for webhook receipt entries
- Check for processing errors
- Note any patterns
Quick Fixes
Temporarily Test Without Security
Briefly disable security plugins to test if they're blocking webhooks:
- Disable Wordfence/Sucuri/etc.
- Make a change in Square
- Check if it syncs
- Re-enable security with appropriate exceptions
Force Refresh Connection
- Go to SWS Pro > Settings
- Disconnect from Square
- Reconnect to Square
- Re-save webhook settings
Manual Queue Processing
If WP-Cron is the issue:
https://yourdomain.com/wp-cron.php?doing_wp_cron
Visit this URL to manually trigger cron.
Prevention
- Set up server-side cron — Ensures reliable processing
- Whitelist Square IPs — Prevents blocking
- Monitor webhook status — Check Square Dashboard regularly
- Keep SSL valid — Renew before expiration
Still Having Issues?
If real-time sync still isn't working:
- Check Products Not Importing guide
- Check Queue Stalled guide
- Review server access logs for webhook requests
- Contact support with webhook delivery logs