At what point the transaction is in the transaction flow (ResponseReceivedFromPaymentProvider)
String (64)
disposition
The outcome of the transaction (e.g. Approved)
There are 5 possible values for disposition:
Approved - this means we got an approved message back from the processor
Declined - this means we received a decline from the processor
UnableToGoOnline - this means we couldn't connect to the processor. Essentially a decline, but it tells us the decline is due to a network error, and not a card issue
Indeterminate - this means we either received an error from the processor or no response. This means we are unable to determine the status of the transaction. Typically, we treat these as declines and then we attempt to void the transaction in the background, in the event that the processor got the message but we just didn't get the response
Voided - the transaction was reversed.
String (32)
amount
Value of transaction (e.g 100.01)
String
currency
Currency of the amount (e.g. ZAR, GBP)
String (3)
type
The type of transaction (e.g. Tap, TT3, Secure card reader)
The merchant reference provided to the Halo.SDK when starting a transaction.
Headers
Name
Type
Description
Authorization Bearer*
String
The JWT received using the developer portal credentials (username and password)
Note: To obtain this token you may need to make a POST call to https://authserver.{env}.haloplus.io/login and use {username:your-username,password:your-password} as your json body.
Status Response Descriptions:
Field
Description
Type
id
Halo backend transaction id
String (UUID)
merchantReference
Unique transaction reference provided by Halo.SDK integrating app.
String
disposition
The outcome of the transaction (e.g. Approved)
There are 5 possible values for disposition:
Approved - this means we got an approved message back from the processor
Declined - this means we received a decline from the processor
UnableToGoOnline - this means we couldn't connect to the processor. Essentially a decline, but it tells us the decline is due to a network error, and not a card issue
Indeterminate - this means we either received an error from the processor or no response. This means we are unable to determine the status of the transaction. Typically, we treat these as declines and then we attempt to void the transaction in the background, in the event that the processor got the message but we just didn't get the response
Voided - the transaction was reversed.
String (32)
errorCode
Halo backend error code
Number
message
Halo backend error message in the event of an error
String
Get Transaction Details
It is possible to get more information about a transaction asynchronously with an API Call to the Halo Backend.
"0" to "Approved or completed successfully",
"1" to "Refer to card issuer",
"2" to "Refer to card issuer's special conditions",
"3" to "Invalid merchant",
"4" to "Pick-Up",
"5" to "Do not honor",
"6" to "Error",
"7" to "Pick-up card, special condition",
"8" to "Honour with identification",
"9" to "Request in progress",
"10" to "Approved for partial amount",
"11" to "Approved (VIP)",
"12" to "Invalid transaction",
"13" to "Invalid amount",
"14" to "Invalid card number (no such number)",
"15" to "No such issuer",
"16" to "Approved, update track 3",
"17" to "Customer cancellation",
"18" to "Customer dispute",
"19" to "Re-enter transaction",
"20" to "Invalid response",
"21" to "No action taken",
"22" to "Suspected malfunction",
"23" to "Unacceptable transaction fee",
"24" to "File update not supported by receiver",
"25" to "Unable to locate record on file",
"26" to "Duplicate file update record, old record replaced",
"27" to "File update field edit error",
"28" to "File update file locked out",
"29" to "File update not successful, contact acquirer",
"30" to "Format error",
"31" to "Bank not supported by switch",
"32" to "Completed partially",
"33" to "Expired card",
"34" to "Suspected fraud",
"35" to "Card acceptor contact acquirer",
"36" to "Restricted card",
"37" to "Card acceptor call acquirer security",
"38" to "Allowable PIN tries exceeded",
"39" to "No credit account",
"40" to "Requested function not supported",
"41" to "Lost card",
"42" to "No universal account",
"43" to "Stolen card, pick-up",
"44" to "No investment account",
"51" to "Not sufficient funds",
"52" to "No checking account",
"53" to "No savings account",
"54" to "Expired Card",
"55" to "Incorrect PIN",
"56" to "No card record",
"57" to "Transaction not permitted to cardholder",
"58" to "Transaction not permitted to terminal",
"59" to "Suspected fraud",
"60" to "Card acceptor contact acquirer",
"61" to "Exceeds withdrawal amount limit",
"62" to "Restricted card",
"63" to "Security violation",
"64" to "Original amount incorrect",
"65" to "Exceeds withdrawal frequency limit",
"66" to "Card acceptor call acquirer's security department",
"67" to "Hard capture (requires that card be picked up at ATM)",
"68" to "Response received too late",
"75" to "Allowable PIN tries exceeded",
"90" to "Cutoff is in process (switch ending a day's business and starting the next. Transaction can be sent again in a few minutes)",
"91" to "Issuer or switch is inoperative",
"92" to "Financial institution or intermediate network facility cannot be found for routing",
"93" to "Transaction cannot be completed. Violation of law",
"94" to "Duplicate transmission",
"95" to "Reconcile error",
"96" to "System malfunction"