A transaction typically go through two cycles, i.e; Authorization and Clearing. Reversal, Refund and Void transactions all meant to return the money to customer. Depending upong what caused the return and at what point of lifecycle decides whether it’s a Refund or Reversal or Void.
Here is the quick explaination:
Refund should be used when a customer initiate return of funds request for a original transaction which is through Authorization and Clearing (transaction has been captured and setteled) cycle confirmed by Payment Association, Issuing and Acquiring bank. It basically is another record in transaction ledger.
Void should be used when a customer initiate return of funds request for a orginal transaction which is through Authorization cycle only, but not through the Clearing cycle and is currently unsettled. Voiding a transaction is basically cancelling the original transaction as if it never happened. It is cost effective in comparison to Refund.
Reversal is basically to reverse the impact caused by error in system which can break the course of transaction flow. For such cases either terminal or acquiring system generate reversal, which look for original transaction and reverse the impact caused by it to cardholder.