Checkout Discount
Give customers a discount at checkout whenever they choose to pay with wallet. Pure incentive — drives wallet adoption.
Setting up?
Skip to Checkout Settings for the step-by-step admin tab walkthrough (gateway + discount + restriction in one page).
What It Does
| For | Means |
|---|---|
| Customer | Pick wallet → see a "Save ₹X" line at checkout. Pay less |
| Admin | One-line marketing tool. Combines with cashback + coupons |

How Customers See It
When wallet is the chosen payment method, a discount line appears at checkout:
Subtotal ₹1,000.00
Wallet payment discount -₹50.00
Total ₹950.00
Switching to another gateway → discount disappears. Live, no page reload.
Setup
Wallet → Settings → Checkout Discount
| Setting | Default | What it does |
|---|---|---|
| Enable | OFF | global toggle |
| Discount type | none | none / fixed / percent |
| Discount amount | 0 | value (currency for fixed, % for percent) |
| Min cart total | empty | discount only fires above this cart total |
| Max cap | empty | optional ceiling on the discount |
| Label | Wallet payment discount | shown on the cart fee line |
Common Setups
5% off whenever wallet is the method
| Field | Value |
|---|---|
| Type | percent |
| Amount | 5 |
| Min cart | (blank) |
| Max cap | (blank) |
Flat ₹100 off, only on carts ≥ ₹2000
| Field | Value |
|---|---|
| Type | fixed |
| Amount | 100 |
| Min cart | 2000 |
10% off but cap at ₹500
| Field | Value |
|---|---|
| Type | percent |
| Amount | 10 |
| Max cap | 500 |
Combination Rules
| Combo | Behaviour |
|---|---|
| With WC coupon | both apply (coupon first, then discount on the discounted total) |
| With cashback | both apply (cashback computed on the post-discount subtotal) |
| With BNPL | discount applies regardless of available balance |
| With excluded products | wallet gateway hides → so the discount also hides automatically |
Live Preview at Checkout
A small green ribbon next to the wallet radio reads "Save ₹50 by paying with wallet" — only when the discount applies given the current cart state. Disappears when customer switches gateway.
Reporting
The discount appears as a fee line on every order. Filter the WC Orders list by payment method = wallet, sum the discount fees for "total wallet incentive issued this month".
When Something Goes Wrong
| Problem | Fix |
|---|---|
| Discount not applied | Wallet method actually selected? Cart above min? Plugin enabled? |
| Discount applied with non-wallet method | Should not — chosen method check. Inspect the cart's chosen payment method |
| Negative fee not subtracted from total | Theme or other plugin cancelling fees. Disable conflicting fee plugins |
| Discount + coupon stacked too aggressively | Use the eligible filter to gate when a coupon is already applied (see dev section) |
For developers — hooks
Hooks
| Hook | Type | When |
|---|---|---|
wkwp_checkout_discount_amount | filter | mutate computed discount amount |
wkwp_checkout_discount_label | filter | translate / rebrand the fee label |
wkwp_checkout_discount_eligible | filter | gate the discount per cart |
Skip when coupon present
add_filter( 'wkwp_checkout_discount_eligible', function( $eligible, $cart ) {
if ( ! empty( $cart->get_applied_coupons() ) ) {
return false;
}
return $eligible;
}, 10, 2 );
