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.

ProUpdated for 3.0.0

The rule

One rule on Cash on delivery:

Fee labelAmountConditions
Cash on delivery fee2.5 % + 0.50, min 1, max 8Cart 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