Tip / Gratuity at Checkout — Complete Guide
Install, configure and use the optional tip (percentage, fixed or custom amount) at the cart and checkout for PrestaShop 8 and 9.
Overview
The Tip / Gratuity at Checkout module (dftip) adds an “Add a tip” block to your store’s cart page, letting the customer leave an optional tip: a percentage, a fixed amount or a custom amount. The tip is then integrated natively into the order, with no core override of PrestaShop. Ideal for artisans, makers and food businesses.
The tip is carried by a dedicated order line whose price is fixed for the current cart via a cart-scoped specific_price. It therefore flows cleanly into the total paid, VAT, invoice and any credit slips — exactly the mechanism PrestaShop uses for custom prices when editing an order.
Compatibility
- PrestaShop 8.0 to 9.x
- PHP 7.4 to 8.3
- Single store and multistore
- 5 languages: FR, EN, ES, DE, IT
- Classic theme and custom themes
- No dependency (no Composer, no framework)
Installation
- In the back office, open Modules > Module Manager.
- Click Upload a module and select the
dftip.zipfile. - Once installed, click Configure.
On installation, the module registers its hooks, creates a hidden virtual “Tip” product (out of catalog and search, no shipping) used to carry the tip amount, and applies its default settings: percentage tip 5, 10, 15%, custom amount allowed, tax-free.
Configuration
All settings are on the module’s configuration page.
- Enable the module: shows or hides the tip block.
- Title and subtitle: block texts, customizable and translatable in each language.
- Tip type: Percentage, Fixed amount or Both.
- Offered percentages: comma-separated list, for example
5,10,15. - Offered fixed amounts: comma-separated list in the default currency, for example
1,2,5. - Percentage base: products total incl. tax or excl. tax.
- Allow a custom amount: adds a free-entry field.
- Custom amount minimum / maximum: bounds applied to the custom amount.
- Tax applied to the tip: No tax by default; you can select a tax rule group if your case requires it.
- Show the block on the cart page: enables the selector on the cart page.
The title and subtitle are multilingual fields: pick each language in the field selector to adapt the text. Default values are provided in all five languages on installation.
How it works
How the tip is added
When the customer chooses a tip, the module stores their choice (type and value) for the current cart, adds the “Tip” line to the cart and sets its exact price using a cart-scoped specific_price. The operation runs via Ajax, with no reload, and the total updates immediately.
Percentage recalculated automatically
For a percentage tip, the amount follows the cart contents: if the customer adds or removes a product, the module recalculates the amount and resynchronizes the line before payment. The base (products total incl. or excl. tax) is set in the configuration and always excludes the tip line itself as well as shipping fees.
Native integration into the order
Because the tip is a real cart line, it is included in the amount actually paid and captured in the order at validation. It appears cleanly in the invoice, accounting and any credit slips, with no core override.
Tip VAT
Since a voluntary tip is generally outside the scope of VAT, the line ships tax-free by default. If you attach a tax rule group to the tip, the entered or computed amount is treated as a tax-excluded base.
The “Tip” product created by the module must not be deleted or made visible in the catalog: it only carries the tip amount. It is hidden from search and listings and stays shipping-free.
Removing the tip
The customer can remove their tip at any time via the “No tip” option. If they manually remove the “Tip” line from the cart, the module also clears the stored choice so it is not re-added.
FAQ and troubleshooting
The tip block does not appear on the cart page
Check that the module is enabled and that “Show the block on the cart page” is ticked. Then clear the PrestaShop cache (Advanced Parameters > Performance) and, during testing, disable Combine/Compress (CCC). The block appears when the cart contains at least one item.
The percentage tip does not update when I change the cart
Recalculation happens when the cart is saved and when the cart or checkout page loads. If you change the cart via a theme Ajax action, reload the page: the amount will be resynchronized before payment.
Does the tip appear on the invoice?
Yes. The tip is a full order line: it appears in the order detail and on the invoice, and it is taken into account in credit slips.
Can I apply VAT to the tip?
Yes, by selecting a tax rule group in the configuration. By default the tip is tax-free, in line with the nature of a voluntary tip.
Is it compatible with PrestaShop 9 and multistore?
Yes. The module is compatible with PrestaShop 8 and 9, in single store as well as multistore, and multilingual, with no Composer or framework dependency.