DocumentationRecipesNo fee on orders above a threshold
No fee on orders above a thresholdPro
To stop charging a payment fee above a basket size, put the threshold on the fee itself. A cash-on-delivery fee with the condition "cart total at most 1,999.99" charges below the line and nothing above it. Pro.
The rule
One rule on Cash on delivery:
| Fee label | Amount | Conditions |
|---|---|---|
| Cash on delivery fee | 2.5 % + 0.50, min 1, max 8 | Cart total at most 1,999.99 |
Why not a zero rule
The obvious shape is two rules — a “fixed 0” rule above your real one, waiting to catch large baskets. That does not work. A rule with no fixed amount and no percentage is not a fee, so the plugin skips it without ever reading its conditions, and the rule below it charges as normal.
Say when the fee applies instead. A rule whose conditions do not match charges nothing, and when no rule matches, the order gets no fee line at all.
What the customer sees
At 1,999: the fee line, as usual. At 2,000 and up: no fee line at all — not a 0.00 row, nothing.
The cart total the condition reads is the subtotal as displayed, including or excluding tax the way your store shows prices, so a store that shows prices with tax should set the threshold with tax. It is the subtotal before coupons and without shipping.
Variations
- Two thresholds. A reduced fee between 1,000 and 2,000: two rules, narrowest first — cart total at most 999.99 → the full fee; cart total at most 1,999.99 → 1 %. Nothing matches above 2,000, so nothing is charged.
- Guests keep paying. Put a rule above the others: your full fee with user role excludes Customer. A guest has no roles, so it matches them whatever their basket.
- Not for pickup. Add shipping method excludes Local pickup to the charging rule, so a pickup order never gets the fee at all.
- The same on card. Repeat the rule on the card gateway; rules belong to a method.
The fee tiers page explains the ordering, and conditions lists everything a rule can test.
This is Pro. Conditions are what let one fee rule know when it does not apply.
See pricing