Skip to main content

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

  1. 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"
}
}
  1. 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)

  2. The final encrypted payload to be sent should look like this

{
"data": "EncryptedRequestBody"
}
  1. 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)
ParameterTypeDescriptionRequired
transactionReference StringTransaction reference from eTranzact instant transfer service. Maximum of 50 characters. Yes
clientReference StringClient/initiating bank’s unique reference number. Maximum of 50 characters.Yes
channel integerChannel ID through which transaction originated. Refer to transaction response and channel codes description tableNo
nameVerificationRef StringReference for prior name enquiryNo
initiatorDetails objectHolds details related to initiatorYes
initiatorInstitutionCode StringBeneficiary Bank Code. Refer to Institution codes list. Yes
initiatorAccountNumber StringOriginating Account Number.Yes
initiatorAccountName StringOriginating Account Name.No
initiatorBVNStringBVN of initiatorNo
beneficiaryDetails objectHolds details of beneficiaryYes
beneficiaryAccountName StringBeneficiary Account Name, as retrieved via prior name enquiry .Yes
beneficiaryAccountNumberStringBeneficiary Account Number.Yes
currency StringISO4217 currency code. E.g. NGN, GBPYes
amount FloatTransaction Amount, in naira.Yes
narration StringTransaction NarrationYes
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