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