Wallet SystemWallet System
Buy Now
View Demo
  • Getting Started

    • Introduction
    • Quick Start
    • Features
    • Installation
    • First-Time Setup
    • Admin Tour
  • Wallet Core

    • Core Wallet
    • Wallet Payment Gateway
    • Recharge / Top-up
    • Wallet Transfer
    • My Wallet Page
    • Shortcodes
  • Earn & Reward

    • Cashback Engine
    • Referral Program
    • Multilevel Referral
    • Daily Login Reward
    • Invite Friends
    • Deposit / Top-up Bonus
  • Spend & Payout

    • Checkout Discount
    • Checkout Restriction
    • Withdrawal
    • PayPal Payout
    • Stripe Payout
    • Refund to Wallet
    • Buy Now Pay Later
  • Identity & Mobile

    • KYC
    • QR Code Payments
  • Wallet Central

    • Overview
    • Endpoint & Routing
    • CTA Discovery
    • Home Dashboard
    • Add Funds
    • Withdraw
    • Withdrawals List
    • Send Money
    • QR Pay
    • Payment Requests
    • Refer & Earn
    • Transactions
    • Settings
    • KYC Flow
    • Architecture
    • Tweaks & Responsive
    • Security
    • Admin Controls
  • Admin Tools

    • Admin Settings (index)
    • Bulk Credit / Debit
    • Analytics Dashboard
  • Settings Tabs

    • General
    • Recharge
    • Checkout
    • Withdrawal
    • Payout (PayPal/Stripe)
    • KYC
    • Cashback
    • Referral
    • Multilevel
    • BNPL
    • QR Pay
    • Notifications
    • Wallet Central
    • Integrations
    • API Keys
  • Notifications

    • Email Notifications
    • SMS Notifications
  • Developer

    • REST API
    • Filters & Hooks
  • Help

    • Troubleshooting
    • FAQ
    • Glossary
Support
Buy Now
View Demo
  • Getting Started

    • Introduction
    • Quick Start
    • Features
    • Installation
    • First-Time Setup
    • Admin Tour
  • Wallet Core

    • Core Wallet
    • Wallet Payment Gateway
    • Recharge / Top-up
    • Wallet Transfer
    • My Wallet Page
    • Shortcodes
  • Earn & Reward

    • Cashback Engine
    • Referral Program
    • Multilevel Referral
    • Daily Login Reward
    • Invite Friends
    • Deposit / Top-up Bonus
  • Spend & Payout

    • Checkout Discount
    • Checkout Restriction
    • Withdrawal
    • PayPal Payout
    • Stripe Payout
    • Refund to Wallet
    • Buy Now Pay Later
  • Identity & Mobile

    • KYC
    • QR Code Payments
  • Wallet Central

    • Overview
    • Endpoint & Routing
    • CTA Discovery
    • Home Dashboard
    • Add Funds
    • Withdraw
    • Withdrawals List
    • Send Money
    • QR Pay
    • Payment Requests
    • Refer & Earn
    • Transactions
    • Settings
    • KYC Flow
    • Architecture
    • Tweaks & Responsive
    • Security
    • Admin Controls
  • Admin Tools

    • Admin Settings (index)
    • Bulk Credit / Debit
    • Analytics Dashboard
  • Settings Tabs

    • General
    • Recharge
    • Checkout
    • Withdrawal
    • Payout (PayPal/Stripe)
    • KYC
    • Cashback
    • Referral
    • Multilevel
    • BNPL
    • QR Pay
    • Notifications
    • Wallet Central
    • Integrations
    • API Keys
  • Notifications

    • Email Notifications
    • SMS Notifications
  • Developer

    • REST API
    • Filters & Hooks
  • Help

    • Troubleshooting
    • FAQ
    • Glossary
Support
  • Getting Started

    • Introduction
    • Quick Start — Wallet Live in 5 Minutes
    • Features
    • Installation
    • First-Time Setup
    • Admin Tour
  • Wallet Core

    • Core Wallet
    • Wallet Payment Gateway
    • Recharge / Top-up
    • Wallet Transfer
    • My Wallet Page
    • Shortcodes
  • Earn & Reward

    • Cashback Engine
    • Referral Program
    • Multilevel Referral
    • Daily Login Reward
    • Invite Friends
    • Deposit / Top-up Bonus
  • Spend & Payout

    • Checkout Discount
    • Checkout Restriction
    • Withdrawal
    • PayPal Payout
    • Stripe Payout
    • Refund to Wallet
    • Buy Now Pay Later (BNPL)
  • Identity & Mobile

    • KYC (Know Your Customer)
    • QR Code Payments
  • Wallet Central

    • Wallet Central Overview
    • Endpoint & Routing
    • CTA Discovery
    • Home Dashboard
    • Add Funds
    • Withdraw
    • Withdrawals List + Detail
    • Send Money
    • QR Pay
    • Payment Requests
    • Refer & Earn
    • Transactions
    • Settings (customer)
    • KYC Flow
    • Architecture
    • Tweaks & Responsive
    • Security
    • Admin Controls
  • Admin Tools

    • Admin Settings
    • Bulk Credit / Debit
    • Analytics Dashboard
  • Settings Tabs

    • General Settings
    • Recharge Settings
    • Checkout Settings
    • Withdrawal Settings
    • Payout Settings (PayPal + Stripe)
    • KYC Settings
    • Cashback Settings
    • Referral Settings
    • Multilevel Settings
    • BNPL Settings
    • QR Pay Settings
    • Notifications Settings
    • Wallet Central Settings
    • Third-Party Integrations
    • API Keys
  • Notifications

    • Email Notifications
    • SMS Notifications
  • Developer

    • REST API
    • Filters & Hooks
  • Help

    • Troubleshooting
    • FAQ
    • Glossary

Checkout Restriction

Stop customers from paying with wallet on specific products or specific cart conditions.

Setting up?

Skip to Checkout Settings for the step-by-step admin tab walkthrough (gateway + discount + restriction in one page).

What It Does

ForMeans
CustomerWallet just doesn't appear at checkout when restrictions apply. Other gateways (card, COD) still work
AdminPer-product checkbox + global "no wallet on sale items" toggle. Useful for vendor-restricted SKUs, deposits, clearance items

Advanced Checkout Restrictions admin settings — global flags including disable-on-sale

Per-Product Block

Best for individual SKUs.

  1. Products → [edit product] → Inventory tab
  2. Tick Exclude wallet payment
  3. Save

When any line item in the cart has this flag, the wallet gateway is hidden at checkout.

Variable products

The parent product's flag covers all variations. To exclude only specific variations, set the field at the variation level — variation flag wins.

Global "No Wallet on Sale Items"

Use this when you don't want store credit subsidising clearance prices.

Wallet → Settings → Checkout Restriction → Disable on sale items → ON.

When ON: any cart containing at least one sale-priced product hides the wallet gateway. Honours WC scheduled sale dates.

Common Scenarios

Block wallet on a single high-value SKU

Open the product → Inventory → Exclude wallet payment → Save. Done.

Block wallet on all clearance

Toggle "Disable on sale items" → ON in admin settings. WC's is_on_sale() flag drives the decision.

Allow wallet on sale items in some categories only

Use a custom filter (see dev section) — restrict by category, not just by sale flag.

Block wallet for specific user roles

Wholesalers / B2B accounts shouldn't use wallet? Filter by role (see dev section).

Block wallet for specific countries

Geo-restrict via the customer's billing country (see dev section).

How It Combines With KYC

Order of checksWhat's checked
1KYC gate (if wallet_usage is in required features)
2Per-product exclude flag
3Global "disable on sale items"
4Zero balance + "Show on zero" OFF
5Otherwise → show

First fail short-circuits — gateway hides.

When Something Goes Wrong

ProblemFix
Wallet visible despite excluded productConfirm the meta is yes (not 1 or true); clear cart cache; check variation flag
Sale-item check missingSale dates expired? $product->is_on_sale() returns false for expired sales
Gateway hidden for everyoneA custom filter is returning false — check your custom code
KYC + restriction conflictResolve KYC first; restriction filters apply only when gateway is otherwise allowed
For developers — extending the visibility filter

Per-user block

add_filter( 'wkwc_wallet_show_method_on_checkout', function( $show ) {
    if ( get_user_meta( get_current_user_id(), '_wkwp_wallet_blocked', true ) === 'yes' ) {
        return false;
    }
    return $show;
} );

Per-role block

add_filter( 'wkwc_wallet_show_method_on_checkout', function( $show ) {
    $user = wp_get_current_user();
    if ( in_array( 'wholesale_no_wallet', (array) $user->roles, true ) ) {
        return false;
    }
    return $show;
} );

Per-country block

add_filter( 'wkwc_wallet_show_method_on_checkout', function( $show ) {
    if ( WC()->customer->get_billing_country() === 'XX' ) {
        return false;
    }
    return $show;
} );

Hooks

HookTypeWhen
wkwc_wallet_show_method_on_checkoutfiltergateway visibility decision
wkwp_wallet_excluded_product_in_cartactionwhen an excluded product detected
wkwp_wallet_disable_on_sale_activefiltermutate the global toggle decision per cart

Related

  • Wallet Payment Gateway
  • Checkout Discount
  • KYC
Prev
Checkout Discount
Next
Withdrawal