Response Codes - Local API

Result Codes
Code Description
"0" Approved no Action. Note; code is 0 and does not include ""
1 Approved
-3 Duplicate Transaction ID
-4 Validation error. Please verify the values you provided are correct
-5 Operation not Allowed
-6 Operation not Supported
-7 Transaction Timeout
-8 Authentication Failed
-9 Do not honor (general decline, no specific reason given)
-29 There are invalid characters in either the pin block or one of these fields:
title, initials, surname, address1, address2, address3, address4, address5, additionalData
-34 Card already active
-35 Card not active
-36 Expired card
-38 Lost card
-39 Stolen card
-244 Invalid last name
-246 Invalid first name
-247 Invalid ID number
-248 Invalid MSISDN
-250 Invalid initials
-251 Invalid Address 1 OR Invalid Contact Number
-252 Invalid Address 2
-253 Invalid Address 3
-254 Invalid Address 4
-255 Invalid Address 5 OR Invalid PinBlock
-295 Invalid expiry date
-333 sessionKey not present in header and "Companion API Require Session Key" is enabled
-334 sessionKey present and not decryptable/parsable
-778 Reference has no linked cards
-779 Card already linked to a different reference
-780 Invalid card reference
-781 Invalid card - Not a physical card
-782 Cannot disable physical card OR Print card request already requested

Important

The checksum that accompanies each request should be calculated as the HMAC-SHA256 hash of the method name concatenated with all the parameters in order. The terminal password should be used as the key for the hash:
hmac_sha256(‘TerminalPassword’, ‘MethodNameParam1Param2Param3’)

 

Any method with both the reference and cardIdentifier parameters will accept an empty reference parameter if the campaign is set to use the card number as reference and the cardIdentifier parameter is supplied.

 

The cardIdentifier parameter can be empty for most calls if the reference only refers to a single card

 

Any argument that has the type ‘date’ needs to follow the XML-RPC specified ISO 8601 datetime format:
<dateTime.iso8601>YYYYMMDDTHH:mm:ss<dateTime.iso8601>

Any transaction amount is represented as its cent value; therefore an integer rather than a decimal.

  • R100.50 is therefore represented as 10050 rand cents.
  • $10.50 is therefore represented as 1050 dollar cents.

Was this page helpful?

Are you ready to use our APIs

If you are not yet registered with us.

Still have questions? Contact us.