NQR Payment

Authorization

To access the set of APIs provided, an “Authorization” header must accompany every request to sent to the service. It should be noted that the service is stateless and thus, every request must be accomplished by an auth header (The common “Bearer token”).

POST Authentication

To authenticate a user, send a post request as JSON data to the login endpoint.

👍

{{baseUrl}}/hermes/api/v1/system/login

Header

Content-Type: “application/json”

Request Body

{ 
  "username":"[email protected]", 
  "password":"12345678" 
}

Sample response

{ 
  "token": 
  "eyJhbGciOiJIUzI1NiJ9.eyJleHBpcmVzIjoxNjc1OTQ4ODI5NjgzLCJpZCI6IjgiLCJ1c2VybmFtZSI6Imhhcm1AbWUuY29tIn0.BQLikn-TzdCVCGndaSEBFicvVP_kKcSIGwHDSyzGFt0" 
}

Create NQR Merchant

This API is invoked in order to create an NQR merchant. To create a merchant, send a post request to the nqr endpoint.

POST Create NQR Merchant

👍

{{baseUrl}}/hermes/api/v1/nqr

Header

Content-Type: “application/json”

Request Body

{ 
  "name":"Netapps Ltd", 
  "username":"netapps", 
  "email":"[email protected]", 
  "phone":"09076254361", 
  "contactName":"Salam Ridwan", 
  "feeBearer":"2", 
  "address":"New Address Project" 
}

Response Body

{ 
  "id": 1, 
  "name": "Netapps Ltd", 
  "username": "netapps", 
  "email": "[email protected]", 
  "phone": "09076254361", 
  "contactName": "Salam Ridwan", 
  "dateCreated": 1675856078617, 
  "feeBearer": "2", 
  "merchantNumber": "M0000006916", 
  "address": "New Address Project" 
}
FieldsRequiredDescription
namerequired
usernamerequired
emailrequired
phonerequired
contactNamerequired
feeBearerrequired0 for merchant, 1 for acquirer, 2 for payer
addressrequired

Create NQR Sub-Merchant

This API is invoked to create an NQR sub-merchant under a merchant. To create a merchant, send a post request to the create_sub_merchant endpoint.

POST Create NQR Sub-Merchant

👍

{{baseUrl}}/hermes/api/v1/nqr/{{merchantId}}/create_sub_merchant

Header

Content-Type: “application/json”

Request Body

{ 
  "name": "Netapps Ltd", 
  "email": "[email protected]", 
  "phone": "09076254361", 
  "subFixed":"1", 
  "subAmount":"300000" 
}

Response Body

{ 
  "id": "S0000007877", 
  "name": "Netapps Ltd", 
  "email": "[email protected]", 
  "phone": "09076254361", 
  "subFixed": "1", 
  "subAmount": "300000", 
  "dateCreated": "8 Feb 2023, 12:38:44", 
  "emvcoCode": "0002010102111531**999166**999166****M000000691626370018NG.COM.NIBSSPLC.QR0111S000000 787752040000530356654063000005802NG5911Netapps Ltd6007Nigeria6304D993" 
}

Data description

FieldsRequiredDescription
namerequired
emailrequired
phonerequired
subFixedrequired0 for false, 1 for true
subAmountIf subFixed is 1, then requiredDefault is 0
emvcoCodeQR code string

Bind Bank Account to NQR Merchant

This API is invoked in order to debit a customer's account attached to a card. To bind a bank account to NQR merchant, send a post request to the create_sub_merchant endpoint.

POST Bind bank account to NQR Merchant

👍

{{baseUrl}}/hermes/api/v1/nqr/{{merchantId}}/create_sub_merchant

Header

Content-Type: “application/json”

Request Body

{ 
  "merchantId":1, 
  "bankNo":"000015", 
  "accountName":"Ramon Raju", 
  "accountNumber":"0000000000" 
}

Data Description

FieldsRequiredDescription
merchantIdYes
bankNoYes
accountNameYes
accountNumberYes