Congratulations! 😍 As a blog reader, get a 10% OFF on WP Frontend Delete Account PRO. Use coupon code WPFDA10OFF.

Have you ever wondered why your WooCommerce order status is stuck at “Processing”? In short — that may be the expected behavior. If the product isn’t virtual, the WooCommerce order status always remains “Processing” because the payment is completed, but the delivery of the order is not.  “Processing” doesn’t mean it’s processing payment — it means it’s being processed/fulfilled by the site owner. All payment gateways in WooCommerce will update the status to “Processing” once the payment is done. When you deliver the product, mark it as completed.

Would you like to track your customer’s journey throughout your site? Get Customer Journey For WooCommerce plugin now.

Customer Journey For WooCommerce


If the product is “Virtual” and “Downloadable”, the order status will automatically be “Completed” because you don’t have to deliver the product and there is nothing to process.

Read more details about the order statuses in WooCommerce.

If you want to make the orders as “Completed” without “Processing” for all products, you can use the following custom code snippet:

/**
 * Auto Complete all WooCommerce orders.
 * 
 * return @void
 */
add_action( 'woocommerce_thankyou', 'sa1494_woocommerce_auto_complete_order' );
function sa1494_woocommerce_auto_complete_order( $order_id ) { 

    if ( ! $order_id ) {
        return;
    }

    $order = wc_get_order( $order_id );
    $order->update_status( 'completed' );
}

In case it helps, here’s how to easily add custom code snippets to your WordPress site. You can also use WooCommerce hook after successful payment instead of “woocommerce_thankyou” which may be more suitable for your use case.

That’s all. Are you looking to do something after the order is completed?

WooCommerce order status stuck at “Processing”? Here’s why.
Tagged on:

Sanjeev Aryal

Don't bury your thoughts, put your vision into reality ~ Bob Marley.

8 thoughts on “WooCommerce order status stuck at “Processing”? Here’s why.

  • December 12, 2023 at 11:45 pm
    Permalink

    My orders for a magazine are in “Processing,” but they are not going through to the bank. This just is a recent development. All the Woo Commerce plugins are updated.
    Thanks

    Reply
    • December 13, 2023 at 3:19 am
      Permalink

      That isn’t the expected behaviour. Maybe some WooCommerce extensions are modifiying the behaviour. I’d rule out any plugin conflict first. However please note that for the status to be “Completed” the product should be virtual + downloadable.

      Reply
  • December 11, 2023 at 3:22 pm
    Permalink

    My products are set to virtual, however woocommerce is still stuck at the processing stage. Everything else works i.e. i get paid and the client gets processed.

    What else could this be?

    Reply
    • December 13, 2023 at 3:21 am
      Permalink

      Just a note that the product should be virtual + downloadable for it’s status to be automatically “Completed”.

      Reply
  • March 26, 2023 at 11:15 am
    Permalink

    Hi,
    I have cc this code snippet nevertheless I receive some errors. Is this a Javascript, HTML or what kind of snippet?

    Reply
  • February 2, 2023 at 7:49 pm
    Permalink

    I added this code and it works however now the dashboard icon ‘orders’ which has a red circle showing the current number of orders is not being updated. Do you have a fix for this?

    Reply
    • February 3, 2023 at 10:46 am
      Permalink

      That number in the icon should be updated by default. It counts the number of “processing” orders in the orders page. You may count the orders again.

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *