Technical Specification for 

e-BillsPay Middleware Service








1. Introduction

 

 

This integration specification document is for payment processors (e.g., Banks) who want to opt into using their existing NIP integration to process payments originating from the e-BillsPay transactions.

 

The parties involved in this specification are:

 

  1. e-BillsPay

 

  1. Banks (or OFIs)

 

  1. NIP

 

The e-BillsPay provides the platform to carry out bill transactions, it is also its responsibility to collate payment parameters from transaction, biller, teller and bank to use in making payment advice request to the Bank’s preregistered payment processing web service.

 

 

The Bank is responsible for providing payment processing web service which will receive payment advice request from e-BillsPay and provide response in real-time mode.

 

  • Real-time response is returned immediately in the same communication session with the payment advice request.

 

The middleware is used to process payment through the Bank-NIP integration.


 



2. Payment Request

 

 

2.1 PAYMENT REQUEST TO PROCESSOR

 

 

 

Http Method: POST

 

Content-Type: Application/JSON,

 

Authorization : base64 of bankcode

 

SIGNATURE : SHA256 of “bankcodeyyyymmddsecret”

 

HASH : HMAC of the json request computed using IV and Secret Key

 

URL: Payment-Request URL to be provided by bank.

 

Payload before encryption:

 

Payload =>

 

{

 

"amount":"7222",

 

"beneficiaryAccountName":"012345",

 

"beneficiaryAccountNumber":"2222222223",

 

"beneficiaryBankVerificationNumber":"10.00",

 

"beneficiaryKYCLevel":"Test",

 

"channelCode":"678910",

 

"destinationInstitutionCode":"2222222227",

 

nameEnquiryRef":"012345200212121352430777314576", "narration":"string",

 

"originatorAccountName":"Test",

 

"originatorAccountNumber":"111213",

 

"originatorBankVerificationNumber":"2222222222",

 

"originatorInstitutionCode":"0123452002",

 

"originatorKYCLevel":"string",

 

"sessionID":"111213",

 

"fee":"2222222222",

 

}


 

Expected Response parameters after decryption:

Response =>

{

 

isNipUsed” : “True or False”,

 

message” : “string”,

 

hasError”: ”True or False”,

 

sessionID” : “84215252322525102310”

 

}

 



 

 

  1. RESET

 

 

 

3.1 RESET ENDPOINT

 

Endpoint : To be provided by bank

 

 

Http Method: POST

 

Content-Type: Application/JSON,

 

 

 

 

Sample Request

 

{

 

"institutionCode":"string"

 

}

 

 

 

Sample response

 

 

{

 

"status": "00",

 

"message": "YOU WILL RECEIVE A MAIL IF YOUR REQUEST WAS SUCCESSFUL.",

 

"description": "SUCCESSFUL",

 

"iv": "Please check your registered mail.",

 

"key": "Please check your registered mail."

 

}