{
	"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"
		}
	}
}
{
	"data": {
		"transaction": {
			"shouldActionProceed": true,
			"reasonCode": "00"
		}
	}
}

Passed Data Object

action_type
string
required

The type of terminal action to perform (e.g., pre-payout-auth).

action_id
string
required

A unique identifier for this terminal action request.

version
string
required

API version to use (e.g., v1.1.0).

data
object
required

Contains the terminal, transaction, and account data for evaluation.


Expected response

data
object
required

Contains the decision outcome for the transaction.


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.

{
	"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"
		}
	}
}
{
	"data": {
		"transaction": {
			"shouldActionProceed": true,
			"reasonCode": "00"
		}
	}
}