





Order Tip for WooCommerce is a plugin that allows customers to add a tip or donation to a WooCommerce order. The tip is added under the form of a WooCommerce fee.
It allows the tip to be a percentage of the order total or a fixed custom amount. Cash tip is also available which marks the tip as 0 in value, but you should expect a tip on the delivery of your products or on the pickup of the order by the customer.
There is also an option for adding a custom tip which brings up a text field where the customer is able to type in a custom amount and which is subsequently added as a fixed amount to the order.
The tip can also be set to be taxed or not as per your current Tax options set in WooCommerce. It features 6 standard tip rates (5, 10, 15, 20, 25, 30) that can be extended through a filter – see below under the Developers section.
It features various configuration options in the WooCommerce Settings panel under the tab Order Tip.
The plugin’s backend is translated in German, Swiss German, Spanish, French, Italian, Romanian.
Dutch language support was added, thanks to Roel Mehlkopf (@mhlkpf).
Check out a demo here:
Check out a video on installing and using the plugin
Important Notes
The plugin works out of the box, with no coding skills required on basically any theme. However, it uses JavaScript for adding the tip to the order. If for some reason it doesn’t work as expected, please check your browser’s console for any JS errors or drop a line here in the Support tab providing a link to your website.
Websites using the Astra or Neve theme should avoid using the “After customer details position” to display the tip form. It may break the layout causing the order review sidebar to fall under the customer details one.
Developers
There are a couple of filters you can hook into should you need to extend or edit the core functionality:
- wc_order_tip_title – takes in 1 string variable which holds the title of the form which appears before the form;
- wc_order_tip_rates – takes in 1 array variable which holds the values of the predefined standard tip rates. You should return a simple array containing the values you wish to add. Eg: array( 10, 15, 30 );
And a few other filters for changing various strings dynamically, from a different plugin or the active theme:
- wc_order_tip_title – changes the tip form title;
- wc_order_tip_cash_label – changes the Cash tip button label;
- wc_order_tip_custom_label – changes the Custom tip button label;
- wc_order_tip_custom_enter_tip_placeholder – changes the Custom tip field placeholder;
- wc_order_tip_display_form – prevents the tip form from being displayed on the page.
And one filter for the backend:
- wc_order_tip_reports_date_time_format – allows changing the date format of the reports order created date/time. The format needs to comply with the PHP date format. See more here
Great solution, strange change strategy..
By arberdesign on September 14, 2023
Why would you change critical variable names...? they've added 0 development value, it was much more dynamic before, now you've locked us into an unnecessary naming convention....
Broke shop operations for over 2 hours...had to turn it off.
I assume "enter_tip_placeholder" became "wc_order_tip_custom_enter_tip_placeholder" ?
Amazing but could use conditionals
By miladesignco on June 30, 2023
This is an amazing plugin, but it would be even better if we had the option of ONLY showing this when a client selects Flat-rate (delivery) as a shipping option. Right now it displays even when it's a Local Pickup, and the tips are only needed for the driver doing the deliveries.
Anyone know of a PHP conditional statement that allows only displaying on the Checkout page if the Flat-rate delivery is selected?
Tip report is not work
By tommynguyen0710 on November 19, 2022
WOW! This is probably the best Free Plugin ever!
By Website Dude (modernscarface) on September 24, 2022
Beautiful solution, so easy to setup
By airflo on June 20, 2021
Simple and really useful.
By simonperdu on April 14, 2021
Super !
By ibzh on January 31, 2021
Good plugin... but
By snyne on January 21, 2021
2021-01-20T05:30:47+00:00 CRITICAL Uncaught Error: Call to a member function __unset() on null in /mnt/volume_nyc1_01/wp-content/plugins/order-tip-woo/frontend/controllers/main.class.php:124
Stack trace:
#0 /var/www/site//public_html/wp-includes/class-wp-hook.php(289): WOO_Order_Tip_Main->remove_tip_on_order_placed()
#1 /var/www/site//public_html/wp-includes/class-wp-hook.php(311): WP_Hook->apply_filters()
#2 /var/www/site/public_html/wp-includes/plugin.php(484): WP_Hook->do_action()
#3 /mnt/volume_nyc1_01/wp-content/plugins/woocommerce/includes/data-stores/class-wc-order-data-store-cpt.php(88): do_action()
#4 /mnt/volume_nyc1_01/wp-content/plugins/woocommerce/includes/class-wc-data-store.php(169): WC_Order_Data_Store_CPT->create()
#5 /mnt/volume_nyc1_01/wp-content/plugins/woocommerce/includes/abstracts/abstract-wc-order.php(187): WC_Data_Store->create()
#6 /mnt/volume_nyc1_01/wp-content/plugins/woocommerce/includes/class-wc-order.php(220): WC_Abstract_Order->save()
#7 /mnt/volume_nyc1_01/wp-content/plugins/wo in /mnt/volume_nyc1_01/wp-content/plugins/order-tip-woo/frontend/controllers/main.class.php on line 124
This lost us a decent chunk of monthly revenue, since the failure itself didn't generate any emails saying there was a failure. Luckily we had a user reach out to us about this issue.
In general I think that the steps to reproduce *might* be.
Install subscription plugin (official woocommerce one),
Set up subscription product
Buy product and have active subscription
Install order-tip-woo
Set up availability of tipping on orders.
Have renewal pop up, since it was a null value on the initial order, it isn't included in the renewal.
Null pointer fails the tx.
So, like I said, if you have a simple shop and don't use memberships / subs, this will work exactly as designed. Help
By jrosselotl on December 10, 2020
Simple and Perfect
By gislainelilo on November 18, 2020