Scope
How to resolve this error while processing the refund: Refund Operation failed. Error message: (validation_failed) It’s not possible to process this refund because you don’t have enough funds in (Currency code). Your available refund amount for payments in currency code is xxx Currency code.
Refund Operation failed. Error message: (validation_failed) It’s not possible to process this refund because you don’t have enough funds in (Currency code). Your available refund amount for payments in currency code is: xxx Currency code.
Summary
When you are initiating a refund from an invoice, the refund might fail with the Error message: (validation_failed) It’s not possible to process this refund because you don’t have enough funds in (Currency code). Your available refund amount for payments in currency code is xxx Currency code. Please check if there are available funds present to refund the currency in your gateway account.
If this is not the case, I would also request you to kindly check in GoCardless if any dispute was raised for the transactions by this customer and whether the amount is already settled at the gateway's end or not.
Solution
If you are using GoCardless as your gateway, please note that you will only be able to process refunds up to the total value of your available refund amount in each currency. If your available refund amount does not cover the refunds you submit they will be declined. If this happens you will need to wait until you have sufficient funds in your available refund amount before re-submitting your refunds.
You can refer to this link available under Refund Safety.
So please check if there are available funds present to refund the currency in your gateway account.
If this is not the case, I would also request you to kindly check in GoCardless if any dispute was raised for the transactions by this customer and whether the amount is already settled at the gateway's end or not.
Note: Please note that this error is thrown by the gateway. Chargebee does not process the transactions on its own. Its the gateway that communicates with the end customer's bank and processes the transactions. The gateway then communicates the status to Chargebee. We only display the error message shared by the gateway.