CS Tools: Notes & Quick Lookup
WalletPro provides two tools designed for customer support workflows: append-only internal notes that can be attached to any customer wallet account, and a quick-lookup bar on the Customer Balances page that resolves a customer from a user ID, exact login, or partial email without navigating to the WordPress user list.
Internal CS notes
Where to find them
Notes appear on the customer's WordPress user profile page (Users > All Users > [customer] > Edit). A Wallet Notes section renders below the standard profile fields. Notes are also accessible from the Customer Balances page via a note count link in the Notes column.
Writing a note
In the Wallet Notes section, type in the textarea and click Save note. The note is timestamped with the current UTC time and the display name of the admin who added it. Notes are stored in _walletpro_account_notes usermeta as a JSON array.
Limits and retention
- Maximum 20 notes per customer. When the 21st note is saved, the oldest note is silently dropped to keep the list at 20.
- Each note body is capped at 2,000 characters. Text exceeding 2,000 characters is truncated before saving.
- Notes are append-only. Existing notes cannot be edited or deleted from the UI. The GDPR eraser is the only deletion path.
Because notes are append-only and capped at 20, only the 20 most recent notes are kept. For compliance-critical records, export notes via the GDPR personal-data exporter before they age out.
Notes column on Customer Balances
The Customer Balances page (WooCommerce > Customer Balances) shows a Notes column displaying the count of saved notes for each customer as a link to that customer's profile, anchored at the Wallet Notes section (#walletpro-notes). Customers with no notes show a dash.
GDPR compliance
WalletPro registers two WordPress personal-data handlers for notes:
| Handler | What it does |
|---|---|
| Personal data eraser | Deletes the _walletpro_account_notes usermeta entry entirely when a customer submits an erasure request via the WordPress privacy tools. |
| Personal data exporter | Returns all notes as structured personal-data items (note text + timestamp) when a customer requests a data export. The export appears under the "WalletPro Wallet Notes" group in the WordPress personal-data export ZIP. |
Both handlers run automatically through the standard WordPress privacy workflow (Tools > Erase Personal Data / Tools > Export Personal Data). No additional configuration is needed.
Wallet quick lookup
Where to find it
A search bar sits at the top of the Customer Balances page (WooCommerce > Customer Balances). It is labelled "Find a customer…".
How to search
Enter any of the following and press Enter or click Search:
| Input type | Match logic |
|---|---|
Numeric (e.g. 42) | Looks up the user with that user ID exactly. Returns a single result or "not found". |
Exact string with no @ | Matches a WordPress user login exactly (case-insensitive). Returns the matching user or "not found". |
String containing @ | Partial email search. Returns all users whose email contains the query string (up to 20 results). |
Results show the customer's display name, email, user ID, and current wallet balance. Clicking a result opens the customer's wallet profile.
Rate limiting
The lookup AJAX endpoint (wp_ajax_walletpro_lookup) is rate-limited to 30 requests per minute per admin user using a WordPress transient keyed to the user ID and the current 60-second bucket. Exceeding the limit returns an HTTP 429 with a "Too many requests" message. The limit resets each minute.
The endpoint requires the manage_woocommerce capability and a valid nonce. It is not accessible to customers or unauthenticated users.