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

Buy Now Pay Later (BNPL)

Let approved customers check out using the wallet gateway even when their balance can't cover the order. The shortfall becomes debt; auto-deducted from any future wallet credit.

Setting up?

Skip to BNPL Settings for the step-by-step admin tab walkthrough (eligibility mode, debt cap, repayment days, interest).

Pilot feature

BNPL is the highest-risk feature in the plugin. Roll it out to a small whitelist first. Pair with KYC + transaction limits.

What It Does

ForMeans
CustomerCheckout normally even at zero balance. Repay later from any wallet credit (cashback, refund, top-up)
AdminOptional revenue stream from interest. Hard caps per customer. Whitelist or KYC-gated. Full audit trail

How Customers See It

When the customer picks Pay with Wallet at checkout and balance is short:

  • Eligible customer → checkout proceeds. Wallet drops to 0; shortfall recorded as debt
  • Not eligible → standard "insufficient balance" error → prompted to top up or split-pay

A later visit to My Wallet shows an Outstanding card with debt rows + a Repay button per row.

The hero card and recent activity reflect the running balance + every BNPL repayment as a row:

Credit-card hero on My Wallet — balance + masked wallet ID

Recent activity card — BNPL repayments show as iconised debit rows alongside credits and refunds

Setup

Wallet → Settings → BNPL

BNPL admin settings — enable, eligibility mode, debt cap, repayment days, interest

SettingDefaultWhat it does
EnableOFFglobal toggle
Eligibility modewhitelisthow customers get into the BNPL pool
Eligible usersemptythe whitelist (used in whitelist mode)
Eligible rolesemptyrole list (used in role mode)
Max debt per user1000hard cap so you don't over-extend
Min order to qualify100small carts skip BNPL
Repayment days30window before "overdue"
Interest typenonenone / fixed / percent
Interest amount0value when interest is on
Grace days before interest7days past due before interest accrues

Eligibility Modes

ModeLogic
whitelistonly listed users can use BNPL
roleany user with a listed role
all_kyc_approvedany KYC-approved customer

Plus all modes also require:

  • Cart total ≥ "min order to qualify"
  • Existing debt + new shortfall ≤ "max debt per user"

Repayment

Two ways debt gets paid down:

Auto-deduct (default)

Any wallet credit (cashback, top-up, refund, transfer received) automatically applies to the oldest debt first. No customer action needed.

If the customer wants to opt out, toggle _wkwp_bnpl_auto_deduct per-user — the plugin then waits for manual repayment.

Manual repayment

Customer's My Wallet → BNPL panel → per-row Repay button → typed amount → submits → wallet debited, debt reduced.

Interest

Optional. Computed only on view (not pre-calculated):

days_late = today - (due_date + grace_days_before_interest)
interest  =
  none    → 0
  fixed   → flat amount per overdue row
  percent → principal × pct/100 × (days_late / 30)

Overdue Handling

Daily cron marks rows where today > due_date as overdue. Customer gets a reminder email per debt (rate-limited to one per week).

Admin can write off a debt manually from the row drawer (one-click → outstanding → 0).

Risk Controls (recommended)

ControlWhere
Require KYCadd wallet_usage to KYC required features
Hard cap per customer"Max debt per user"
Whitelist onlyeligibility mode = whitelist + manual additions
Block withdrawal during outstandingfilter the withdrawal-eligible flag

Common Scenarios

Pilot with 5 trusted customers

Whitelist mode + manually add 5 user IDs + low max-debt cap (500). Watch for a month, expand if healthy.

Convert all KYC-approved customers

Eligibility mode = all_kyc_approved. New approvals automatically join the BNPL pool.

Charge late-payment fee only

Interest type = fixed, amount = 50, grace days = 7. Customer hit with flat ₹50 each week past due.

Write off a debt for goodwill

Open the row in admin → "Write off" button → outstanding → 0, status → repaid, audit row written with admin name.

When Something Goes Wrong

ProblemFix
Eligible customer not offered BNPLCart below min; existing debt + new amount > cap; KYC gate active
Auto-deduct not firingCustomer opted out of auto-deduct; or hook order conflict
Interest looks wrongGrace days config; interest type config
Overdue email sent more than once a weekBuilt-in rate-limit is once per debt per week — third-party hook may be duplicating
For developers — hooks + reporting

Hooks

HookTypeWhen
wkwp_bnpl_eligiblefiltergate eligibility per cart
wkwp_bnpl_debt_createdactionnew debt row written
wkwp_bnpl_repaidactiona debt hits zero
wkwp_bnpl_overdueactionrow marked overdue
wkwp_bnpl_interest_calculatedfiltermutate interest amount per row
wkwp_bnpl_max_debt_per_userfilterper-user override

Reporting

KPISource
Total outstandingsum across non-repaid debt rows
Overdue totalsame with status = overdue
Customers in debtdistinct user count
Avg. days to repaymean of repaid_at - created_at

Surface on the Wallet Dashboard once BNPL is enabled.

Compatibility

  • Subscriptions — renewal orders can use BNPL
  • Refund-to-wallet — refunds first repay outstanding BNPL, surplus credits balance
  • Withdrawal — KYC gate stops customers cashing out fresh credit while debt outstanding (configurable)

Related

  • Wallet Payment Gateway
  • KYC
  • Withdrawal
  • Filters & Hooks
Prev
Refund to Wallet