The format is in JSON.
Sample Encrypted payload
"Dab67dc400b3603013ac56d7e548f9f97aeec22739df266fdfbb5e7cb4ebbeecded95a49db6d43f4610e309a0b8f1aeeff521e523045dde1f16dbebab0bb70edb59c320249f074488027ccd08a3b159550ffe2ba91c2b5d63757470ddb8efdf40d17de5aa805b43e676c69f35adb5c548c2120558406c4a15e30a8e20cdafbfdc68872f2210459d92d1d58a7220f87a3ec5515677d7ff54b4389cef935f3afa3b32c0c9078b869a2839843ef5dad4d6921a4c385db551a3e15bed7abe7ddf242efa7683c1cbacaedb3a3581c1d82fbdbd53d37ee26138bb1db2951ebd37e6075a27e0355e918215c680a4e35b658e4be444d39b8a3680d69928cd3fe4e0d6b9868800d973812ccf1d51798018d4c0085c28dd43b2df472c199ff744d6ecbfc5d33b88b08ea1b7c7e09f8354a53c61bf83a9de9cc0c99bfb868843b90bd2f22d64b58f5a3e82d6dd80eb79d804eb36e53aa775ebf592e167ab0ed358847d3c21a5983e146dcd41e5f5c9335ec16b2cc964b36015b3f21cbbb28bbdf25915a0ce9166ba5d737c43a85620a1a0338755f5a"
IVKey and Secret used for encryption
IVKey : "0FJk4uPzoWBjXI+z"
Secret : "hq+fAexgn7hK2edm"
Sample Unencrypted JSON Payload
{
"SourceBankCode": "111",
"SourceBankName": "Stanbic IBTC Bank Plc.",
"InstitutionCode": "111111",
"ChannelCode": "1",
"CustomerName": "JOHN DOE",
"CustomerAccountNumber": "5522113366",
"BillerID": "599CB572-1188-4106-BC75-35A060A28ADF",
"BillerName": "Multi-choice",
"ProductID": "599CB572-1188-4106-BC75-35A060A28ADF",
"ProductName": "DSTV",
"Amount": "0",
"Params": {
"Smart Card Id": "1000000001",
"Subscription" : "Compact Plus"
}
}
Sample Unencrypted Validation payload
This method takes a JSON payload as an input and returns a JSON payload as response.
Sample payload before encryption
{
"SourceBankCode": "567899",
"SourceBankName": "Zenith Bank",
"InstitutionCode": "00123",
"ChannelCode": "2345",
"BillerId": "0BB98A28-F30B-D385-F3BF-39FF3BAB24BA", //Guid
"BillerName": " Test State IRS ",
"ProductID": "C1ACE7B4-8EC0-63F2-7C98-39FF3BA4D42F", //Guid
"ProductName": "Payments Hub For Banks Deposit / USSD Deposit",
"Amount": "0.00", //decimal // amount should be greater than 0
"Params": {
"ClientId": "2345666"
}
}
The sample payload contains a field called “Params” which is an array of key and value containing billers custom field which is to be validated by the biller.
Sample Notification payload
{
"SessionId": "",
"TransactionDate": "",
"TransactionTime": "",
"Amount": 0, //decimal
"ChannelCode": "",
"BankName": "",
"BranchName": "",
"BillerName": "Bet9ja",
"Params": {
"ClientId": "28473D7A-DAEE-4E0E-0455-08D9F7D7EDED",
"BillerID": "3291BFB6-F812-4D74-9E71-9770D0817F68",
"CustomerAccountNumber": "1234567890"
}
}
Sample response payload
{
"Message": "",
"HasError" false, //bool
"Amount": 7899 //decimal
"Params": {
"name": "Umar Kingsley",
"Phone": "08098998780"
}
"ErrorMessages": []
}
Note: ErrorMessages is an array of string which contain error(s) if any