Card transaction responses
Use the following information as a reference for interpreting card transaction responses from the Payment Terminal Application.
Response fields
The API response contains two fields related to the transaction type: transactionType and type. Use the value in type for business logic, such as internal calculations. Use the value in transactionType for user interface (UI) display.
The following table lists and defines the card transaction response fields.
| Field | Description |
|---|---|
processorLine1 |
Top processor line. |
headerLine1 |
Response header line. |
headerLine2 |
Response header line. |
headerLine3 |
Response header line. |
headerLine4 |
Response header line. |
headerLine5 |
Response header line. |
headerLine6 |
Response header line. |
processorLine2 |
Bottom processor line. |
terminalID |
Terminal ID value configured for your merchant account. |
reference |
A point-of-sale (POS)-generated reference number.
|
|
Merchant ID value configured for your merchant account. |
storeID |
Store identification. |
dateTime |
Print the local date and time of the transaction on the receipt. The dateTime value has a custom format of [MM]-[DD]-[YYYY] [hh]:[mm]:[ss]. For example:
|
|
|
|
|
|
|
|
|
commercialCardType |
When present, the card is assumed to be a commercial card. This field determines the type of commercial card:
|
|
|
operation |
Echo of the operation value in the request. For example, Transaction |
type |
Echo of the type value in the request. |
transactionType |
Transaction type in printable form. Value:
|
account |
The account number masked according to Payment Card Industry (PCI) and card brand requirements. |
accountType |
Returns the determined account type for an Interac card.
|
cardBrand |
The card brand label inferred from the card Bank Identification Number (BIN). |
|
Card token used for credential on file transactions. |
entryMode |
Indicates the interface used to capture the card data. Values:
|
|
The original amount of the transaction. The value format is numeric with a single decimal between major and minor denominations. |
surchargeAmount |
The surcharge amount (if applied to the transaction). |
surchargePercentage |
The applied surcharge percentage (if applicable). |
surchargeFixed |
The applied surcharge fixed amount (if applicable). |
taxAmount |
The tax amount (if applied to the transaction). |
subTotalAmount |
The subTotalAmount comprising the authorized amount, the surcharge, and tax. |
tipAmount |
The tip amount as entered during the transaction. |
cashBackAmount |
The cash back amount (if applicable). |
totalAmount |
The sum of all the amounts in the transaction. |
dueAmount |
If the transaction is partially authorized, this field contains the difference between the totalAmount and the amount approved by the issuer. |
balance |
Contains the account balance provided by the issuer (if available). |
|
Transaction ID number. |
|
Indicates the current batch number. The number is locally initialized with 0 and is updated by our payment host responses. |
traceNumber |
Contains the trace number returned by our payment host for Electronic Benefits Transfer (EBT) and debit transactions. |
result |
The result code from the Payment Terminal Application. Refer to the table of result codes for each value and definition. |
|
|
|
|
hostError |
|
|
|
|
|
|
|
approvalMode |
Indicates how the approval was obtained:
|
|
|
|
|
|
|
AC |
|
|
|
|
|
cvm |
Indicates the cardholder verification method. Present on approved transactions. Value:
|
signatureRequired |
Indicates if a signature is required. Present on approved transactions. Only present if the signature is required and not electronically captured at the payment terminal device. Value:
|
|
|
uniqueTransactionID |
|
|
Payment account reference data. Present if on the EMV or CTLS card or returned by our payment host. |
cardTypeProcessed |
Contains the card type as processed with the host. Value:
|
|
Response footer line. |
|
Response footer line. |
|
Response footer line. |
|
Response footer line. |
|
Response footer line. |
|
Response footer line. |
demoMode |
Indicates if the Payment Terminal Application is running in demo mode. Value:
|
Response fields by supported transaction type
A field's inclusion in a card transaction request or response is categorized as mandatory, optional, conditional, or present with the following definitions:
- Mandatory (or M) fields are required to be present.
- Optional (or O) fields are not required and depend on the transaction context.
- Conditional (or C) fields are required to support a specific feature or scenario.
- Present (or P) fields are included by default in a response.
The following table lists and defines the card transaction response fields supported by transaction type.
| Field | Sale | Force Sale |
Refund | Auth. Only | Status Check | MOTO Sale | Void | Completion | Balance Inquiry | Settlement |
|---|---|---|---|---|---|---|---|---|---|---|
|
C |
C |
C |
C |
- |
C |
C |
C |
C |
- |
|
P |
P |
P |
P |
- |
P |
P |
P |
P |
- |
|
P |
P |
P |
P |
- |
P |
P |
P |
P |
- |
|
P |
P |
P |
P |
- |
P |
P |
P |
P |
- |
|
P |
P |
P |
P |
- |
P |
P |
P |
P |
- |
|
P |
P |
P |
P |
- |
P |
P |
P |
P |
- |
|
P |
P |
P |
P |
- |
P |
P |
P |
P |
- |
processorLine2 |
C |
C |
C |
C |
- |
C |
C |
C |
C |
- |
terminalID |
P | P | P |
P |
P |
P |
P |
P |
P |
- |
reference |
P |
P |
P |
P |
P |
P |
P |
P |
P |
- |
|
P |
P |
P |
P |
P |
P |
P |
P |
P |
- |
storeID |
P | P |
P |
P |
P |
P |
P |
P |
P |
- |
dateTime |
P |
P |
P |
P |
P |
P |
P |
P |
P |
- |
invoice |
O | O |
- |
- |
- |
O |
- |
- |
- |
- |
customer |
O | O |
- |
O |
- |
O |
- |
- |
- |
- |
ticket |
O | O |
- |
O |
- |
O |
- |
- |
- |
- |
purchase |
O | O |
- |
O |
- |
O |
- |
- |
- |
- |
commercialCardType |
O |
- |
- |
- |
- |
- |
- |
- |
- |
- |
customerReference |
O | - |
- |
- |
- |
- |
- |
- |
- |
- |
operation |
P | P |
P |
P |
P |
P |
P |
P |
P |
P |
transactionType |
P |
P |
P |
P |
P |
P |
P |
P |
P |
P |
account |
P | P |
P |
P |
P |
P |
P |
P |
P |
- |
accountType |
C |
C |
C |
- |
- |
- |
- |
C |
- |
- |
cardBrand |
P | P |
P |
P |
P |
P |
P |
P |
P |
- |
cardToken |
O | - |
- |
O |
- |
- |
- |
- |
- |
- |
entryMode |
P |
P |
P |
P |
P |
P |
P |
P |
P |
- |
requestedAmount |
O | O |
O |
O |
- |
O |
O |
O |
O |
- |
surchargeAmount |
O | O |
- |
- |
- |
O |
O |
- |
- |
- |
surchargePercentage |
O | O |
- |
- |
- |
O |
- |
- |
- |
- |
surchargeFixed |
O | O |
- |
- |
- |
O |
- |
- |
- |
- |
taxAmount |
O | O |
O |
- |
- |
O |
O |
O |
- |
- |
subTotalAmount |
P | P |
- |
- |
- |
O |
O |
- |
- |
- |
tipAmount |
O | O |
- |
- |
- |
O |
O |
- |
- |
- |
cashBackAmount |
O | - |
- |
- |
- |
- |
O |
- |
- |
- |
totalAmount |
P | P |
P |
P |
- |
P |
P |
P |
- |
- |
dueAmount |
O | - |
- |
O |
- |
O |
- |
- |
- |
- |
balance |
O | - |
- |
- |
- |
- |
- |
- |
P |
- |
transactionID |
P | P |
P |
P |
P |
P |
P |
P |
P |
- |
batchNumber |
P | P |
P |
P |
P |
P |
P |
P |
P |
P |
traceNumber |
O | - |
- |
O |
- |
- |
- |
O |
- |
- |
result |
P | P |
P |
P |
P |
P |
P |
P |
P |
P |
approval |
P | P |
P |
P |
P |
P |
P |
P |
P |
- |
errorMessage |
O | O |
O |
O |
O |
O |
O |
O |
O |
- |
hostError |
O | O |
O |
O |
O |
O |
O |
O |
O |
- |
authCode |
O | O |
O |
O |
O |
O |
O |
O |
O |
- |
responseCode |
O | O |
O |
O |
O |
O |
O |
O |
O |
- |
preferredName |
O | O |
O |
O |
O |
- |
- |
O |
O |
- |
approvalMode |
P |
P |
- |
- |
- |
- |
- |
P |
- |
- |
AID |
C | - |
C |
C |
C |
- |
- |
C |
C |
- |
TVR |
O | - |
O |
O |
O |
- |
- |
O |
O |
- |
IAD |
O | - |
O |
O |
O |
- |
- |
O |
O |
- |
AC |
O | - |
O |
O |
O |
- |
- |
O |
O |
- |
TSI |
O | - |
O |
O |
O |
- |
- |
O |
O |
- |
ARC |
O | - |
O |
O |
O |
- |
- |
O |
O |
- |
cvm |
C |
- | C |
C |
C |
- |
- |
C |
C |
- |
signatureRequired |
C |
C |
C |
C |
- |
- |
- |
C |
- |
- |
signatureData |
C | C |
C |
C |
- |
- |
- |
C |
- |
- |
uniqueTransactionID |
C | C |
C |
C |
C |
C |
C |
C |
- |
- |
PARData |
C | C |
C |
C |
C |
C |
C |
C |
C |
- |
cardTypeProcessed |
P | P | P | P | P | P | P | |||
|
P |
P |
P |
P |
- |
P |
P |
P |
P |
- |
|
P |
P |
P |
P |
- |
P |
P |
P |
P |
- |
|
P |
P |
P |
P |
- |
P |
P |
P |
P |
- |
|
P |
P |
P |
P |
- |
P |
P |
P |
P |
- |
|
P |
P |
P |
P |
- |
P |
P |
P |
P |
- |
|
P |
P |
P |
P |
- |
P |
P |
P |
P |
- |
demoMode |
P |
P |
P |
P |
P |
P |
P |
P |
P |
P |
Result codes
The following table lists and defines the result codes.
| Result code | Description |
|---|---|
|
OK: The operation completed successfully. The |
|
Application Error: These errors represent failures of processes internal to the application, such as being unable to create a new thread, file access errors, or loss of communication. |
|
Card Error: This is usually due to the removal or failure of a contact card. |
|
Message Error: A field in the request is invalid, a required field is missing, or the request is not formatted correctly. |
|
Invalid Reference or Key: For a void transaction request, this indicates that the reference number does not match one in the terminal’s batch. For a parameter operation, this indicates an invalid key name. |
|
Busy: An ongoing operation is already in progress. A new operation cannot be started. |
|
PIN debit key error: The terminal does not have a PIN debit key injected. |
|
PIN Encryption Error: PIN hardware failure or over 1 million transactions limit reached. |
|
P2PE key error: The terminal does not have a point-to-point encryption key injected. |
|
Card Removed: The card was removed during the transaction processing. |
|
Timeout occurred on the user interface. |
|
Canceled by user: The user pressed the cancel key on one of the screens that allow user cancellation. |
|
Canceled: The operation was canceled by a cancel operation from the POS. |
13 |
Cancel not available. |
14 |
Nothing to cancel. |
|
Parse Error trying to parse the incoming API request. |
|
Declined by the card. |
|
Declined by our payment host. |
|
Pre-condition failed before reaching our payment host. Provide this error code and the ‘500’ Host Error Code to troubleshoot the issue. |
|
Connection to our payment host failed. |
|
Sending request to our payment host failed. |
|
Payment host response could not be processed. |
|
Invalid payment host response. |
|
Invalid clerk identification. |
|
Fraud control validation failed (account number does not match). |
|
Printer not operational. |
|
Card is not supported. |
|
Debit refund error. |
|
Store and Forward (SAF) Maximum amount per transaction exceeded. |
|
SAF Maximum number of transactions reached. |
|
SAF Maximum cumulative amount exceeded. |
|
SAF Entry mode not supported. |
|
SAF Mask conditions not fulfilled. |
|
SAF Transaction type not allowed. |
|
SAF CVM not allowed. |
|
SAF International card not allowed. |
|
SAF not supported. |
|
SAF CIT not supported. |
|
AVS Address no match. |
|
AVS ZIP no match. |
|
AVS Address and ZIP no match. |
|
Printer cover is open. |
|
Printer paper jam. |
|
Printer not supported. |
|
Terminal is not operational. |
|
Terminal is not connected. |
|
Transaction in progress. |
|
Missing credentials. |
|
Key injection failed. |
|
Load EMV configuration failed. |
|
Load security data error. |
|
Low battery. |
|
MAC verification failed. |
|
Key sync failed. |
|
Invalid configuration |
|
Network connection failed. |
|
Pending parameters. |
|
EMV Kernel error. |
|
Kernel initialization. |
|
Mercchant Advice Code (MAC) failed. |
|
No data found for the request. |
|
Not implemented. |
|
Unknown Error: This is a catch-all error that occurs only if an error condition has not been specifically accounted for in the application. |