How to accept tips in WooCommerce
WooCommerce has no built-in tipping option, so you need custom development or a plugin. A code solution can collect a tip and add it as a cart fee, but a tipping plugin is quicker and safer for cart, checkout, tax, and reporting.
- 01Choose the tip rules
- 02Check your checkout layout
- 03Build the manual solution
- 04Install a tipping plugin
- 05Configure and test the total
- 06Publish the tipping option
What you need
- A WooCommerce store with cart and checkout enabled
- Administrator access to WordPress
- A clear tip policy, including whether tips are taxable and who receives them
- A staging site or recent backup
Choose the tip rules
Decide whether customers will choose fixed amounts, percentage buttons, a custom amount, or a combination. Also decide whether the tip should appear on the cart, checkout, or both, and whether it is optional.
Set a sensible minimum or maximum if you accept custom amounts. Confirm how tips are recorded and paid to staff before switching the feature on.
Check your checkout layout
Open Pages in WordPress and check whether your cart and checkout use the newer WooCommerce blocks or the traditional shortcode-based layout. This matters because some checkout extensions support only the shortcode layout; WooCommerce documents this limitation for its Checkout Add-ons extension.
Use a staging copy if possible. A tip field that appears visually but is not included in the order total is a payment problem, not just a design problem.
Build the manual solution
WooCommerce core does not provide a ready-made tip setting. A developer must add a checkout input, validate the submitted amount, preserve it through checkout updates, and add it to the cart as a fee. WooCommerce exposes woocommerce_cart_calculate_fees for adding cart fees, and those fees are recalculated rather than stored permanently in the cart.
Put custom code in a small site plugin, a child theme, or a snippets tool rather than the parent theme. The code also needs to save the tip against the order, show it in admin and customer emails, handle currency rounding, and decide whether the fee is taxable. This route is fine for a simple, developer-maintained store, but it is easy to break when checkout blocks, payment gateways, taxes, or AJAX checkout refreshes are involved.
Install a tipping plugin
For the fast route, install and activate a WooCommerce tipping plugin such as WPC Order Tip for WooCommerce. Upload its ZIP from Plugins → Add New → Upload Plugin, install it, and activate it.
Then open the plugin settings and enable tipping. Configure the display location, predefined amounts, percentage choices, custom amount option, label, and currency behaviour. Check that the plugin supports the cart or checkout layout your store uses before relying on it in production.
Configure and test the total
Show the tip option on the cart, checkout, or both. A typical configuration uses three percentage buttons plus a custom amount field, with wording such as “Leave a tip” and “Add tip”. Some WooCommerce tipping extensions add the selected amount as an order fee and provide tip reporting.
Test an order with no tip, each preset amount, a custom amount, a zero value, and an invalid value. Check the cart total, checkout total, payment gateway amount, order admin screen, emails, refunds, and exported order data. If the tip is duplicated after changing shipping or an address, the fee is being added without accounting for WooCommerce's repeated total calculations.
Publish the tipping option
Place a short explanation beside the field so customers know whether the tip goes to delivery staff, service staff, or the business. Keep tipping optional unless your local rules and customer communications clearly treat it as a service charge.
After publishing, monitor tip totals and order records for the first few days. If tips do not appear in the order, disappear after checkout refreshes, or are missing from the payment amount, disable the feature until the configuration or custom code is corrected.
Let WPC Order Tip for WooCommerce do it
Adds customizable tipping at cart and checkout, ideal for restaurants and delivery stores that need flexible tip amounts.
Sources
- woocommerce.com /document/woocommerce-checkout-add-ons/?utm_source=openai
- woocommerce.com /document/subscriptions/develop/recurring-cart-fees/?utm_sou…
- woocommerce.com /document/add-a-surcharge-to-cart-and-checkout-uses-fees-api…
- woocommerce.com /document/tipping-for-woocommerce/?utm_source=openai
- woocommerce.com /document/tipping-donation-at-cart-checkout/?utm_source=open…
- woocommerce.com /document/tip-pro-for-woocommerce/?utm_source=openai
Questions
- Can WooCommerce accept tips without a plugin?
- Not as a ready-made setting, because WooCommerce core does not include a customer-facing tipping field. A developer can create the field, validate it, save it to the order, and add the amount through the cart fee system, but that work must also account for checkout refreshes, taxes, payment gateways, emails, refunds, and reporting.
- Should the tip appear on the cart or checkout page?
- Show the tip where customers make the payment decision, usually checkout, and add the cart as well if customers commonly review their order there. Extensions can offer cart-only, checkout-only, or both locations. Avoid showing two separate active tip forms, because customers may add the tip twice.
- Can customers enter their own tip amount?
- Yes, if your tipping solution supports custom amounts. You can offer a text input alongside preset fixed amounts or percentage buttons. Validate the value on the server, reject negative or malformed amounts, round it to the store currency, and recalculate the order total before payment rather than trusting the browser value.
- Are WooCommerce tips taxable?
- It depends on your tax treatment and local rules, so do not assume that every tip should be taxable. Many tipping extensions include a taxable option, while a custom fee implementation must pass the correct tax setting when adding the fee. Ask your accountant or tax adviser, then test the resulting tax and order totals with your payment gateway.
- Why does my tip disappear at checkout?
- A tip commonly disappears because the value was stored only in the page or because the custom fee was not added again when WooCommerce recalculated the cart. Cart fees are non-persistent and must be attached during each total calculation. Checkout blocks and incompatible extensions can also prevent custom fields from working, so verify the checkout type and use a tipping extension that supports it.