Give every WooCommerce customer a wallet they can top up, spend at checkout, and check from My Account. The wallet works as a normal WooCommerce payment gateway, so a customer with a balance pays for an order in one click, with no card details to type again.
You control the money side from the WordPress admin. Credit or debit any customer, import store credit in bulk from a CSV file, run cart cashback rules, and watch every balance and transaction from one dashboard. When you refund an order, the amount goes back to the customer wallet, so a return turns into store credit instead of a manual payout and another gateway fee.
Wallet & Store Credit for WooCommerce suits stores that want store credit instead of refunds, a cashback program that keeps money in the shop, prepaid balances for repeat buyers, or a faster checkout for regulars. No monthly SaaS fee and no cut of your sales. Everything runs on your own site and your own database.
Quick Links
What you get in the free plugin
- Wallet payment gateway for the classic checkout and the block based Cart and Checkout
- Wallet top-up through a hidden top-up product, paid with the payment gateways you already accept
- Cart cashback rules that reward wallet money based on the order amount
- Store credit page inside WooCommerce My Account with balance and transaction history
- Customer to customer money transfer by email address
- Registration credit for new customers
- Manual credit and debit for any customer, plus bulk credit and debit by CSV import
- Order refunds credited back to the wallet automatically
- Wallet credit and debit emails with editable templates
- Setup wizard, admin dashboard with charts, and a full transaction log
- Works with WooCommerce High-Performance Order Storage (HPOS)
How the WooCommerce wallet works
A hidden “Wallet Topup” product is created when you activate the plugin. The customer opens the wallet page in My Account, types an amount, and checks out with any payment gateway you allow. Once that top-up order reaches the status you picked, the balance lands in the wallet.
From then on the wallet shows up as a payment method at checkout and the balance pays for the order. Every credit and debit is written to a transaction record the customer can read, so nobody has to email you asking where their store credit went.
Wallet top-up and checkout payments
Customers fund the wallet first, then spend it at checkout like any other payment method.
- Turn the wallet on or off for the whole store from one setting
- Wallet payment gateway so customers pay for orders with their balance
- Choose the order status that confirms a top-up, with Completed recommended
- Restrict top-ups to specific payment gateways, so wallet money is only funded the way you want
- Send the customer straight to checkout after a top-up is added to the cart
- Give new customers a signup credit the moment they register
Cashback rewards
Cashback pays customers in wallet money instead of a coupon code, so the reward comes back to your store as a second order.
- Cart cashback rules with amount ranges, so a bigger order can earn a bigger reward
- Fixed or percentage cashback per rule, and every rule can be switched on or off
- Maximum cashback per order and a minimum order value before cashback applies
- Option to leave sale products out of the cashback calculation
- Cashback messages on the cart, checkout, view order and order received pages
- Message color, border and font size are configurable, so the notice fits your theme
Cashback is recorded as pending when the order is placed and credited when the order completes. If the order is later cancelled or refunded, the cashback is taken back.
Customer wallet page in My Account
Customers handle everything from a wallet tab inside WooCommerce My Account. The endpoint slug and the menu title are yours to set, and the default is my-wallet.
- Balance card with available balance and today’s credit and debit totals
- Add money form where the customer enters the top-up amount
- Send money to another customer by email, with an optional note
- Transaction history with AJAX pagination, so a long history still loads fast
- Theme color, icons, card colors and table colors are set from the Layout tab
Shortcodes are included, so the wallet can live on any page instead of only in My Account:
[ddwcwm_wallet_balance_shortcode] - the wallet balance value on its own
[ddwcwm_wallet_balance_layout_shortcode] - the styled balance card
[ddwcwm_wallet_operations_shortcode] - the add money and send money actions
[ddwcwm_wallet_balance_operations_shortcode] - balance card and actions together
[ddwcwm_wallet_transactions_shortcode] - the transaction history table
Every shortcode tag can be renamed under Wallet > Configuration > Shortcodes if you prefer your own naming.
Store credit management for admins
Everything sits under the Wallet menu in WordPress admin.
- Dashboard with available balance, wallet spent, total transactions, total users and cashback awarded
- Transaction trend and transaction type charts, recent activity, and a top customers list
- Users screen listing every customer with their current wallet balance
- Manual Adjustment screen to credit or debit one customer with a note
- CSV import to credit or debit many customers at once, with a sample file included
- Transactions screen with the full ledger, filters and search
- Cashback Rules screen for building cart amount ranges
- Setup wizard that walks through the wallet, cashback and reward settings after activation
Wallet emails
Wallet emails run through WooCommerce, so they use your store template and your existing email settings.
- Wallet credited and wallet debited notifications sent to the customer
- Editable heading, subject and message for each notification
- Editable reason labels for registration credit, cart cashback, refund, top-up and received transfers, so the customer reads plain language instead of internal codes
- Templates can be overridden from your theme like any other WooCommerce email
Compatibility and developer notes
- Declared compatible with WooCommerce High-Performance Order Storage (HPOS)
- Declared compatible with the block based Cart and Checkout, with a registered wallet payment method
- Transactions and cashback rules live in their own database tables, so wallet history does not bloat post meta
- Action and filter hooks through the wallet layout, the cashback calculation and the transaction flow
- Translation ready with the included
.pot file, and works with WPML, Polylang and Loco Translate
- Object oriented code with prefixed functions, and no customer or store data sent anywhere (see External services below)
Free vs Pro
The free plugin runs a complete wallet and store credit program: top-up, wallet checkout, cart cashback, send money, manual and bulk adjustments, transaction history, refunds to wallet, wallet emails and the customer wallet page. Most stores can launch on the free version and never pay anything.
WooCommerce Wallet Pro is for stores that need spending controls, withdrawals, money requests and a wider rewards program.
Flexible payments and limits (Pro)
- Partial payment, so the wallet covers part of an order and another gateway covers the rest
- Minimum and maximum top-up limits
- Fixed or percentage debit limits, with minimum and maximum amounts per order
- Minimum and maximum transfer limits for sending money
- Quick top-up preset buttons, for example 10, 20, 50 and 100
Withdrawals and security (Pro)
- Wallet withdrawal requests that customers raise from their dashboard
- Admin approval screen to mark a withdrawal paid or cancel it
- Fixed or percentage withdrawal charges, with minimum and maximum limits
- OTP email verification for sensitive wallet operations, with configurable length and expiry
Rewards and growth (Pro)
- Request money from another customer, with the other side approving or declining
- Referral program that rewards both the referrer and the new customer
- Cashback rules by product, category, user role, payment method and top-up amount
- First order cashback for new customers
- Cashback expiry with automated reminder emails before the balance expires
Data and reporting (Pro)
- Export customer wallet data to CSV
- Custom dashboard icons for each wallet operation
- Priority support from the DevDiggers team
View Pro Demo | Upgrade to Pro
External services
This plugin relies on the following third-party services provided by DevDiggers (https://devdiggers.com). These connections only happen inside the WordPress admin area and are described below so you know exactly what is sent, why, and when.
1. DevDiggers extensions directory
- What it is: A read-only API on devdiggers.com that returns the public list of DevDiggers WooCommerce extensions.
- What it is used for: To display available DevDiggers extensions on the plugin’s “Extensions” admin page.
- When data is sent: Only when a logged-in administrator opens the “Extensions” admin page. The response is cached for 24 hours, so the request is not repeated on every page load.
- What data is sent: A standard outbound HTTP request only (your server’s IP address and a plugin user-agent string, as with any web request). No personal data and no store data are sent.
- Endpoint: https://devdiggers.com/wp-json/ddwcs/v1/plugins
2. Newsletter subscription (optional)
- What it is: A contact/newsletter endpoint on devdiggers.com.
- What it is used for: To add your email address to the DevDiggers newsletter, only if you explicitly choose to subscribe.
- When data is sent: Only when an administrator submits the optional newsletter form in the plugin dashboard. Nothing is sent automatically.
- What data is sent: The email address you enter and your site URL.
- Endpoint: https://devdiggers.com/
These services are provided by DevDiggers. By using them you agree to the DevDiggers Terms and Conditions (https://devdiggers.com/terms-and-conditions/) and Privacy Policy (https://devdiggers.com/privacy-policy/).
Source code and build tools
The admin and frontend JavaScript and CSS are compiled from the src/ folder with webpack and Babel. The complete, human-readable source code (admin, frontend, and all build configuration) is published in our public GitHub repository:
https://github.com/DevDiggers-Technologies/wallet-for-woocommerce
To build the assets from source:
- Run
npm install to install the build dependencies listed in package.json.
- Run
npm run build to compile the production assets into assets/js and assets/css.
The build configuration is in webpack.config.js and babel.config.js.