Debit Transfer
- Method: POST
- Endpoint: /api/v1/transfer
- Request Parameters
- Response Parameters
Request Parameters
| Field Name | Data Type | Required | Description |
|---|---|---|---|
| requestId | String | Yes | Unique identifier generated by the originating institution to uniquely identify the transaction request across the switch and participating banks. |
| stan | String | Yes | System Trace Audit Number used for transaction tracking, reconciliation, and dispute resolution. Must be unique per transaction. |
| processingCode | String | Yes | Code indicating the transaction type as defined by the switch (e.g., funds transfer, balance enquiry, reversal). |
| tranSubType | String | Yes | Specifies the transfer subtype (e.g., INTRA, INTER, BULK, DDM) to determine routing and processing rules. |
| tranDateTime | String (ISO-8601) | Yes | Date and time the transaction was initiated at the source institution. |
| valueDate | String (YYYY-MM-DD) | Yes | Date on which the transaction is expected to be settled or posted to the customer account. |
| tranAmt | String | Yes | Transaction amount expressed in the specified currency, formatted to two decimal places. |
| currency | String | Yes | ISO 4217 currency code of the transaction (e.g., NGN). |
| countryCode | String | Yes | ISO 3166-1 alpha-2 country code indicating the originating country of the transaction. |
| sourceInstitution | String | Yes | Code identifying the originating institution |
| channel | String | Yes | Transaction channel (API, WEB, MOBILE, POS) |
Debit Account Object
| Field Name | Data Type | Required | Description |
|---|---|---|---|
| debitAccount.accountNumber | String | Yes | Account number to be debited for the transaction amount. |
| debitAccount.accountName | String | Yes | Name associated with the debit account for validation and audit purposes. |
Credit Account Object
| Field Name | Data Type | Required | Description |
|---|---|---|---|
| creditAccount.accountNumber | String | Yes | Beneficiary account number to be credited. |
| creditAccount.accountName | String | Yes | Name of the beneficiary account holder for confirmation and compliance checks. |
| creditAccount.destinationInstitution | String | Yes | Code identifying the destination institution where the beneficiary account is domiciled. |
Direct Debit Object
| Field Name | Data Type | Required | Description |
|---|---|---|---|
| directDebit.MandateCode | String | Conditional | Code generated for Direct Debit. To be populated when tranSubType is DDM. |
| directDebit.MerchantId | String | Conditional | Id of Direct Debit Merchant. To be populated when tranSubType is DDM. |
Additional Transaction Details
| Field Name | Data Type | Required | Description |
|---|---|---|---|
| narration | String | Yes | Transaction narration or description that will appear on customer statements and audit logs. |
| feeAmount | String | Yes | Transaction fee amount charged for the transfer. Set to "0.00" where no fee applies. |
| terminalLocation | String | Optional | Physical or logical location from which the transaction was initiated, used for audit and reporting. |
| Field Name | Data Type | Required | Description |
|---|---|---|---|
| requestId | String | Yes | Unique identifier of the original request as received from the originating institution. Used for end-to-end transaction correlation across the switch and banks. |
| responseCode | String | Yes | Standard response code indicating the outcome of the transaction as defined by the switch response code catalog (e.g., 00 = Success). |
| responseMessage | String | Yes | Human-readable description corresponding to the response code, provided for logging and diagnostic purposes. |
| stan | String | Yes | System Trace Audit Number of the processed transaction. Used for reconciliation, dispute resolution, and audit tracking. |
| tranDateTime | String (ISO-8601) | Yes | Date and time the transaction was processed by the destination bank or switch. |
| availableBalance | String | Optional | Updated available balance on the debit account after transaction processing. Expressed as a string with two decimal places. |
| ledgerBalance | String | Optional | Updated ledger (book) balance on the debit account after transaction processing. Expressed as a string with two decimal places. |
| currency | String | Yes | ISO 4217 currency code in which the balances are maintained (e.g., NGN). |
- Sample Request
- Sample Response
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"
}
Response Parameters
{
"requestId": "REQ-20260123-000003",
"responseCode": "00",
"responseMessage": "SUCCESS",
"stan": "000301",
"tranDateTime": "2026-01-23T11:00:05",
"availableBalance": "13026122.00",
"ledgerBalance": "13034622.00",
"currency": "NGN"
}