Order Tip for WooCommerce

Description

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:

Live Preview

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.

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

Screenshots

  • Admin settings

  • Frontend Cart Page

  • Frontend Checkout Page

  • Custom tip

  • Frontend Thank You page

  • Backend Order displaying tip

Installation

  1. Upload and activate plugin in your WP installation
  2. Go to WooCommerce -> Settings -> Order Tip
  3. Configure the plugin and save the settings
  4. Check the frontend cart page and checkout page

Reviews

སྤྱི་ཟླ་དང་པ། 31, 2021
Super plugin très bien.
སྤྱི་ཟླ་དང་པ། 21, 2021
So this is a great plugin and does exactly what it says it will; however, this plugin is NOT compatible with WooCommerce subscriptions, and if you run that plugin this will cause issues for you. The stacktrace that we got on subscription RENEWALS was: 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.
སྤྱི་ཟླ་བཅུ་གཉིས་པ། 10, 2020
Nice plugin, but when i select the tip the plugin recharge all labels like name, adress, phone, etc and i need to write again this info, could you help me please because in the video that you uploaded dont happend my problem.
སྤྱི་ཟླ་དགུ་པ། 30, 2020
A very lightweight and effective way to simply add the ability to add a tip, with no need of excessive and unnecessary complexity! Thanks!
སྤྱི་ཟླ་དགུ་པ། 22, 2020
Very simple to use, but offers sufficient options to make it perfect for adding tips to restaurant orders on checkout.
Read all 7 reviews

Contributors & Developers

“Order Tip for WooCommerce” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.0.0

Released 18 August 2020

  • First stable version

1.0.1

Released 30 August 2020

  • Applied fix for calculating the tip amount

1.1

Released 25 January 2021

  • Added a new option for selecting more than one position of the tip form on the cart page
  • Added a new option for selecting more than one position of the tip form on the checkout page
  • Added a new option to change the Tip name. You can use Donation or any other name
  • Added a new option to set the label of the Custom Tip button
  • Added a new option to set the label of the Custom Tip Apply Tip button
  • Added a new option to set the placeholder of the Custom Tip field
  • Added a new option to set the label of the Custom Tip Remove Tip button
  • Added a new option to set the label of the Cash Tip button label
  • Added a new option to set the prompt message for when a tip is removed
  • Added a shortcode [order_tip_form] that would enable displaying the tip form on any post, page, sidebar, etc.
  • Added new filters to allow customization of the labels of the form’s labels and placeholders. See more in the plugin’s description
  • Added reports under WooCommerce -> Reports -> tab Order Tip. Reports can be filtered by date range
  • Change the process of applying the tip. It no longer refreshes the page. It uses the update_checkout jQuery trigger instead
  • Added partial Dutch translations thanks to Roel Mehlkopf (@mhlkpf)

1.1.1

Released 30 January 2021

  • Added backward compatibility with 1.0.1 to display tips in the reports for the orders placed before v. 1.1
  • Added functionality for CSV exports of tip reports
  • Added version 1.1 for Dutch translations
  • Fixed dates not being updated when a search is performed on the Reports page and a custom date (From/To) is selected

1.1.2

Released 07 February 2021

  • Added a fix for creating an order from the backend. The plugin was crashing the website when a new order was added manually from the backend
  • Added capability for decimal tip amount
  • Added a filter to allow changing the reports order creation date/time in the Reports section in the backend
  • Renamed the reports Name column to Type. It refers to the type of tip
  • Added the customer name in the reports