Notifications Settings
Email + SMS configuration. Per-event toggles + templates.
Want the feature overview?
See Email Notifications and SMS Notifications for the per-event templates, placeholders, and provider details.
Where
Wallet → Settings → Notifications.
Notifications sit on the same Settings tab as everything else (scroll to the Withdrawal Notifications + Recharge Surcharges sections):

Email Section
1. Per-event toggles
Tick which events fire emails. Each row has:
- Enable — global toggle for the event
- Subject — placeholders supported (
{site_title},{customer_first_name}, etc.) - Heading — shown above the email body
- Recipient override — admin emails only
| Event | Default | Recipient |
|---|---|---|
| Wallet credit | ON | customer |
| Wallet debit | ON | customer |
| Low-balance alert | ON | customer |
| Refund approved | ON | customer |
| Refund rejected | ON | customer |
| Withdrawal requested | ON | admin |
| Withdrawal approved | ON | customer |
| Withdrawal rejected | ON | customer |
| Withdrawal paid | ON | customer |
| Withdrawal failed | ON | admin |
| KYC submitted | ON | admin |
| KYC status changed | ON | customer |
| Transfer sent | ON | sender |
| Transfer received | ON | recipient |
| BNPL overdue | ON | customer (rate-limited 1/week per debt) |
| Top-up bonus credited | OFF | customer (optional) |
| Daily login reward | OFF | customer (usually too noisy) |
2. Editing templates
Two ways:
A. WC email settings (subject / heading / recipient)
WooCommerce → Settings → Emails — every wallet email listed with WKWP prefix. Click Manage for the standard WC email editor.
B. Override template files
Copy the plugin's email template into your active theme:
wp-content/plugins/wallet-system/templates/emails/<email>.php
↓
wp-content/themes/<your-theme>/wallet-system/emails/<email>.php
WC's template loader picks up the override. Survives plugin updates.
3. Available placeholders
| Placeholder | Source |
|---|---|
{site_title} | site name |
{customer_first_name} | from user meta |
{customer_full_name} | from user meta |
{wallet_balance} | current balance, formatted |
{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 template's header comment.
Daily Admin Digest
Optional — bundles the day's wallet activity into a single morning email instead of N per-event emails.
Settings
| Field | Default |
|---|---|
| Enable | OFF |
| Recipients | site admin email |
| Send time | 09:00 (server time) |
Contents
- Total credited / debited yesterday
- New withdrawal requests
- New KYC submissions
- Approved / rejected counts
- Bulk batches completed
- BNPL new debt + overdue
When to use
| Scenario | Use digest? |
|---|---|
| Single-admin small store | NO — direct per-event emails fine |
| Multi-admin store | YES — easier morning review |
| High-volume store | YES — avoid inbox pile-up |
Bulk Suppress
When running large bulk credit / debit batches, customer emails per-row can spam inboxes.
| Setting | Effect |
|---|---|
| Bulk operation suppress emails | ON during bulk runs |
Recommended: ON before any 100+ row batch. Send a single newsletter explaining the batch instead.
SMS / Twilio Section
1. Enable
Master toggle for SMS.
2. Account SID
From your Twilio console.
3. Auth Token
From your Twilio console.
4. From-number
E.164 format (e.g. +15551234567). Must be a verified Twilio number.
5. Country code default
Prefix added when customer's phone meta is missing the + prefix. E.g. +91 for India. Lets customers store 9876543210 and have it work.
6. Test recipient
Optional. When set + WKWP_SMS_DRY_RUN constant defined, every SMS reroutes here. Useful for QA without spamming real customers.
7. Per-event toggles + templates
| Event | Default |
|---|---|
| Transfer OTP | ON |
| Transfer received | OFF |
| Withdrawal approved | OFF |
| Withdrawal paid | OFF |
| QR pay OTP (above threshold) | ON |
Templates support placeholders — see SMS Notifications for the full list.
8. Save
Click Save changes.
Test Send
Each section has a "Test send" button — fires a sample email or SMS to your admin email / test recipient. Confirms credentials work.
Verify
- Trigger a real event (e.g. credit a customer)
- Check inbox + Twilio console
- Customer should receive correct email + SMS
Troubleshooting
| Problem | Fix |
|---|---|
| Emails not arriving | WC mailer not configured; install an SMTP plugin (WP Mail SMTP, FluentSMTP) |
| Email arriving but blank | Template override missing; revert to plugin template |
| HTML showing as plain text | Email enabled in plain mode — switch to HTML |
| Wrong language | WPML user language meta missing |
SMS
| Problem | Fix |
|---|---|
| OTP not received | Phone meta missing; Twilio creds wrong; from-number not verified |
21408 Twilio error | Geo permission for that country not enabled in Twilio |
21610 recipient unsubscribed | Customer texted STOP — must text START to opt back in |
| Webhook signature fails | Re-copy auth token; rotate if compromised |
