Status messages
Payment Terminal Application status messages provide real-time, asynchronous feedback on a payment transaction, from the moment a payment is authorized to the final result of the payment status. There are no status request messages; there are only status result messages.
The following is an example of a status code message:
{
"operation": "Status",
"context": "Communication",
"result": "20"
}
Message fields
The following fields are the main status message fields you receive.
Field | Description |
---|---|
operation |
This field is sent with the value status . |
context |
The context of the application when the status notification occurs. Contexts represent the screen that is being presented by the application or generic conditions. |
result |
This field provides the result code for the associated context. |
Result codes
The Payment Terminal Application provides result status messages that vary depending on the context of the application when the status notification occurs. The following sections review each context field value, the value's result codes, and what the result codes communicate.
Maintenance
Status messages with the context value Maintenance
can occur at any application state.
Result code | Description |
---|---|
101 |
Notification generated when the application starts. The POS waits until it has received this result code before sending a transaction. |
102 |
Application is entering Maintenance mode and is trying to install something. The POS waits for the maintenance response to send back from the device payment application before it queues up a new transaction or any other command. |
103 |
Application is exiting Maintenance mode and update is complete. The POS waits for the maintenance response to send back from the device payment application before it queues up a new transaction or any other command. |
CardPrompt
The context value CardPrompt
indicates that the terminal is prompting for a card to be presented.
Result code | Description |
---|---|
02 | Card Error: This is usually due to the removal or failure of a contact card. |
10 | Screen timed out waiting on customer input. |
11 | Customer canceled the operation. |
31 | Sent on a card failure because of a bad swipe or contactless card failure. |
32 | Sent when a card has been accepted for payment. |
37 | Fallback to MSR. |
51 | The Card Prompt Screen was displayed. |
PaymentType
The context value PaymentType
indicates that the terminal is asking whether the payment type is credit or debit.
Result code | Description |
---|---|
10 |
Screen timed out waiting on customer input. |
11 |
Customer canceled the operation. |
33 |
Customer selected the credit button. |
34 |
Customer selected the debit button. |
52 |
The Payment Type screen was displayed. |
ApplicationSelection
The context value ApplicationSelection
indicates that the terminal is prompting for you to select the EMV application, in other words the type of chip card.
Result code | Description |
---|---|
02 |
Card Error: This is usually due to the removal or failure of a contact card. |
10 |
Screen timed out waiting on customer input. |
11 |
Customer canceled the operation. |
35 |
EMV application was selected. |
53 | The EMV Selection Application screen was displayed. |
PINEntry
The context value PINEntry
indicates that the terminal is prompting the customer to enter their PIN.
Result code | Description |
---|---|
02 |
Card Error: This is usually due to the removal or failure of a contact card. |
06 |
PIN Debit Key Error: The terminal does not have a PIN Debit key injected. |
07 |
PIN Encryption Error: PIN hardware error. |
10 |
Screen timed out waiting on customer input. |
11 |
Customer canceled the operation. |
36 |
Customer entered a PIN. |
55 |
PIN Entry screen was displayed. |
Signature
The context value Signature
indicates that the terminal is prompting the customer to enter a signature on the screen.
Result code | Description |
---|---|
10 |
Screen timed out waiting on customer input. |
11 |
Customer canceled the operation. |
14 |
Declined by user: On a signature operation, the customer pressed the decline button. |
56 |
Signature screen was displayed. |
Confirmation
The context value Confirmation
indicates that the terminal is prompting the customer to confirm the amount.
Result code | Description |
---|---|
10 |
Screen timed out waiting on customer input. |
11 |
Customer canceled the operation. |
40 |
Customer accepted amount confirmation. |
57 |
Confirmation screen was displayed. |
Communication
The context value Communication
indicates that the terminal is in the process of online authorization.
Result code | Description |
---|---|
19 |
Declined by Host. |
20 |
Pre-condition failed. |
21 |
The application failed to connect to the payment host. |
22 |
The application failed to send to the payment host. |
23 |
The application did not receive a response from the payment host. |
24 |
The application received an invalid host response. |
25 |
The application received a good host response. |
58 |
Communication screen was displayed. |
Approval
The context value Approval
indicates that the terminal is presenting the outcome screen.
Result code | Description |
---|---|
02 |
Card Error: This is usually due to the removal or failure of a contact card. |
10 |
Screen timed out. This is the expected result for this screen. |
59 |
Approval screen was displayed. |
Display
The context value Display
indicates that the terminal is displaying a generic text message.
Result code | Description |
---|---|
10 |
Screen timed out. This is the expected result for this screen. |
60 |
Display screen was displayed. |
The context value Print
indicates that the terminal is printing custom text or a receipt.
Result code | Description |
---|---|
70 |
Printing has started. |
71 |
Printing has completed successfully. |
72 |
Printer out of paper or other mechanical problem. |
73 |
No receipt option was selected. |
Generic
Status messages with the context value Generic
occur at any application state.
Result code | Description |
---|---|
91 |
Timer reset. |
99 |
Unknown Error: This is a catch-all error that occurs only if an error condition has not been specifically accounted for in the application. |