Response Codes
When you make an API call to our endpoints, Kuda uses conventional HTTP response codes to indicate the success or failure of the API request. All request will return an HTTP status code of 200 for success. To troubleshoot errors, check the response codes below. Be sure to check for any spelling in your parameters to avoid errors.
Interbank Funds Transfer
| Code | Message | Meaning |
|---|---|---|
| 1 | Processing | The credit request to the beneficiary bank is processing. |
| 01 | Pending | Customer debit in process. Do a Transaction Status Query to confirm the final status of the transaction before resending a request. |
| 2 or 00 | Successful | The debit request of the sender account was successful, and a request sent to credit the beneficiary. Do a TSQ to confirm the state of the beneficiary credit request. |
| -1 | Cancelled | Transaction request failed |
| -2 | Failed | Transaction request failed |
| -3 | Fatal Error | Transaction request failed |
| 91 | RequestTimeout | Transaction Timeout. Kindly do a TSQ to confirm the state of the transaction |
Interbank TSQ Responses
| Code | Message | Meaning |
|---|---|---|
| -4 | FailedAndReversed | The account was debited, the transfer failed and the debit has been reversed. |
| -2 | FailedAndReversalPending | The account was debited, transfer failed and the system would reverse the debit. |
| 1 | Pending | The Account was debited and the transaction is still pending (NIBSS status pending), however, if you have this pending for more than 24 hours, please send the transaction to us. |
| -5 | RecordNotFound | The transaction with this SessionId is not found. |
| 3 | ManualConfirmationRequired | Manual confirmation is required. |
| -1 | DebitFailed | DebitFailed. |
| 9 | InvalidRequest | Meaning goes here. |
KUDA TO KUDA Funds Transfer
| Code | Message | Meaning |
|---|---|---|
| 00 | Successful | No TSQ is needed. |
| 01 | Pending | Customer debit in process, do a Transaction Status Query to confirm the final status of the transaction before resending a request. |
| 06 | ProcessingError | Transaction Failed. |
| 09 | ModelValidationError | Request has an invalid parameter. |
| 23 | PNDonTier0Accounts | A PND was placed on this account, please contact support. |
| 25 | NoRecordFound | There is no record on with the reference on kuda database. |
| 26 | Duplicate Transaction | Transaction already processed successfully with the reference used. |
| k26 | Duplicate Request Reference | The request cannot be processed because a request was made with this reference. |
| 28 | ForceDebitNotAllowed | You cannot force debit an account. |
| 30 | FormatError | Request has an invalid data format. |
| 51 | InsufficientBalance | Transaction failed, insufficient balance. |
| 52 | NoCheckAccount | Transaction Failed, this account is inactive. |
| 57 | TransactionPermission | Transaction Failed, this transaction is not permitted on this account. |
| 58 | TransactionNotPermitted | The transaction is not permitted by the system. |
| 61 | SecurityViolation | The transaction exceeds the allowed withdrawal limit. |
| 63 | SecurityViolation | A security breach or violation was detected. |
| 90 | CutOffInProgress | Transaction failed, system maintenance ongoing. Please retry transaction in a few minutes. |
| k91 | RequestTimeOut | Transaction timeout, please do a TSQ to confirm the status of the transaction. |
| 93 | ExceedsCashLimit | Tier level restriction. |
| 96 | FatalError | Your request have an invalid data. |
| 25 | NoRecordFound | Transaction failed. One or more of the accounts supplied does not exist. |
| 13 | InvalidAmount | Transaction failed. Amount supplied is not valid. |
| 63 | SecurityViolation | Transaction failed. Security violation. |
| 61 | ExceedsWithdrawalLimit | Transaction failed. Withdrawal limit exceeded. |
KUDA To KUDA TSQ Responses
| Code | Message | Meaning |
|---|---|---|
| k01 | TransactionReversed | This transaction failed and was reversed. |
| k06 | Failed | Transaction Failed. |
| k25 / 25 | RecordNotFound | No record with the transaction ref was found. |
| 3 | ManualConfirmationRequired | Manual confirmation is required. |
| 26 | Duplicate Transaction | Transaction already processed successfully with the reference used. |
| k91 | RequestTimeOut | Transaction timed out, please carry out a transaction status check for confirmation. |
Bill Purchase Status Codes
Status Codes for bills have meanings and are required while completing transactions. The following status codes are to be saved for transaction status updates.
| Code | Message | Meaning |
|---|---|---|
| 00 | Operation Successful | The request to purchase bill was successfully received. TSQ is required to confirm final status. |
| K00 | Operation Successful | The request to purchase bill was successfully received. TSQ is required to confirm final status. |
| K57 | Restricted Account | Account does not have the permission to carry out the transaction. Kindly contact support. |
| K51 | Insufficient balance | Account balance is not sufficient for the transaction. |
| K61 | Limit Reached | A limit upgrade is required on the account. Kindly contact support. |
| K12 | Aggregator pending | Request is pending on our biller aggregator. Kindly try a TSQ at a later time. |
| K11 | Aggregator failure | Request failed from our biller aggregator. Transaction should have been auto reversed. |
| K21 | Invalid Request | Request is not valid, kindly check the data supplied. |
Bill Purchase TSQ Status
Note
Always look out for the transactionStatus field returned in the TSQ response.
| Code | Message | Meaning |
|---|---|---|
| 1 | Pending | Transaction is still pending, do not reverse. If status stays longer than 30mins, kindly contact support. |
| 2 | Failed | Transaction failed. It is safe to reverse customer's funds if not already auto reversed. |
| 3 | Completed | Transaction is successful. TSQ response should return the PIN/ Token. If you configured a webhook for bills via the dashboard, a request will be sent to the webhook endpoint. |
| 4 | Retry | Transaction can be retried, if customer was debited, the funds would have been reversed. |
| 5 | Default | Treat same way as pending. |
| 6 | MANUAL_RECONCILLATION | Contact support for manual reconciliation. |
More information regarding the status codes for bills payment
| Code | Meaning |
|---|---|
| k-OAPI-07 | No Account Found |
| k10 | BusinessViolation Request failed due to invalid data supplied. A possible cause is passing an amount which is not in the range permitted by the Biller Identifier supplied. |
| k11 | FailedTransaction Transaction failed. If there was an initial debit, it has been reversed |
| 06 | Error An error occurred while processing the request. If there was an initial debit, it has been reversed |
| k12 | Pending Customer has been debited and request sent to aggregator, but no definite response yet. TSQ is required |
| k25 | NoRecordFound One of the identifiers supplied is not valid. This could be the Biller Identifier or the tracking reference supplied. If this is gotten from a TSQ, then the record was not found |
| k26 | RecordExist Invalid request. A reference number used for an earlier request was supplied. Use a unique reference |
| k09 | ModelValidationError One or more of the data you supplied has an invalid format. |
| k06 | General Error Similar to 06. An error occurred while processing the request. If there was an initial debit, it has been reversed |