Transaction Finalised Error Codes
When Tola finalises a transaction it will record a status code for why the transaction failed. This will be present in the asynchronous callback, or the Wallet API Event for the Transaction. Use the integer code to decide how to update your merchant application.
| Code | Message | Meaning |
|---|---|---|
| 1 | unknown | Our supplier rejected the operation. |
| 2 | invalid | The requested operation could not be mapped to our supplier's API. For example when the amount requested is not supported on the supplier API. |
| 3 | rejected | Our supplier rejected the operation. |
| 4 | expendviolation | Our supplier rejected the operation because a fund transfer limit has been breached. |
| 5 | insufficientfunds | Our supplier rejected the operation due to a lack of funds available in the source account. |
| 6 | syserrretry | Our supplier experienced a system error resulting in the operation failing. A retry of the operation can be safely performed and may result in the operation succeeding. For example if a supplier is experiencing heavy loads and cannot service the request at this moment. |
| 7 | syserrnoretry | Our supplier experienced a system error resulting in the operation failing. The Merchant should check their paybill records before attempting any retry of this operation. |
| 8 | expired | This code only applies to Charge (C2B-Push) type transactions. Our supplier has failed to correctly notify us of the result of the operation before an expiry timer has fired. This could be due to a communications error between our supplier and the Tola Wallet Platform. The Merchant should check their paybill records and if necessary credit the user with services to the value of the transaction. |
| 9 | charge-already-in-progress | The Tola platform prevented the Charge from proceeding because another Charge for the same MSISDN and paybill was recently sent to the Operator and is not yet completed. |
| 10 | too-old | The Tola platform has prevented the transaction from proceeding because it has been queued for too long and is no longer considered to be a valid request. |
| 11 | pin-incorrect | Our supplier rejected the Charge because the PIN entered by the consumer was incorrect. |
| 12 | pin-timeout | Our supplier rejected the Charge because the consumer did not enter a PIN within the permitted timeframe. |
| 13 | msisdn-invalid | Our supplier rejected the transaction because the supplied MSISDN was not valid for the supplier's network. |