WooCommerce Unpaid order cancelled – time limit reached. Order cancelled after PayPal payment done.

WooCommerce Order canceled after PayPal payment done 800x405 - WooCommerce Unpaid order cancelled - time limit reached. Order cancelled after PayPal payment done.

You may experience this issue after upgrading to WooCommerce (ver. 2.0+),  purchased order using PayPal payment never get complete, in fact, all purchased order status goes to “Cancelled” and in the admin area those orders showed up as cancelled with the message “Unpaid order cancelled – time limit reached”.  This is very annoying, because you have to go to order list and manually change the status.

This problem is due to WooCommerce Inventory feature. WooCommerce by default will cancel orders that remain in pending status for an hour.

To resolve this go to the back-end of WordPress dashboard and navigate to the

“WooCommerce > Settings > Products > Inventory”.

The important item here is the Hold Stock (minutes) “60” minute interval, that is set default by WooCommerce for inventory Stock Management.

IF you are using Stock management for any reason, and has that item enabled (Manage Stock), simply delete the value (“60” or any other value) from the (Hold stock (minutes) field. This will ensure there is no timeout if PayPal (any other payment gateway like Stripe)  tries to process the payment automatically. Even though the order should be processed within a minute or two. PayPal and WooCommerce do NOT play nicely with each other if “Hold Stock (minutes)” field has a value in it. So, simply leave it blank.


About This Author

My name is Parameshwar Roy (P. Roy), and I am a web developer. This is my personal blog to record my own thoughts. Though I am not a natural writer, I love to share my experiences. Hope my experiences will be useful to you...read more about me


You can post comments in this post.

  • I’ve had the same issue and i tried the solution you have above. My orders now just stay at pending payment. Do you have any idea why my the payments aren’t going through?

    Thank you in advance.

    Christopher Ford 3 years ago Reply

    • Parameshwar Roy Proy 150x150 - WooCommerce Unpaid order cancelled - time limit reached. Order cancelled after PayPal payment done.

      Have you checked the order status in the backend? If the order status in the backend is pending too, it means WooCommerce (check system status for any error) is not getting the response from PayPal (issues with IPN communication).

      In that case, you may need to contact your hosting provider for SSL update. More details at https://www.paypal.com/au/webapps/mpp/tls-http-upgrade

      P. Roy 3 years ago Reply

  • It works for me.
    Thanks for posting nice piece of code.

    Arun 3 years ago Reply

  • Thank you for all the information you have shared. very useful for me

    RIDWAN FAUZI 6 months ago Reply

  • Question so I have an issue where customers are trying to order the same products all at the same time after we post them to a forum for a live sale. I’m currently set to 1 min for hold time, and customers are able to checkout backordering products that are only normally available with 1 stock. If I were to set to blank, would this help my current problem? I’m basically trying to reduce any chance of a wysiwig (what you see is what you get) product.

    Remy Medranda 5 months ago Reply

Leave A Reply