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

Email Notifications

Every wallet event can fire an email. Built on the WooCommerce mailer — templates inherit your WC email styles automatically.

Setting up?

Skip to Notifications Settings for the per-event toggles, template editing, and admin digest setup.

Available Emails

EventDefaultRecipient
Wallet creditONcustomer
Wallet debitONcustomer
Low-balance alertONcustomer
Refund approvedONcustomer
Refund rejectedONcustomer
Withdrawal requestedONadmin
Withdrawal approvedONcustomer
Withdrawal rejectedONcustomer
Withdrawal paidONcustomer
Withdrawal failedONadmin
KYC submittedONadmin
KYC status changedONcustomer
Transfer sentONsender
Transfer receivedONrecipient
BNPL overdueONcustomer (rate-limited 1/week per debt)
Top-up bonus creditedOFFcustomer (optional confirmation)
Daily login rewardOFFcustomer (usually too noisy to enable)

Where to Toggle

Wallet → Settings → Notifications

Each row has:

  • Enable toggle
  • Subject (uses WC placeholders {site_title}, {customer_first_name}, etc.)
  • Heading (shown above the email body)
  • Recipient override (admin emails only)
  • HTML or plain picker

Editing Templates

Two ways:

Option A — WC Email Settings

Go to WooCommerce → Settings → Emails → each wallet email is listed there as a WKWP prefix. Use Manage to edit subject / heading / recipient and to enable per email.

Option B — Override Template Files

Copy wp-content/plugins/wallet-system/templates/emails/<email>.php to wp-content/themes/<your-theme>/wallet-system/emails/<email>.php. WC's template loader picks up the override.

Use the override path

Editing in-place inside the plugin folder gets wiped on update. Always override into the active theme.

Per-Email Templates

TemplateFile
Wallet credittemplates/emails/wallet-credit.php
Wallet debittemplates/emails/wallet-debit.php
Low balancetemplates/emails/low-balance.php
Refund approvedtemplates/emails/refund-approved.php
Refund rejectedtemplates/emails/refund-rejected.php
Withdrawal requested (admin)templates/emails/withdrawal-requested-admin.php
Withdrawal approvedtemplates/emails/withdrawal-approved.php
Withdrawal rejectedtemplates/emails/withdrawal-rejected.php
Withdrawal paidtemplates/emails/withdrawal-paid.php
KYC status changedtemplates/emails/kyc-status-changed.php
Transfer senttemplates/emails/transfer-sent.php
Transfer receivedtemplates/emails/transfer-received.php
BNPL overduetemplates/emails/bnpl-overdue.php

Plain-text variants live alongside as <email>-plain.php.

Placeholders

Available across templates:

PlaceholderSource
{site_title}get_bloginfo( 'name' )
{customer_first_name}from user meta
{customer_full_name}from user meta
{wallet_balance}current _wkwc_wallet_amount formatted with WC currency
{transaction_amount}the credit / debit amount
{transaction_type}credit / debit / etc.
{transaction_reference}ledger reference
{transaction_note}ledger note
{order_link}URL to the customer's order
{order_number}WC order number
{wallet_link}URL to /my-account/my_wallet/

Per-event extras documented in each email's template header comment.

WPML Translation

All subjects + bodies are passed through WPML's string-translation registry. Translate strings in WPML → String Translation under context wkwp-wallet-emails.

Multilingual Trigger Language

Email is sent in the customer's preferred language:

  1. WPML user-language meta (icl_admin_language_for_edit)
  2. WC customer language (Polylang pll_get_user_language)
  3. Site default

Set in the order or fall through.

Suppression

SuppressionHow
Bulk operationsToggle "Bulk suppress emails" on the Bulk page
Specific eventtoggle off the row in Notifications
Per-customer opt-outfilter wkwp_email_recipients to drop the user from the list
Test modedefine( 'WKWP_DRY_RUN_EMAILS', true ); — emails go to admin email instead

Hooks

HookTypeWhen
wkwp_email_recipients_<event>filtermutate the To list
wkwp_email_subject_<event>filtermutate the subject
wkwp_email_body_<event>filtermutate the rendered body
wkwp_email_should_sendfilterglobal gate
wkwp_email_sent_<event>actionafter wp_mail returns

Daily Digest (admin)

Optional digest mailer — bundles the day's wallet activity into a single morning email to admin instead of N per-event emails.

SettingDefault
_wkwp_email_digest_enableOFF
_wkwp_email_digest_recipientssite admin email
_wkwp_email_digest_send_time09:00 (server time)

Digest contents:

  • Total credited / debited yesterday
  • New withdrawal requests
  • New KYC submissions
  • Approved / rejected counts
  • Bulk batches completed
  • BNPL new debt + overdue

Troubleshooting

ProblemFix
Emails not arrivingWC mailer not configured; install an SMTP plugin (WP Mail SMTP, FluentSMTP)
Email arriving but blankTemplate override missing; revert to plugin template
HTML showing as plain textEmail enabled in plain mode — switch to HTML on the Notifications row
Wrong languageWPML user language meta missing; set in user profile
Customer never receives but admin doesCheck spam; check that customer email is the right one in user meta

Related

  • Withdrawal
  • SMS Notifications
  • KYC
  • Filters & Hooks
Next
SMS Notifications