Skip to main content

Debit Transfer

  • Method: POST
  • Endpoint: /api/v1/transfer

Request Parameters

Field NameData TypeRequiredDescription
requestIdStringYesUnique identifier generated by the originating institution to uniquely identify the transaction request across the switch and participating banks.
stanStringYesSystem Trace Audit Number used for transaction tracking, reconciliation, and dispute resolution. Must be unique per transaction.
processingCodeStringYesCode indicating the transaction type as defined by the switch (e.g., funds transfer, balance enquiry, reversal).
tranSubTypeStringYesSpecifies the transfer subtype (e.g., INTRA, INTER, BULK, DDM) to determine routing and processing rules.
tranDateTimeString (ISO-8601)YesDate and time the transaction was initiated at the source institution.
valueDateString (YYYY-MM-DD)YesDate on which the transaction is expected to be settled or posted to the customer account.
tranAmtStringYesTransaction amount expressed in the specified currency, formatted to two decimal places.
currencyStringYesISO 4217 currency code of the transaction (e.g., NGN).
countryCodeStringYesISO 3166-1 alpha-2 country code indicating the originating country of the transaction.
sourceInstitutionStringYesCode identifying the originating institution
channelStringYesTransaction channel (API, WEB, MOBILE, POS)

Debit Account Object

Field NameData TypeRequiredDescription
debitAccount.accountNumberStringYesAccount number to be debited for the transaction amount.
debitAccount.accountNameStringYesName associated with the debit account for validation and audit purposes.

Credit Account Object

Field NameData TypeRequiredDescription
creditAccount.accountNumberStringYesBeneficiary account number to be credited.
creditAccount.accountNameStringYesName of the beneficiary account holder for confirmation and compliance checks.
creditAccount.destinationInstitutionStringYesCode identifying the destination institution where the beneficiary account is domiciled.

Direct Debit Object

Field NameData TypeRequiredDescription
directDebit.MandateCodeStringConditionalCode generated for Direct Debit. To be populated when tranSubType is DDM.
directDebit.MerchantIdStringConditionalId of Direct Debit Merchant. To be populated when tranSubType is DDM.

Additional Transaction Details

Field NameData TypeRequiredDescription
narrationStringYesTransaction narration or description that will appear on customer statements and audit logs.
feeAmountStringYesTransaction fee amount charged for the transfer. Set to "0.00" where no fee applies.
terminalLocationStringOptionalPhysical or logical location from which the transaction was initiated, used for audit and reporting.

Request Parameters

{
"requestId": "REQ-20260123-000003",
"stan": "000301",
"processingCode": "310000",
"tranSubType": "INTRA",
"tranDateTime": "2026-01-23T11:00:00",
"valueDate": "2026-01-23",
"tranAmt": "243021.00",
"currency": "NGN",
"countryCode": "NG",
"sourceInstitution": "044",
"channel": "Mobile",
"debitAccount": {
"accountNumber": "0000918480",
"accountName": "Source Account name"
},
"creditAccount": {
"accountNumber": "0000507082",
"accountName": "TSS/Payable"
},
"directDebit": {
"MandateCode": "15UYHF0f",
"MerchantId": "TESTPY4UBANG"
},
"narration": "Outreach Support",
"feeAmount": "0.00",
"terminalLocation": "Ojodu Berger"
}