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

Payment Requests

Inbox + outbox of payment requests between customers. "I ask you to send me money" — opposite of a transfer.

Transfer vs Request

  • Transfer = "I send money to you" (sender pushes)
  • Payment request = "I ask you to send money to me" (recipient pulls)

What Customers See

┌──────────────────────────────────────┐
│  H1: Payment requests                │
│  Sub: Incoming + outgoing            │
├──────────────────────────────────────┤
│  [ Received (3) ] [ Sent (2) ]      │
└──────────────────────────────────────┘

URL: /wallet-central/requests/?tab=received (default) or ?tab=sent.

The right-rail card on Wallet Central home shows up to 5 incoming pending requests with inline Approve / Decline buttons:

Wallet Central right rail — pending requests, saved payees, linked accounts, daily limits, refundable orders

The admin-side queue lives at Wallet → Fund Requests:

Fund Requests admin queue — incoming requests with Approve / Decline

Received Tab

Incoming requests where this customer is the would-be sender.

┌──────────────────────────────────────────────┐
│  Avatar  Alice asks for ₹500                 │
│          "Lunch split"                       │
│          [ Approve ] [ Decline ]             │
│          [pending pill]                      │
├──────────────────────────────────────────────┤
│  Avatar  Bob asks for ₹100                   │
│          "Coffee"                             │
│          [approved pill]                     │
└──────────────────────────────────────────────┘

Approve

Click → confirmation dialog with summary:

You'll send ₹500 to Alice.
Note: "Lunch split"
Fee (1%): ₹5
Total debit: ₹505
[ Confirm ] [ Cancel ]

Confirm → standard transfer flow with OTP if amount > threshold. On success row state → approved, both ledger rows written, both parties notified.

Decline

Click → small confirmation. State → declined. Requester gets "Payment request declined" email. Wallet untouched.

Sent Tab

Outgoing requests this customer initiated.

┌──────────────────────────────────────────────┐
│  Avatar  Sent ₹500 to Charlie                │
│          "Trip share"                         │
│          Sent 2026-04-22                     │
│          [pending pill] [ Cancel ]           │
├──────────────────────────────────────────────┤
│  Avatar  Sent ₹250 to Diana                  │
│          "Lunch"                              │
│          [approved pill] +₹250 received       │
└──────────────────────────────────────────────┘

Cancel

Pre-approval — sender can cancel. Click → state cancelled. Recipient notified.

Re-request

After decline / expire, a "Send again" button restarts the flow with same recipient + amount + note.

Request Money (new)

URL /wallet-central/requests/new — form to ask another customer to send.

FieldNotes
Fromrecipient autocomplete (same lookup as Send)
Amountmin/max validated server-side
Noteoptional
Expires indropdown — 24h / 3d / 7d / never

Submit → recipient gets "X requested ₹Y from you" email with link to their inbox.

Pending Count Badge

Sidebar / KPI shows pending count badge:

Payment requests (3 pending)

Empty State

"No incoming requests right now."
[ Request money ]

Setup

Wallet → Settings → Wallet Central → Payment Requests

SettingDefaultWhat it does
EnableOFFglobal toggle
Default expiry7 daysdropdown default
OTP thresholdemptygate Approve flow with OTP above this amount
Max requests per dayemptyrate-limit per requester

KYC Gate

Optional. Add payment_request to KYC required-features to require approved KYC for creating requests. Approving incoming still goes through the transfer KYC gate.

Common Scenarios

Pre-event split — request from 5 friends

5 separate requests via "Request money". Each friend sees one in their inbox. Each approves independently.

Customer regrets their request

Pre-approval, they cancel from Sent tab.

Auto-expire stale requests

Default 7-day expiry. Cron sweeps daily and marks expired.

When Something Goes Wrong

ProblemFix
Approve does nothingSender lacks balance OR KYC for transfer not approved
Pending count not updatingCache stale — clear via Status Tools
Expired requests still pendingCron not firing — check wp cron event list
Recipient never sees the requestEmail blocked — check WC mail logs
For developers — hooks + storage

Hooks

HookTypeWhen
wkwp_central_request_createdactionnew row written
wkwp_central_request_approvedactionrecipient approved → transfer fired
wkwp_central_request_declinedactionrecipient declined
wkwp_central_request_cancelledactionrequester self-cancelled
wkwp_central_request_expired_cronactionnightly expiry sweep
wkwp_central_request_form_htmlfilterrewrite create-form HTML

Storage

Reuses the wallet payment-requests table with request_type = payment_request (transfers use transfer, QR uses qr_pay).

Related

  • Send Money
  • Wallet Transfer (engine)
  • Email Notifications
Prev
QR Pay
Next
Refer & Earn