Response Codes – Remote API
| Code | Description |
|---|---|
| 1 | Approved |
| 2 | Approved – Partial amount |
| -2 | Invalid card number |
| -3 | Duplicate transmission |
| -4 | Invalid card number (use for invalid wallet reference) |
| -5 | Transaction not permitted to Terminal / Transaction not permitted to Acquirer |
| -6 | Function not supported / Invalid transaction |
| -7 | Transaction timeout |
| -8 | Authentication failed (Incorrect checksum) |
| -9 | Do not honor (general decline, no specific reason given, technical error) |
| -13 | Stolen card |
| -14 | Insufficient funds |
| -16 | Exceeds Purchase amount limit |
| -17 | Not sufficient funds |
| -18 | Exceeds withdrawal amount limit |
| -19 | Invalid amount |
| -24 | Security violation |
| -25 | Incorrect PIN |
| -26 | Allowable PIN tries exceeded |
| -27 | Invalid PIN block |
| -28 | PIN length error |
| -29 | Restricted card |
| -34 | Account closed / Invalid account |
| -36 | Expired card |
| -37 | Suspected fraud |
| -38 | Lost card |
| -39 | Stolen card |
| -41 | Requested function not supported / Invalid transaction |
| -783 | Do not honor (general decline, no specific reason given, technical error) |
| -784 | Transaction not permitted to Cardholder / Transaction not permitted to Issuer |
Important
Any argument that has the type date needs to follow the XML-RPC specified ISO 8601 date-time format:
<dateTime.iso8601>YYYYMMDDTHH:mm:ss<dateTime.iso8601>
Any transaction amount is represented as its cent value, and therefore as an integer rather than a decimal.
R100.50is represented as10050(rand cents).$10.50is represented as1050(dollar cents).
KLV: Key-Length-Value Format
A type of TLV-encoded string with the following characteristics:
- A Key indicator of 3 digits, zero left-padded.
- A Length indicator of 2 digits, zero left-padded.
- A Value with the number of characters specified by the Length indicator.
It is important to note:
- Transactions may or may not contain keys depending on the type of transaction.
- Keys do not need to be in any particular order or sequence within
transactionData. - Customers must be able to receive all keys available within
transactionData. - Customers may ignore keys not pertinent to processing.
- You must be able to successfully process messages that contain new unannounced keys.
- Available keys are subject to change and are often customer-specific, and therefore will be communicated via means other than this API documentation.
For example the KLV string: 01206AB48DE003044577 contains:
- Key
012with length06and valueAB48DE - Key
003with length04and value4577
Please refer to the lookup table for the available values.