Wallet Payment Gateway
A WooCommerce payment method that lets customers pay any order in full — or in part — with their wallet balance.
Setting up?
Skip to Checkout Settings for the step-by-step setup of the gateway, discount, and per-product / sale-item exclusion.
What It Does
| For | Means |
|---|---|
| Customer | Picks "Pay with Wallet" at checkout. Balance covers the order; if balance is short, can split with any other gateway |
| Admin | One more payment method in the WC checkout list. Refunds go back to wallet. Works with all WC plugins (Subscriptions, Dokan, etc.) |
How Customers See It
At checkout, "Pay with Wallet" appears as a radio option when:
- Gateway is enabled
- Customer has a balance (or "Show on zero balance" is on)
- No excluded products are in the cart
- Customer's KYC is approved (only if you've gated it)
If their balance covers the cart total → one click → wallet debited → order confirmed.
If balance is short → checkout offers a split option:
Pay ₹500.00 from wallet
+ ₹250.00 from [Stripe / PayPal / COD ▼]
= ₹750.00 total
Setup
WooCommerce → Settings → Payments → Wallet → Manage

| Field | Recommendation |
|---|---|
| Enable | ON |
| Title | Pay with Wallet |
| Description | Short hint shown under the radio (Use your wallet balance — fast, no card needed.) |
| Show on zero balance | OFF (cleaner UX) |
| Min usable | leave blank for no minimum |
| Max usable | leave blank to allow full balance |
| Allow split payment | ON (lets short balances still go through) |
| Order status after pay | processing |
| Refund back to wallet | ON |
Save.
Common Scenarios
Discount when paying with wallet
Reward customers with a 5% discount whenever they choose the wallet gateway. Configure under Wallet → Settings → Checkout Discount. See Checkout Discount.
Block wallet on specific products
Per-product "Exclude wallet" checkbox on the product Inventory tab — blocks the wallet gateway whenever that product is in the cart. See Checkout Restriction.
Block wallet on sale items
Global toggle. Useful when you don't want store credit subsidising clearance items. See Checkout Restriction.
Refund a wallet-paid order back to original card instead
Per-order override on the order edit screen, or toggle "Refund back to wallet" OFF in gateway settings.
Refund Back to Wallet
When you refund a wallet-paid order in WooCommerce:
- WC fires the standard refund hook
- Plugin credits the customer's wallet by the refund amount
- Audit row is written with order + refund IDs
- Customer email fires if Wallet credit notifications are on
To send the refund back to the original card / PayPal, toggle off "Refund back to wallet" in the gateway settings.
Compatibility
| Plugin | Behaviour |
|---|---|
| WC Subscriptions | Renewal orders charge wallet first, fall through to stored card on shortfall |
| Dokan / WCFM | Vendor commissions settle to vendor wallet; admin commission to admin wallet |
| WC Gift Cards / YITH GC | Gift card discount applied first, then wallet pays the balance |
| RMA Pro | Refund routes through "Refund to wallet" instead of original method |
| Cart fees / coupons | Applied before wallet calculation — wallet pays the post-discount cart total |
Enable each plugin bridge under Integrations Settings.
When Something Goes Wrong
| Problem | Fix |
|---|---|
| Gateway not in checkout | Enabled? Customer balance > 0 (or "Show on zero" ON)? Excluded product in cart? KYC gate active? |
Insufficient balance on submit | Allow split payment, or top up |
| Refund didn't credit wallet | "Refund back to wallet" toggle OFF, or original order wasn't paid via wallet |
| Split payment shows but submit fails | Secondary gateway can't accept partial payments. Use COD or Direct Bank Transfer for split |
For developers — extending visibility & split logic
Visibility filter
add_filter( 'wkwc_wallet_show_method_on_checkout', function( $show, $cart ) {
// your custom rule
return $show;
}, 10, 2 );
Split payment hooks
| Hook | Type | When |
|---|---|---|
wkwp_wallet_split_payment_amount | filter | adjust wallet portion in split |
wkwp_wallet_split_rollback | action | secondary gateway failure rollback |
wkwc_wallet_refund_to_wallet | filter | route refund to wallet vs original method |
Resolution sequence
- KYC gate (if
wallet_usagerequired) → fail returns false - Per-product
_wkwp_exclude_wallet→ fail returns false - Global "disable on sale items" + sale item present → fail returns false
- Zero balance + "Show on zero" OFF → fail returns false
- Otherwise → show
BNPL mode
When BNPL is enabled and the customer is eligible, the gateway accepts the order even at insufficient balance. Shortfall recorded as debt. See Buy Now Pay Later.
