Code

WooCommerce Order Approval

WooCommerce Order Approval

Cart 476 sales
Recently Updated

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):
  1. 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.
  2. 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 templates\emails 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. 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:
  1. Manual approval only for the selected products/categories: if the order contains none of the selected products or categories, it will be automatically approved
  2. 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

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:
  1. Failed, cancelled, refunded statuses as Rejected status
  2. Completed, On hold, processing and any custom order statuses as Approved status
  3. 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


= 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
by
by
by
by
by
by

Tell us what you think!

We'd like to ask you a few questions to help improve CodeCanyon.

Sure, take me to the survey