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.

woocommerce-leave-hold-stock-field-blank-to-disable

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

3 Comments

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 6 months 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 6 months ago Reply


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

    Arun 6 months ago Reply


Leave A Reply