Pre-Balance Check Intercept balance check requests to apply validation or custom logic.
{
"action_type" : "pre-payout-auth" ,
"action_id" : "d4cb8f5b-8ae5-432e-82c8-c17d6607bf2c" ,
"version" : "v1.1.0" ,
"data" : {
"terminal" : {
"terminalId" : "2KUD1234" ,
"serialNo" : "91201008993212" ,
"pin" : "0000" ,
"signature" : "plainKeyPassedByUserAndHashedWithMerchantSecretKey"
},
"transaction" : {
"amount" : 5000 ,
"currency" : "NGN" ,
"source" : "pos" ,
"type" : "transfer" ,
"customerBillerId" : "" ,
"productId" : "" ,
"billerAccountName" : ""
"rrn" : "***"
},
"account" : {
"balance" : 5000 ,
"currency" : "NGN" ,
"id" : "9ee1586d-3b14-4fcc-b9cf-4226d50f26de"
}
}
}
Passed Data Object
The type of terminal action to perform (e.g., pre-payout-auth).
A unique identifier for this terminal action request.
API version to use (e.g., v1.1.0).
Contains the terminal, transaction, and account data for evaluation. Unique identifier for the terminal.
Serial number of the terminal.
HMAC signature generated using the merchant’s secret key.
Currency code (e.g., NGN).
Origin of the transaction (e.g., pos).
Type of transaction (e.g., transfer).
transaction.customerBillerId
Customer’s biller identifier (if applicable).
Identifier for the product involved in the transaction.
transaction.billerAccountName
Name on the biller account.
Retrieval Reference Number used to trace the transaction.
Currency of the account balance.
Expected response
Contains the decision outcome for the transaction. Indicates whether the terminal should proceed with the payout.
Response code explaining the decision (e.g., 00 for success).
reasonCode is a standard response identifier used in the Terminal Action API to communicate the outcome of a custom logic check. To see all of the supported reason code check here .