The WooCommerce Order Approval plugin seamlessly integrates into your WooCommerce system allowing you to approve or reject all the orders placed by customers!
LIVE DEMO
https://www.codecanyondemo.work/wcoa/wp-admin
(Shop admin account)
user: demo
pass: demo
(Customer account)
user: demo2
pass: demo
DOCUMENTATION
How to automatically update the plugin
To receive automatic updates just install and configure the Envato updater plugin: https://goo.gl/pkJS33 . The official guide that explains how to configure it can be found at the following link: https://envato.com/market-plugin .
How it works: approval workflow
Once installed and activated, the plugin allows you to reject or approve all the orders placed by the customers according to one of those two workflows (that you have to select through the Settings menu):
- Pay and wait for approval: The customer will normally place the order as happens for any WooCommerce order. The shop admin can approve or reject the whole order or the single products included in the order. On order approval/rejection, the customer will receive a notification email.
- Wait for approval and pay: the customer will place the order without being charged. Once the order will be marked as approved the customer has to manually pay for it through the order details page.
Approval timeline
The customers (registered and guests) can keep track of the order approval status through a visual timeline displayed on the order details page! Each step text can be customized through the text menu.
Product rejection
Each product included in the order can be rejected by the shop admin. On rejection, the order total will be updated. So, in the case of the “wait and pay” option, the user will pay only for the products that are available. In the case of the “Pay and wait” option, the plugin will report how much should be refunded so the admin can emit a refund via WooCommerce in the way that fits the shop admin’s needs (for example using a coupon).
Live updated timeline
The order status timeline is live and updated! This means that the user has no need to manually update the page in order to have to know the current order approval status!
Time selector option
The plugin gives the option to display a time selector in the Checkout form! This can be very useful for food delivery services!
Email notifications
Every time the order hits the Approved or Rejected status, the plugin will send a notification email to the customer. Notification messages text can be customized through the Text menu.
NOTE: The plugin hasn’t any support for 3rd party customization email plugins. The template can be manually modified and copied into the theme folder ({theme_folder}/woocommerce/emails/). Templates are located in the templatesemails folder inside the plugin.
New order statuses
To easily keep track of the order approval statuses, will add three new statuses: Waiting for approval, Rejected, Approved statuses.
Approval/Rejection links embedded on the Admin new order email
The plugin embeds in the new order email sent to the admin the links to directly approve or reject the just placed order!
Order cancellation by customer
Through the Options menu, you can enable the option to allow the customer to cancel the order once it has been approved. The cancellation can be performed in X minutes, where X can be configured through the option.
Order automatic cancellation if not paid
The order can be optionally canceled by the system if, once approved and if it needs to be paid, the user doesn’t perform the payment in X minutes, where X can be configured in the options menu.
NOTE: The order cancellation will be performed when the user accesses the order details page.
Automatic refund on rejection
Rejected orders can be automatically refunded. Just enable the special option you find in the settings menu.
NOTE: This feature will only work if the payment gateway used to pay the order supports automatic refunds.
Automatic order approval by the Payment gateway, shipping method, coupons, products, categories, user role, or order subtotal!
The order can be optionally set to be automatically approved according to the payment gateway, the shipping methodm, specific products/categories , user roles or order subtotal (sum of the costs of the products excluding taxes)!
Note: The plugin only supports shipping methods defined using the native WooCommerce functionalities. NO SUPPORT for 3rd party plugins.
In case of automatical approval by products and categories, the shop admin can choose two different strategies:
- Manual approval only for the selected products/categories: if the order contains none of the selected products or categories, it will be automatically approved
- Automatically approved for the selected products/categories: if the order contains at least one of the selected products or categories, the order will be automatically approved, otherwise, it will require manual approval by the shop manager
The automatic order approval option for coupons can be found while configuring the coupon via the WooCommerce -> Coupons -> Coupon menu
Template
The approval area template (located in the frontend/approval_area.php file inside the plugin folder) can be customized and copied into the theme folder. The file must be stored in the following path {theme_folder}/woocommerce-order-approval/frontend/approval_area.php
WPML and Falang
The plugin supports the WPML translation plugin. You will then be able to customize and translate texts through the special Text menu.
Note on order statuses
The plugin adds its order statuses: Waiting for approval, Rejected, Approved statuses. However, the following WooCommerce statuses will be considered by the plugin as:
- Failed, cancelled, refunded statuses as Rejected status
- Completed, On hold, processing and any custom order statuses as Approved status
- Pending payment status will be considered as Waiting for approval status. Via the options menu, you can manually configure which order status can be considered as “Waiting for approval”. This could be useful in case you are using custom order statuses
This means that the frontend status timeline will display the order as approved, rejected, or waiting for approval according to those rules. Note, however, that approval or rejection email notification will be only sent if
the order hits specifically the Approved or Rejected status.
In case the Wait and pay workflow has been chosen, once the order will hit any Approval related status, can be paid (and optionally canceled) by the customer.
Note on 3rd party payment gateway plugins
The plugin has been designed to work with the default Woocommerce payment gateways. If you are using any 3rd party payment gateway plugin, this may alter the normal WooCommerce payment workflow preventing the plugin from properly working or unexpected behaviors.
In case of any doubt, before purchasing, contact me to try the plugin on a private demo site in conjunction with your 3rd party payment gateway plugin.
SCREENSHOTS
Approval timeline
Approval timeline – Payment after order placement and the option to cancel the order
Approval timeline – Order rejected
Notification email
Reject single order items
Order list
Option and texts menu
CHANGE LOG
= 9.4 - 02.10.24 = * Added the new 'wcoa_before_order_status_update' that allows to prevent the order status switch to "waiting for approval" or "approved" after the order has been placed via checkout = 9.3 - 28.08.24 = * Several bugfix = 9.2 - 25.08.24 = * Several bugfix = 9.1 - 16.08.24 = * Added support to Falag (thanks to stephanebouey) = 9.0 - 10.07.24 = * Wait and Pay workflow: the plugin now sends a notification when the order has been actually paid = 8.9 - 26.04.24 = * Fixed compability issue with Germanized for WooCommerce plugin = 8.8 - 15.04.24 = * Added new option to disable the "Order received" emails option = 8.7 - 18.03.24 = * "Order received" emails are now sent to the customer when the "wait and pay" method is selected = 8.6 - 06.10.23 = * Fixed some localization issues = 8.5 - 29.08.23 = * Minor bug fixes = 8.4 - 23.08.23 = * Fixed an issue with the "from" text setting = 8.3 - 23.08.23 = * Files can be downloaded when order hits the "approved" status = 8.2 - 16.08.23 = * Added option for automatic refund on order rejection = 8.1 - 05.08.23 = * Minor improvement = 8.0 - 05.08.23 = * Minor improvement = 7.9 - 27.07.23 = * Added compatibility with HPOS = 7.8 - 29.05.23 = * Minor improvements = 7.7 - 11.04.23 = * Improved email management = 7.6 - 27.03.23 = * Minor bugfix = 7.5 - 08.03.23 = * Added a new option for the "waiting for approval" status management = 7.4 - 08.02.23 = * Minor email management improvement = 7.3 - 26.01.23 = * Minor improvements = 7.2 - 25.01.23 = * Improved the management of the "wait and pay" workflow = 7.1 - 24.01.23 = * Added new options to customize texts = 7.0 - 17.01.23 = * Improved payment detection. The "Waiting for approval" status is now set in a more accurate way = 6.9 - 19.12.22 = * Minor UI improvements = 6.8 - 12.12.22 = * Improved support for WooCommerce Attach Me! = 6.7 - 28.11.22 = * Fixed an issue related to the "Consider also products belonging to subcategories of the selected categories" option = 6.6 - 16.11.22 = * Minor improvements = 6.5 - 11.11.22 = * Added a new option = 6.4 - 28.09.22 = * Bugfix = 6.3 - 15.07.22 = * Fixed an issue related to WPML and product translation = 6.2 - 25.03.22 = * Added option to manually specify which order statuses has to be considered as "Waiting for approval" = 6.1 - 04.02.22 = * Minor improvement = 6.0 - 29.01.22 = * Order cannot be no longer approved/rejected via email links once it hits the "completed" status = 5.9 - 11.10.21 = * Fixed an error retrieving the order time field = 5.8 - 11.10.21 = * Minor update = 5.7 - 13.07.21 = * Improvements to the "alternative method for approval status assignment" option = 5.6 - 05.07.21 = * Minor improvements = 5.5 - 21.06.21 = * Fixed an issue related to the "Order status management" options = 5.4 - 21.06.21 = * Added a new option to use an alternative method for the custom order assignment to improve 3rd party gateway compatibility = 5.3 - 08.05.21 = * Added option to disable the custom order assignment ('waiting for approval' or 'approved') after an order has been placed = 5.2 - 08.05.21 = * Added the new 'wcoa_on_checkout_payment_successful' and 'wcoa_on_checkout_no_payment_needed' filters that allow altering the order status after an order has been placed = 5.1 - 05.05.21 = * Approval links are no longer embedded in case the order has been automatically approved = 5.0 - 02.04.21 = * Added new options to customize email sender name and address = 4.9 - 31.03.21 = * Automatic approval by order subtotal: is not possible to select the operator (less/more) = 4.8 - 16.02.21 = * Added a new option to hide the approval area in the thank you / order received page = 4.7 - 10.02.21 = * Minor improvement = 4.6 - 09.01.21 = * Approval area template can now be copied into the theme folder = 4.5 - 12.12.20 = * Fixed an issue due to the Approval/Rejection date was not properly set = 4.4 - 30.11.20 = * Added option to include custom order approval message in the approval/reject notification emails = 4.3 - 24.11.20 = * Added new automatic approval options: by user role and order subtotal = 4.2 - 18.11.20 = * Fixed an issue with WooCommerce 4.7: when selecting the wait for the approval and pay, the checkout was not completing = 4.1 - 04.11.20 = * Minor UI improvement = 4.0 - 17.10.20 = * The Approval notification email, in case of the "pay and wait" workflow, now contains the link to the downloadable content = 3.9 - 17.08.20 = * Added option to auto-approve orders by product tags = 3.8 - 15.08.20 = * Minor UI Improvement = 3.7 - 08.07.20 = * [order_id] now invokes the get_order_number() that should be compatible with 3rd party plugin that alters the order id management = 3.6 - 26.06.20 = * By default, no notifications are sent to the user for automatically approved orders. An option has been added to disable this behavior = 3.5 - 05.06.20 = * Automatic approval via coupon = 3.4 - 22.05.20 = * Minor improvement = 3.3 - 19.05.20 = * In case of "wait for the approval and pay" workflow is selected, the "pending payment" order status is no longer considered as "waiting for approval" status = 3.2 - 19.05.20 = * Improved canceled payment management = 3.1 - 18.05.20 = * Added option to automatically approve according to the selected products/categories = 3.0 - 11.05.20 = * Improved stock management = 2.9 - 08.05.20 = * Minor UI improvement = 2.8 - 07.05.20 = * Minor UI improvement = 2.7 - 04.05.20 = * Fixed an issue that prevented editing the time set by the user in the admin order details page = 2.6 - 01.05.20 = * Fixed an issue due to items stock being reduced even if the order was not paid = 2.5 - 28.03.20 = * Added approval by shipping method = 2.4 - 24.03.20 = * Fixed an issue due to a specific order approval/rejection message was not properly displayed = 2.3 - 23.03.20 = * Fixed an issue related to the min and max selectable time = 2.2 - 29.02.20 = * Minor UI improvements = 2.1 - 28.02.20 = * Fixed an issue that prevents the checkout process to be performed = 2.0 - 26.02.20 = * Added option to automatically approve an order according to the payment gateway = 1.9 - 14.02.20 = * Fixed an issue due to email approval links were not properly generated * Minor CSS improvements = 1.8 - 08.01.20 = * Fixed an issue related to the [datetime] shortcode = 1.7 - 03.01.20 = * Added feature to embed approval and rejection link on the "new order" email sent to the admin = 1.6 - 21.11.19 = * Minor UI improvements on the Text menu = 1.5 - 21.11.19 = * Added option to disable notification emails = 1.4 - 15.11.19 = * Added option to automatically cancel the order if it has not been paid in X minutes = 1.3 - 14.11.19 = * Minor bugfix = 1.2 - 13.11.19 = * Status timeline is now live updated. The user has no longer to update the page to be aware of the order status = 1.1 - 02.11.19 = * Typo = 1.0 - 30.10.19 = * First release