DEV Community

Cover image for WooCommerce Order Not Completing? Fix It Step by Step
Amanur Rahman
Amanur Rahman

Posted on • Originally published at amanurrahman.com

WooCommerce Order Not Completing? Fix It Step by Step

WooCommerce orders stuck on "Pending Payment"? Here's what's actually causing it and how to fix it fast.

After 14+ years of WooCommerce development, these are the 7 root causes I see most often:

1. Payment Gateway in Test Mode

Easy to miss after a migration or plugin update. Check WooCommerce → Settings → Payments.

2. Wrong or Missing Webhook URL

For Stripe:

https://yourdomain.com/?wc-api=wc_stripe
Enter fullscreen mode Exit fullscreen mode

If this isn't set correctly in your Stripe dashboard, orders stay Pending forever.

3. Caching on Checkout Pages

Exclude /cart, /checkout, /my-account, /wc-api from every cache layer — plugin, CDN, and server-level.

4. WP Cron Disabled

If DISABLE_WP_CRON is set to true in wp-config.php, payment callbacks never process:

// Remove or set to false in wp-config.php:
define('DISABLE_WP_CRON', false);
Enter fullscreen mode Exit fullscreen mode

5. Plugin Conflict

Disable all plugins except WooCommerce + gateway. Test. Re-enable one by one.

6. Server Firewall Blocking Gateway Callbacks

Especially common on self-managed VPS/dedicated servers. Whitelist payment gateway IP ranges in your firewall.

7. PHP Error During Checkout

Check WooCommerce → Status → Logs. The error is almost always logged there.


Full guide with checklist and quick reference table:
👉 https://amanurrahman.com/blog-post/woocommerce-order-not-completing-fix

Top comments (0)