WooCommerce Order Status Control
You have control over which sorts of paid orders should be automatically placed in Completed state thanks to the WooCommerce Order Status Control plugin.
Assuming that the store has to fulfil or ship any orders that do not match these requirements, WooCommerce’s default setting is to only auto-complete paid orders for items that are both Virtual and Downloadable. WooCommerce will not complete paid orders for products that do not fit these criteria. Nevertheless, there are businesses that desire to be able to automatically fulfil orders for a wider variety of products. You also have the option to select to have Order Status Control automatically fulfil your orders.
- No orders, irrespective of the things that were ordered
- Any and all paid orders, irrespective of the items being ordered
- Paid orders for Virtual Goods, without the Necessity of These Goods Being Marked As Downloadable Also
When an order that is configured to auto-complete is paid for, instead of going through the Processing stage, it will immediately go on to the Completed state. This makes order management more efficient for orders that don’t need any action taken on them between the Processing and Completed stages of the order lifecycle.
- WooCommerce 2.6.14+
- A payment gateway that has the ability to indicate that an order has been paid for. To learn more about the payment gateways that are supported, click here.
- Ensure your store meets the plugin requirements.
- Download the extension from your WooCommerce dashboard.
- Go to Plugins > Add New > Upload and select the ZIP file you just downloaded.
- Click Install Now and then Activate.
- Click Configure and read the next section to learn how to setup the plugin.
To configure Order State Control, navigate to WooCommerce > Settings > General and make changes to the Orders to Auto-Complete setting. This will let you to choose which paid orders should bypass the Processing status and proceed directly to the Completed status:
- None: The fulfilment of no orders will be done on their own.
- Any and All Orders: We will automatically fulfil any and all paid orders, irrespective of the items that were ordered.
- Orders that comprise just Virtual items will be automatically fulfilled without any intervention from the customer.
- Orders for Virtual and Downloadable Items: The only orders that will be automatically fulfilled are paid orders for products that are both Virtual and Downloadable. This is the default behaviour of WooCommerce. Because this is the default setting for the plugin, it assures that activating the plugin by itself will not have an effect on the fulfilment of orders unless and until you actively adjust this setting.
When an order that satisfies your criteria is paid for, the status of the order will immediately change to “Completed,” and this change will be noted in the order notes as follows:
Only paid orders will be processed by Order Status Control, which needs the payment method to initiate the transaction.
$order->payment_complete() .The majority of methods of payment already accomplish this, including PayPal, credit cards, electronic checks, and other online payment systems, which will all prompt auto-completion as necessary.
Because shipping and access to items shouldn’t happen until payment is received, orders that haven’t been paid for won’t be completed automatically when they are placed. Order Status Control will not automatically finish an order if it cannot determine whether or not a payment has been received for it from your gateway. As a result of this, Order Status Control will not automatically fulfil orders using the following ways of payment:
- Payments Made by Check (WooCommerce core)
- Direct Bank Transfer / BACS (WooCommerce core)
- Paid in Full Upon Delivery (WooCommerce core)
- Any gateways that have a default setting of “On Hold” or “Pending Payment” rather than “Processing,”