Single Credit
Overview
Description: This is specification used to credit a beneficiary bank in a direct credit transaction. It is expected that beneficiary bank implements an interface that accepts the below request and response. Beneficiary bank will communicate the full restful endpoint url of their implementation to eTranzact.
For sending Encrypted Requests, the following steps should be adhered to
- Create your plain request object
data: {
"amount": 100.00,
"clientReference": "testClientReference12345678910",
"currency": "NGN",
"narration": "test-narration",
"transactionReference": "testRequest123445555000",
"channel": 11,
"nameVerificationRef": "testnameVerificationRef1234567890",
"initiatorDetails": {
"initiatorAccountNumber": "111111111111",
"initiatorInstitutionCode": "123456",
"initiatorAccountName": "TestSourceBank",
"initiatorBVN": "1234567890"
},
"beneficiaryDetails": {
"beneficiaryAccountName": "TestDestinationBank",
"beneficiaryAccountNumber": "2222222222",
"beneficiaryIssuerCode": "345678"
}
}
Using the
AES 256 encryption
, generate an encrypted request from the plain Request Body(Hint: Use the same AES 256 method used when generating the token)
EncryptedRequestBody = AES 256(PlainRequestBody)
The final encrypted payload to be sent should look like this
{
"data": "EncryptedRequestBody"
}
- When you receive the request at your end, you decrypt it using the AES decryption method
(Hint: Use the same AES 256 method used when decrypting the token)
- Request Parameters
- Response Parameters
Parameter | Type | Description | Required |
---|---|---|---|
transactionReference | String | Transaction reference from eTranzact instant transfer service. Maximum of 50 characters. | Yes |
clientReference | String | Client/initiating bank’s unique reference number. Maximum of 50 characters. | Yes |
channel | integer | Channel ID through which transaction originated. Refer to transaction response and channel codes description table | No |
nameVerificationRef | String | Reference for prior name enquiry | No |
initiatorDetails | object | Holds details related to initiator | Yes |
initiatorInstitutionCode | String | Beneficiary Bank Code. Refer to Institution codes list. | Yes |
initiatorAccountNumber | String | Originating Account Number. | Yes |
initiatorAccountName | String | Originating Account Name. | No |
initiatorBVN | String | BVN of initiator | No |
beneficiaryDetails | object | Holds details of beneficiary | Yes |
beneficiaryAccountName | String | Beneficiary Account Name, as retrieved via prior name enquiry . | Yes |
beneficiaryAccountNumber | String | Beneficiary Account Number. | Yes |
currency | String | ISO4217 currency code. E.g. NGN, GBP | Yes |
amount | Float | Transaction Amount, in naira. | Yes |
narration | String | Transaction Narration | Yes |
Parameter | Type | Description | Required |
---|---|---|---|
responseCode | Integer | Transaction Response Code | Yes |
responsemessage | String | Description of the response code | Yes |
execTime | integer | Time taken to process request(for metrics and performance tracking) | No |
data | Object | Data object holding the response information | Yes |
receiverReference | String | Reference received from beneficiary bank, a confirmation that transaction will be completed by beneficiary, after a follow up transaction status query. Maximum of 50 characters. | Yes |
transactionReference | String | Transaction Reference generated by the Instant Payment Service. This is to be used for transaction status query | Yes |
- Plain Sample Request
- Plain Sample Response
- Encrypted Sample Request
- Encrypted Sample Response
POST / https://{defined_by_beneficiary_bank
curl `https://{defined_by_beneficiary_bank}`
-H "Content-type: application/json"
-d '{
"amount": 100.00,
"clientReference": "testClientReference12345678910",
"currency": "NGN",
"narration": "test-narration",
"transactionReference": "testRequest123445555000",
"channel": 11,
"nameVerificationRef": "testnameVerificationRef1234567890",
"initiatorDetails": {
"initiatorAccountNumber": "111111111111",
"initiatorInstitutionCode": "123456",
"initiatorAccountName": "TestSourceBank",
"initiatorBVN": "1234567890"
},
"beneficiaryDetails": {
"beneficiaryAccountName": "TestDestinationBank",
"beneficiaryAccountNumber": "2222222222",
"beneficiaryIssuerCode": "345678"
}
}'
-X POST
POST / https://{defined_by_beneficiary_bank
{
"responseCode": "00",
"responseMessage": "Transaction Successful",
"execTime": 1440,
"data": {
"receiverReference": "bankReference12345678910",
"transactionReference": "testRequest123445555000"
}
}
POST / https://{defined_by_beneficiary_bank
curl `https://{defined_by_beneficiary_bank}`
-H "Content-type: application/json"
-d '{
"data": "aI6/RgSvQN5m3dZlALIwyKBWiYOUvgaHPsEi6jw+m4KzpDNHaSP4UOdPSN8W5Zzkwy0ymy7bSVqteyDppLWUog4T7bhW2IA6fSG1JSRbxc/W/OjEZHezSus4UtQk0pNONsVpGN3fma/GEn897TU0MO1gDSkVFTYCa01KUmbUdWBOHj5Cc2NIWK9R0NZLjkEStRaAZ8DQ1VzsE1vAd5gVPOkXD4QNhiRYjUKOYQ/2l7c0TKEitnbk8t/T2nyIeRr96ySV/4jXknR+ozc2si2RpfIh/ldl+nBS8U1haUdyadAYsnI/cVzJtzsXL22SgfAM"
}'
-X POST
POST / https://{defined_by_beneficiary_bank
{
"data": "aI6/RgSvQN5m3dZlALIwyKBWiYOUvgaHPsEi6jw+m4KzpDNHaSP4UOdPSN8W5Zzkwy0ymy7bSVqteyDppLWUog4T7bhW2IA6fSG1JSRbxc/W/OjEZHezSus4UtQk0pNONsVpGN3fma/GEn897TU0MO1gDSkVFTYCa01KUmbUdWBOHj5Cc2NIWK9R0NZLjkEStRaAZ8DQ1VzsE1vAd5gVPOkXD4QNhiRYjUKOYQ/2l7c0TKEitnbk8t/T2nyIeRr96ySV/4jXknR+ozc2si2RpfIh/ldl+nBS8U1haUdyadAYsnI/cVzJtzsXL22SgfAM"
}