Wallet Dashboard

The Wallet Dashboard is the customer-facing hub inside WooCommerce My Account where customers view their balance, review transaction history, print statements, and initiate transfers, top-ups, and money requests, all from a single screen.

Customer Feature My Account Balance Overview Transaction History Printable Statement Accessibility

Overview

When WalletPro is active, a Wallet tab is automatically added to the WooCommerce My Account area. Customers do not need to navigate away from their account to manage wallet activity. The dashboard surfaces:

The dashboard is rendered as a server-side WordPress template and does not require JavaScript to display the balance or transaction list, ensuring it remains functional when JavaScript is disabled. Interactive elements (top-up modal, transfer form) progressively enhance with JavaScript.

Where to Find It

Customers access the dashboard at:

https://example.com/my-account/wallet/

The URL slug wallet is generated from the endpoint name WalletPro registers via woocommerce_account_menu_items. The slug can be changed under WooCommerce > WalletPro > Settings > Customer Dashboard > Dashboard endpoint slug.

The tab label defaults to Wallet and is translatable. Merchants can relabel it under WooCommerce > WalletPro > Settings > Customer Dashboard > Dashboard tab label.

Dashboard Sections

Balance Card

The balance card appears at the top of the dashboard. It displays:

The balance figure updates in real time after any action that modifies the wallet (top-up confirmation, transfer received, etc.) without requiring a full page reload.

Quick Actions Bar

Below the balance card, a row of action buttons appears. Each button is individually enabled or disabled by the merchant. The possible actions are:

Action What It Does Merchant Toggle
Add Funds Opens the top-up flow, allowing the customer to add money via any active payment gateway Enable customer top-up
Send Initiates a wallet-to-wallet transfer to another registered customer Enable wallet transfers
Request Sends a money request notification to another customer Enable money requests
Withdraw Submits a withdrawal request for merchant approval Enable withdrawals

If a feature is disabled, its button does not render, it is not merely hidden. This avoids confusing customers with unavailable options.

Reward Progress (Conditional)

If Cashback Rewards or Milestone Rewards are active, a progress section appears beneath the quick actions bar. It shows:

This section is omitted entirely when both reward programs are disabled.

Referral Section (Conditional)

When the referral program is enabled, a referral block appears with:

Transaction History

The transaction history table lists every credit and debit to the wallet in reverse chronological order. Each row contains:

Column Description
Date Timestamp of the transaction in the site timezone
Description Human-readable reason (e.g., "Order #1042 payment", "Admin credit, loyalty reward", "Transfer from Jane D.")
Amount Credit shown in green with a + prefix; debit shown in red with a − prefix
Balance After Running balance immediately after this transaction applied
Status Confirmed, Pending, or Reversed

Customers can filter the history by:

The table paginates at 20 rows per page by default. The page size is configurable under WooCommerce > WalletPro > Settings > Customer Dashboard > Transactions per page.

ℹ️

The transaction history reflects the HMAC-chained audit ledger. Each entry corresponds to one immutable ledger row, reversals appear as separate entries rather than edits to existing rows, so the customer sees the full paper trail.

Printable Statement

A Print Statement link appears at the top-right of the transaction history section. Clicking it opens a browser print dialog targeting a print-optimized view of the currently filtered transaction set. The print stylesheet hides navigation, the quick actions bar, and WooCommerce chrome, leaving only:

The print view is also usable as a PDF by selecting "Save as PDF" in the browser print dialog, no server-side PDF generation is required.

Merchant Configuration

All customer dashboard settings are under WooCommerce > WalletPro > Settings > Customer Dashboard.

Setting Name Default Description
Dashboard tab label Wallet Text displayed on the My Account navigation tab
Dashboard endpoint slug wallet URL segment after /my-account/; changing this flushes rewrite rules automatically
Show pending balance Enabled Whether to display the pending balance figure separately from the confirmed balance
Enable customer top-up Enabled Allows customers to add funds via payment gateways
Enable wallet transfers Disabled Allows customers to send balance to other registered customers
Enable money requests Disabled Allows customers to request funds from other registered customers
Enable withdrawals Disabled Allows customers to submit withdrawal requests
Transactions per page 20 Number of ledger rows shown per page in the transaction table
Show reward progress Enabled Displays cashback/milestone progress section (hidden automatically if no reward programs are active)
Show referral section Enabled Displays the referral block (hidden automatically if the referral program is disabled)
Print statement header logo (site logo) Override the logo used on the printed statement; accepts an image URL or media library attachment ID

After changing the Dashboard endpoint slug, visit Settings > Permalinks and click Save Changes to flush rewrite rules if the automatic flush does not take effect immediately.

Accessibility

The wallet dashboard is built to WCAG 2.1 AA. Specific implementation details:

Customer Usage, Step by Step

Viewing Your Balance

  1. Log in to your account on the store.
  2. Navigate to My Account > Wallet.
  3. Your available balance appears in the balance card at the top of the page. If the merchant has enabled it, a pending balance figure appears below the main balance.

Adding Funds (Top-Up)

  1. On the Wallet dashboard, click Add Funds.
  2. Enter the amount you want to add. The minimum and maximum top-up amounts, if set by the merchant, are displayed below the amount field.
  3. Select a payment method from the available gateways.
  4. Complete payment. On success, your balance updates immediately and a confirmation entry appears at the top of the transaction history.

Reviewing Transaction History

  1. Scroll down to the Transaction History section.
  2. To filter by date range, enter dates in the From and To fields and click Apply.
  3. To filter by type, select Credits or Debits from the type dropdown and click Apply.
  4. Use the pagination controls at the bottom to move between pages.
  5. To clear filters and return to the full history, click Reset.

Printing a Statement

  1. Apply any date or type filters you want the statement to cover.
  2. Click Print Statement in the top-right corner of the transaction history section.
  3. Your browser print dialog opens. Select a printer or choose Save as PDF.
  4. Click Print or Save.
ℹ️

The printed statement reflects exactly the transactions visible on screen at the time you click Print Statement. If you have a date filter applied, only that date range appears in the printout. Remove filters before printing if you need a full account history statement.

Developer Customization

Changing the Tab Position

WalletPro registers the Wallet tab with a menu order of 30 by default (after Orders and Downloads). Use the walletpro_account_menu_order filter to adjust this:

// Move Wallet tab to appear second in My Account navigation
add_filter( 'walletpro_account_menu_order', function( $order ) {
    return 15;
} );

Adding Content to the Dashboard

Two action hooks let you inject content before or after the main dashboard sections:

// Add a banner above the balance card
add_action( 'walletpro_before_dashboard', function() {
    echo '<p class="wallet-promo">Earn double cashback this weekend!</p>';
} );

// Add content below the transaction table
add_action( 'walletpro_after_dashboard', function() {
    echo '<p>Questions? <a href="/contact.html">Contact support</a></p>';
} );

Overriding the Dashboard Template

Copy the template from the plugin to your theme and modify it:

# Source path inside the plugin
wp-content/plugins/walletpro-for-woocommerce/templates/myaccount/wallet-dashboard.php

# Destination in your theme (WooCommerce template override convention)
wp-content/themes/your-theme/woocommerce/myaccount/wallet-dashboard.php

WalletPro follows the same template override resolution WooCommerce uses: if the file exists in the active theme under woocommerce/myaccount/, that file is loaded instead of the plugin's copy. Child themes are checked before parent themes.

Filtering Transaction History Data

Use walletpro_dashboard_transactions_query_args to modify the query that fetches dashboard transactions before they render:

add_filter( 'walletpro_dashboard_transactions_query_args', function( $args, $customer_id ) {
    // Exclude internal system entries from the customer-facing view
    $args['exclude_types'] = [ 'system_adjustment' ];
    return $args;
}, 10, 2 );