Funds are like actual customer money in a bank account except it's under your business control. The benefits of using funds for payments:
Encourage customer to spend at your site - Instead of refunding money to their credit card, you can credit money to the customer's account. The customer can spend the money back at your site at a later time.
Increase payment reliability - A customer can fund a large amount by credit card, wire transfer, etc. into their account. The money can then be automatically debited from their account at each reoccurence order. Payments from funds will not fail unlike credit cards that expire, PayPal rejection, etc.
Due to the sensitive nature of money stored in your control, you must be extremely careful when using funds. You should pay extra attention to every aspect of security.
Allow customer to add money to their account
You may allow customers to add money to their account by creating a product that they can purchase to checkout. The amount being purchased is the same amount that will be funded into their account. For example, the customer can spend $100 and pay with their credit card. The same $100 will then be added into their account. They can later pay come back and buy other products with the balance in their account.
Create a regular product for fixed amount or configurable product if the customer is allowed to choose the amount to fund.
Set the desired price of the product. The final price is the same amount that will be credited into the account.
This product should not be taxable so make sure the Tax class is unset.
Check the Issue funds checkbox under the Resources section.
Allow customer to pay with their funds
Customers can pay for products using the balance in their account. This includes payment for recurring orders. You must first enable Funds under Configuration > Payment settings.
Credit or debiting amount in customer funds
You can view the customer's account balance from the People > Customers screen. You can add or deduct money from their account from that screen.
Customer can monitor their balance
At any time, customers can view their account balance from the Manage Fund module.