Demos Buy Now

Magento 2 Wallet System

Wallet System for Magento 2 is an awesome module which allows the customers to make the online payment from their Wallet System. The customers can select the Wallet System payment method at the time of checkout process. They can easily add credit amount, transfer money, view transaction details in Wallet System. The admin can set the minimum and maximum limits for adding money to the wallet. The admin can also do the refund to its customer using the wallet money.

Note: At the time of adding balance to the wallet system no other product can be added along at that very time.


  • Wallet System for Magento 2 works as an online Payment Gateway.
  • The customer can easily add credit amount into their wallet system.
  • The customer can add payee in his account to transfer amount in his wallet.
  • The customer can add multiple bank account details.
  • The customer can request the bank account deletion.
  • The admin can view the bank account details during the bank transfer approval.
  • Admin will receive notification to approve payee and to approve amount transfer to account.
  • Admin can restrict the approval required for payees.
  • Admin can restrict the customer to use discount codes when adding the amount in his wallet.
  • The customer can request to transfer their amount in his bank account.
  • Admin can export wallet system details in CSV and XML format.
  • Admin can also do the refund with the help of Wallet System for Magento 2.
  • The admin can add the amount to the Customer’s Wallet or deduct the amount from the Customer’s Wallet.
  • The admin can create multiple Credit Rules for the cashback.
  • Admin can view the customer details who are using Wallet System for making the online payment.
  • On the checkout page, the customer can see used wallet amount and remaining wallet amount.
  • Email notification is sent to the customer for each transaction.
  • Wallet amount will get credited after the generation of the invoice.
  • The cashback amount gets deducted from the Customer’s Wallet after the admin creates the credit memo for the refund.
  • The customer can get Cash Back amount into their Wallet.
  • The admin can set the limit ( maximum and minimum ) for the Wallet Amount.
  • The customers can receive monthly statements regarding wallet transactions via email.
  • The admin can enter the prefix for various wallet transactions.
  • The admin & the customers can view detailed transaction information.
  • The admin can approve or disapprove the bank transfer status.
  • The customers can transfer money from one wallet to another customer’s wallet.
  • The customer can add a payee within his account to transfer the amount to the payee’s wallet.
  • Enable/ Disable Validation Code for the wallet money transfer process.
  • The codes are open source, so it can be customized as per the requirement.


Customers will get a zip folder and they have to extract the contents of this zip folder on their system. The extracted folder has an src folder, inside the src folder you have the app folder. You need to transfer this app folder into the Magento2 root directory on the server as shown below.

After the successful installation, you have to run these commands in the Magento2 root directory.

First command- php bin/magento setup:upgrade

Second Command – php bin/magento setup:di:compile

Third Command – php bin/magento setup:static-content:deploy

After running the commands, you have to flush the cache from Magento admin panel by navigating through->System->Cache management as shown below.

Configuration For Multilingual Support

For the multilingual support, the admin will navigate through Store->Configuration->General ->Locale Options and select the locale as German (the language into which admin want to translate his store content).

Module Translation

If the user wants to translate their module from English to German then they need to follow the path app/code/Webkul/Walletsystem/i18n in their unzipped Magento2 Walletsystem folder and will get a csv file with name “en_US.csv”. Now they will rename that csv as “de_DE.csv” and translate all right side content after the comma in the German language. After editing the CSV, save it and then upload it to the path app/code/Webkul/Walletsystem/i18n where they have installed Magento2 on the server. The module will get translated into the German Language. It supports both RTL and LTR languages.

The user can edit the CSV like the image below.

Module Configuration

After successfully installing the Wallet System module, please go to the backend admin panel to do the module configuration. First, the admin needs to do the configuration in the Payment Method.

Payment Methods Configuration

Follow the path: Stores > Configuration > Sales > Payment Methods > Webkul Wallet System.

Enable this Payment Method – Select Yes option to use the Wallet System module, else select No.

Payment Method Title – Enter the title of the Wallet system which will appear on the checkout page.

Minimum Amount to Add in Wallet – Set the minimum value of the amount that can be added to the wallet.

Maximum Amount to Add in Wallet – Set the maximum value of the amount that can be added to the wallet.

Payment from Applicable Countries – Select the applicable countries from the list for wallet system.

Allow Payment Methods to Add amount in Wallet – Admin will also select various payment methods which can be used by the customer to make payment while adding Wallet Cash into their Wallet System.

Sort Order – Set the sorting order of wallet system payment method.

Wallet System Configuration

For Wallet System Configuration, the admin can follow the path Stores > Configuration >Wallet System. Here, we have two options –

  1. Cash Back Calculation Based On Cart Based or Product Based.
  2. Price Calculation Based On – Either select Fixed or Percent.

Display Custom Message On Transfer to Account Request Submission

Here, under this configuration setting the admin will –

  • Display Custom Message
    The admin will select the option as Yes to display the custom message else select no.
  • Message on Transfer Request Submission
    The admin will enter the message text that will be displayed to the customer after transferring the wallet amount to the bank. After setting up the text message and enabling it gets displayed as shown below in the snapshot.

Adding Amount In Wallet

Here, the admin will configure –

  • Allow to use Discount while adding amount in wallet
    Select Yes to allow the customers to apply the discount when the customer is adding wallet amount in his wallet else select No to not allow the customers to apply discount while adding wallet amount to his wallet.

Transfer Amount Settings

Here, the admin will configure –

  • Enable Validation while Transfer – If Yes is selected, then a verification code will be sent to the Email ID.
  • Duration of code usage – Enter duration in seconds of the validation code. Example: (30).
  • Customer Payee Approval Required – If Yes is selected then the customer payee must be approved by the admin in the first place else select No to auto-approve the customer’s payee.

For Customer Payee Approval Required if the admin select the option as Yes, then the admin will –

  • Enable the custom message
  • Enter the message text that will be visible after the transfer request submission.

Now, if you add the payee then you will see the message text as shown below.

Prefix for Transactions

The admin needs to add the prefix for the following transactions of the Wallet –

  1. Prefix for the credited amount by admin.
  2. Prefix for the debited amount by admin.
  3. Prefix for the amount transferred by the customer.
  4. Prefix for the amount transferred to the customer.
  5. Prefix for wallet recharge.
  6. Prefix for used wallet amount.
  7. Prefix for cashback amount.
  8. Prefix for the refund of an order.
  9. Prefix for the refund of wallet recharge order.

Cron Job Settings

Enable Cron Job for Monthly Statement – Select Yes, to send monthly statements to customers about their wallet transactions. This statement will be sent to the customer’s Email ID.

Wallet System Transaction Emails

Here, the admin has to select the wallet system transaction emails that will be sent whenever a particular event occurs.

Adding Wallet Cash

After the installation of the extension, the customer can see “My Wallet” with two sub-menu options –

  1. Manage Wallet Amount
  2. Transfer Wallet Amount

Clicking the Manage Wallet Amount sub-menu option brings up a section to manage the wallet amount. Here, the customer will be able to see their total wallet balance, wallet transaction details(credit & debit), can transfer amount to the bank account. The customer can also add credit amount into their wallet system by entering the amount into the provided input box and clicking the add money to wallet button.

Transaction Details

The customers can click the Reference # to view the additional details for the respective wallet transaction.

Add Money To Wallet:

After entering the amount to be added to the wallet, the customer will click on Add Money To Wallet button. This will add the wallet amount to the shopping cart. After that, click on the Proceed to Checkout button as shown below in the snapshot.

On the checkout page the customers can see the Order Summary for the wallet recharge. Here, the customer has to select the payment method and will click the Place Order button to complete the wallet amount purchase.

After the payment is made and invoice gets generated, the customer can see the credited amount in their wallet system.

Before the invoice generation, the status of the wallet amount is Pending and after the invoice gets generated it changes to Applied as shown below in the snapshot.

Transfer Amount To Bank:

The customer can send the transfer request to admin to transfer the wallet amount to other banks also. To do so, click on the Transfer Amount to bank account button. This brings up a pop-up to enter the transfer details as per the below image.

Here, the admin will enter the amount to transfer, account details, mention a note and lastly, click the Submit button to submit the wallet amount transfer request.

The customer can add the bank account in the account details section by selecting from the dropdown.

In order to add the account details of the customer, the customer needs to navigate to My Wallet>Add Account Details. The customer can also request the delete from admin by clicking on the Request delete button as shown in the image below.

Note: As soon as the customer submits wallet amount transfer request, the amount to be transferred will get deducted from the customer’s wallet.

Now, the admin gets the wallet amount transfer request. The admin approves this payment request from the admin back-end by clicking the Approve button and the status of the transfer will get changed to – Approved. Else, can disapprove the payment request by clicking the Disapprove button.

If the admin disapproves the transfer request, this will credit the amount back to the customer’s wallet which was got deducted while submitting the transfer request.

Note: After approving the wallet amount transfer request, the admin will manually and out of the system transfer the amount to the bank using the details shared in the transfer request.

The customer will also be able to check the status of the transfer under their account panel.

Transfer Wallet Money

The customer can transfer his wallet money to another customer’s wallet. To do so, the customer will navigate to My Wallet>Transfer Wallet Amount. Here, the customer will see a list of added payees and can transfer the wallet amount to them easily.

To add a New Payee click the Add Payee button as shown below in the snapshot.

This brings up a pop-up to add the payee details, enter the details and click the Submit button.

Now, select a customer from the drop-down menu option who will receive the wallet money and then enter the transfer amount. You can even add a small note with this transaction for any reference. Click Transfer Money to Customer button, a verification step will appear next (if enabled).

Verification Code

Here the customers will need to enter the verification code for validation purpose, the code will be sent to the customer’s email ID. After entering the Verification Code, click Send Amount button and the wallet money will be transferred. If you have not received the verification code in your inbox, check the spam folder for the same.

After, transferring the amount the customer will navigate to My Wallet>Manage Wallet Amount to check the transaction detail as shown below in the snapshot.

Using Wallet System at Checkout

At the time of making payment, a customer can use Wallet System to make the online payment. The total payable amount will be deducted from the Wallet Amount and customer can also see the remaining Wallet amount after making the payment.

If the total payable amount exceeds the available Wallet balance, then the customer will have the options of making payment for the remaining amount by the payment method(s) available for that store.

Admin Management – wallet system

The admin can see “Wallet System” option and  of its sub-menus. Please check the below image for the better understanding.


Let’s go through each of the sub-menu options one by one –

Wallet System Details

When admin will click on “Wallet System Details”, then the admin can see the wallet history(credit & debit) for all of the customers. Here, the admin can see the details like – ID, Modified At, Customer Name, Total Amount, Remaining Amount, Unused Amount, Action(to check the individual details).

Here, clicking on the Individual Details link for a particular customer brings up the details of all the transactions that have been made. To check a particular transactions click the View Transaction Link as shown below in the snapshot.

Clicking the View Transaction link brings up the section with complete transaction details of the customer’s individual transaction.


The admin can also export wallet system details in a CSV or XML format as required.

Wallet System Bank Transfer Details

Under this section, the admin will be able to find all the details regarding the bank transfer details like – Reference, Amount, Action, Status, Transaction At, Note, and Action column. Whenever a customer goes for withdrawal from his wallet to his bank account, all of those transactions will be visible under here. Initially, the status would be visible as pending.

The admin will be able to update the bank transfer transaction status as shown below in the snapshot.

Here, the admin will select the transactions from the list which the admin wants to update the transaction status. And then, select either of the status option mentioned below –

  • Cancel Transaction – This will disapprove or cancel the transaction.
  • Approve Transaction – This will approve or the transaction.

The admin can also view the complete details of the transaction.

To view the details, simply click the Select link and select the option View Transaction option which displays the transaction details.


From here also, the admin can update the transaction status as per the above image.

Adjust Amount to Wallet

Here, the admin can Enter Amount, select what action they want to perform( Credit or Debit) from “Action want to perform on the amount” and add a Note for the transaction. The admin can select the customer for whom they want to credit or debit the amount from the list of customers with the Customer ID, Name, Email address, Remaining Wallet Amount, Total Wallet Amount, and Adjust Amount.

There is a button called “Adjust Amount” for each customer in the list of customers. By the help of this button, the admin can add or deduct wallet amount from any particular customer. When the admin clicks there, a pop-up opens where the admin has to enter Amount, select what action they want to perform ( Credit or Debit) from Action perform on the amount and add a Note for the transaction. Lastly, click the Submit button to credit/debit the amount.

You can see a success message after the transfer as shown below in the snapshot.

Wallet System Credit Rules

Wallet Credit Rules is for the efficient management of Credit Amount process into the Wallet system. From here, the admin can easily create multiple rules for the Wallet Credit and apply them as per the condition. Mainly, there are two types of Credit Rules

  • On Cart.
  • On Product.

The admin can see all the details for Wallet system Credit Rules in a grid.

When Credit Rule is based on “On Cart”

The admin can click on Add New Credit Rule button to add new Credit Rules. The admin can select either “On Cart” or “On Product” for Credit Rule. The admin can enter Cashback Amount, Minimum Cart/Product Amount, select the Start From Date, select the End Date, and set Rule Status as Enabled or Disabled.

If the admin selects “On Cart” then Credit will be applied to the customer when his order value is greater than the set Minimum Amount for the Cart and if he orders between the dates set by the admin for that particular Cart Rule.

When Credit Rule is based on “On Product”

Here, the admin will go to Product > Catalog and can edit any product. They will see two fields – “Wallet Cash Back” in which the admin will enter the amount which will be credited back to the customer when they buy this particular product.

There is another field called “Product Wallet Credit Amount Based On” in which the admin can either select “Product Credit Amount” or “Cart Rules“. If the admin select “Product Credit Amount“, the amount entered for “Wallet Cash Back” will be credited back to the customer after the product purchase.

If the admin selects “Rules Amount” then, the amount entered for Credit Rule Based on Product will be applied. Please check the below image for the Credit Rule Based on Product.

On the cart page, the customer receives a message of amount getting credited in the Wallet. The credited amount will depend on the Wallet System Cash Back Configuration. If the “Priority for Cashback” is set as “Cart Base” then Cart Based Credit rules will be applied and if the “Priority for Cashback” is set as “Product Based” then either Product Based Credit rules or “Product Credit Amount” set for per product will be applied. The Credited amount is credited to the Customer’s Wallet after order completion.

Wallet System Payee Details

Under this section, the admin will be able to see a list of all the wallet system payees details along with their status. The admin can delete or update the payee status as enabled or disabled as required. 

To delete a payee, select the payee and then tap on the Actions drops down option and select delete option.

To update the payee status select the payee and click on the actions drop down option and click on Update Payee Status option. After that click enable or disable as required. 

The admin can also export the wallet system payee details. To export, click on the Export link and then select the exported file format as CSV or Excel XML and click Export after that. 

The admin also gets the notification for approving the payee as shown below in the snapshot.


Bank Account Details List

The admin can view all the details of the accounts which are added by the customers for the bank transfer. The customer can request the bank detail transfer for deletion. The deletion request will be displayed and the appropriate action can be taken as shown in the image below.

That’s all for the Wallet System for Magento 2, still, have any issue feel free to add a ticket and let us know your views to make the module better

Current Product Version - 2.0.5

Supported Framework Version - 2.0.x, 2.1.x, 2.2.x

. . .

Comments (4)

Add Your Comment

    Hello Team,

    Does the extension expose API endpoints if I would like to add amount to wallet for a user from an external system via an API call?

    – Thank You

    • kajal sharma
      Hi Arun,
      Currently, there is no such API using which you can transfer the amount to the user wallet through an external system via an API call. But this can be achieved through customization, you can mail us your requirements at
  • Swati Jain
    Hello Team,

    I would like to purchase this extension but does it work with Paytabs? Kindly let me know.

    • Hari Narayan Bairwa
      Yes, It will work. You can add the amount to wallet using PayTabs payment gateway. If you have any other query then you can email us at
  • css.php
    Hire Us!
    Brief us about your requirements and we'll get back to you.
    Woo! Hooy!
    We have just recieved your project brief and our expert will contact you shortly.
    Send Again