Void
it occurs when a previously authorised transaction—whether a purchase or a pre-authorisation—is cancelled before settlement. In this process, the merchant sends a Void request to the acquirer, which informs the issuer to release the hold on the cardholder’s funds.
Key Parameters:
MsgType.VOID: Indicates a void.origTransNo: STAN of the transaction to void.
The System Trace Audit Number or STAN number is the primary method to link the message to the original/parent transaction. In addition to this, invoice number may also be used

What a Void Transaction API Does
1
Cancels a Transaction Before Settlement
It reverses a transaction that was authorised but not yet settled, ensuring that the customer’s funds are not captured.
2
References the Original Transaction
The API uses identifiers such as the transaction ID, authorisation code, and timestamp to locate and reverse the original transaction.
3
Prevents Double Charges
It ensures that if a transaction was initiated in error (e.g. wrong amount, duplicate entry), the customer is not charged twice.
4
Updates Gateway and Issuer
The reversal request is sent to the payment gateway and card issuer, updating their records to reflect the cancellation.
5
Triggers Receipt and Logs
A reversal receipt is generated, and the transaction logs are updated for audit and reconciliation purposes.
6
Improves Customer Experience
It allows merchants to quickly correct mistakes without requiring a separate refund process, which can take longer.
1
2
3
4
5
6
7
8
9
10
11
12
Button.onClick {
val parsedAmount = parseAmount(amount) ?: return@onClick
val parsedStan = parseStan(stan) ?: return@onClick
val requestMsg = RequestMsg(
msgType = MsgType.VOID,
invoiceNbr = "10120304",
amount = 1500, // $15.00
currency = "USD",
stan = 2
)
sdk.sendRequestMessage(requestMsg)
}