zendit developers Logo
Search zendit documentation

zendit Error Messages

Sometimes errors will happen. A user supplied the wrong phone number, didn’t fill in a required field, your wallet ran out of balance, a provider behind the scenes has an outage. When things don’t go as planned, we provide an error message on a failed transaction and a log on the transaction so you can pinpoint exactly where and why the problem happened.

When you start integrating, you may encounter these common errors:

Basic Errors

Error CodeError DescriptionError MessageHTTP Response CodeRemedy
NOT_AUTHORIZEDNot authorized to access systemYour API key is incorrect or not authorized to access this system401Ensure you are sending your API Key in the headers as Authorization: Bearer Your API Key
FORBIDDENForbidden from accessYour IP address is not recognized for access to this system403Check to make sure your IP address is whitelisted for the environment you are accessing
SYSTEM_UNAVAILABLESystem is currently unavailableThe system is currently unavailable to process your request. Please try again or check the system status page for more information.503How embarrasing, there’s a problem on our end but our engineers are working to get our clients moving again.

In cases where there may be an issue with your wallet, maybe you forgot to top it up, we’ll return the following error:

Wallet Error

Error CodeError DescriptionError MessageHTTP Response CodeRemedy
INSUFFICIENT_FUNDSInsufficient funds to process transactionYour wallet has insufficient funds to process this transaction200Recharge your wallet in the console then retry your transaction

Sometimes it’s just not found or not available in the Catalog

Catalog Errors

Error CodeError DescriptionError MessageHTTP Response CodeRemedy
NOT_FOUNDCatalog Offer Not FoundThe catalog item either doesn’t exist or is not enabled404Check to make sure the item exists and if so, make sure it’s enabled then try again
INVALID_REQUESTYour request was not validYour request contained an invalid value. Please check the value of (list of fields containing invalid data) and try again.400Check to make sure you’re sending through correct values for parameter filters and try again

And sometimes, there’s just a problem with the transaction.

Transaction Errors

Error CodeError DescriptionError MessageHTTP Response CodeRemedy
NOT_FOUND
Transaction Not Found
The transaction requested cannot be found404Make sure you’re using the correct transaction ID and try again
INVALID_REQUESTYour request was not validYour request contained an invalid value. Please check the value of (list of fields containing invalid data) and try again.400Check to make sure you’re sending through correct values for parameter filters and try again

Failure Messages on Transactions

There are a variety of reasons for a transaction that was accepted to fail. Transaction failures and messages provided by Zendit:

Error CodeError Message
CONTACT_SUPPORTThere was a problem processing the transaction, please contact support@zendit.io
INVALID_AMOUNTThe amount provided for the transaction was not valid
INVALID_AMOUNT_FOR_RECIPIENTThe amount provided for the transaction is not valid for the recipient account
INVALID_MSISDNThe phone number provided was not valid for the selected offer
LIMIT_EXCEEDEDThe limit for the topup has been exceeded
NO_INVENTORYThe item was not available in inventory error: -11, contact support@zendit.io for more information
NO_INVENTORYThe item was not available in inventory error: -12, contact support@zendit.io for more information
NO_INVENTORYThe item was not available in inventory error: -44
OFFER_UNAVAILABLEThe selected product is not available for purchase at this time
PIN_IN_USEThe PIN provided is currently in use
PROVIDER_UNAVAILABLEThe provider is temporarily unavailable error:-58
PROVIDER_UNAVAILABLEThe provider is temporarily unavailable error:-8
RECIPIENT_INACTIVE_OR_SUSPENDEDThe recipient provided is either inactive or suspended.
RECIPIENT_IS_NOT_PREPAIDThe recipient provided is not a prepaid account
RESPONSE_WAITINGThe system is still awaiting a response
TOO_SOON_FOR_SUBSEQUENT_TOPUPThe offer submitted is too soon for a subsequent topup on the provided phone number
TRANSACTION_FAILEDThe transaction failed during processing with error -13, contact support@zendit.io for more information.
TRANSACTION_FAILEDThe transaction failed during processing with error -25, contact support@zendit.io for more information
TRANSACTION_FAILEDThe transaction failed during processing with error -29, contact support@zendit.io for more information.
TRANSACTION_FAILEDThe transaction failed during processing with error -3, contact support@zendit.io for more information.
TRANSACTION_FAILEDThe transaction failed during processing with error -30, contact support@zendit.io for more information.
TRANSACTION_FAILEDThe transaction failed during processing with error -38, contact support@zendit.io for more information.
TRANSACTION_FAILEDThe transaction failed during processing with error -39, contact support@zendit.io for more information.
TRANSACTION_FAILEDThe transaction failed during processing with error -4, contact support@zendit.io for more information.
TRANSACTION_FAILEDThe transaction failed during processing with error -40, contact support@zendit.io for more information.
TRANSACTION_FAILEDThe transaction failed during processing with error -42, contact support@zendit.io for more information.
TRANSACTION_FAILEDThe transaction failed during processing with error -43, contact support@zendit.io for more information.
TRANSACTION_FAILEDThe transaction failed during processing with error -47, contact support@zendit.io for more information.
TRANSACTION_FAILEDThe transaction failed during processing with error -51, contact support@zendit.io for more information.
TRANSACTION_FAILEDThe transaction failed during processing with error -52, contact support@zendit.io for more information.
TRANSACTION_FAILEDThe transaction failed during processing with error -56, contact support@zendit.io for more information.
TRANSACTION_FAILEDThe transaction failed during processing with error -59, contact support@zendit.io for more information
TRANSACTION_FAILEDThe transaction failed during processing with error -6, contact support@zendit.io for more information
TRANSACTION_FAILEDThe transaction failed during processing with error -60, contact support@zendit.io for more information
TRANSACTION_FAILEDThe transaction failed during processing with error -61, contact support@zendit.io for more information
TRANSACTION_FAILEDThe transaction failed during processing with error -62, contact support@zendit.io for more information
TRANSACTION_FAILEDThe transaction failed during processing with error -63, contact support@zendit.io for more information
TRANSACTION_FAILEDThe transaction failed during processing with error -64, contact support@zendit.io for more information
TRANSACTION_FAILEDThe transaction failed during processing with error -65, contact support@zendit.io for more information
TRANSACTION_FAILEDThe transaction failed during processing with error -66, contact support@zendit.io for more information
TRANSACTION_FAILEDThe transaction failed during processing with error -67, contact support@zendit.io for more information
TRANSACTION_FAILEDThe transaction failed during processing with error -71, contact support@zendit.io for more information
TRANSACTION_TIMEOUTThe transaction has timed out during processing.
UNKNOWN_PINThe PIN provided was not recognized

For TRANSACTION_FAILED errors, an error code number is provided to assist our support engineers to check for trouble with the transaction including intermittent errors with a provider. You may retry the transaction and if the error persists, you can contact support@zendit.io with the transaction Id producing the error for further investigation.

The Transaction’s Log

Every zendit transaction contains a log so you can see the entire lifecycle of the transaction. An Example of the log on a transaction may look something like this:

... transaction details ...
"log": [ 
     { 
       "dateTime": "2023-02-20T18:53:28.606Z", 
       "status": "PENDING", 
       "statusMessage": "Transaction created" 
     }, 
     { 
       "dateTime": "2023-02-20T18:53:28.606Z", 
       "status": "AUTHORIZED", 
       "statusMessage": "Transaction authorized" 
     }, 
     { 
       "dateTime": "2023-02-20T18:53:41.968Z", 
       "status": "IN_PROGRESS", 
       "statusMessage": "Transaction fulfilling" 
     }, 
     { 
       "dateTime": "2023-02-20T18:53:41.968Z", 
       "status": "DONE", 
       "statusMessage": "Transaction completed" 
     } 
   ]
... transaction details continued ...

Looking at this example of the log, we can see that the transaction was submitted for request, authorized against the wallet sucessfully processed through zendit for fulfillment and then completed. Using the transaction log you can get a deeper view of all the states that the transaction went through until it completed. In some cases if a temporary provider outage happens, you may get more IN_PROGRESS states to notify that the transaction is retrying after a problem at the fulfillment side.