Status and result messages shown on the terminal and sent to the ECR.
| Message category | Class | Direction |
|---|---|---|
Display | Device | Both |
Used in these guidesConnect your ECR · Implement the payment flow · Make a payment · Add optional features · Display and PIN · Test and get approved
Display notifications are sent by the terminal to the ECR, or the other way around, to inform about the status during the processing of transactions.
Expect status messages at any timeDisplay requests to the ECR (
Device=CashierDisplay) can arrive at any time during a transaction. Don't rely on their order, number or text: these can change with the terminal's software version and language.
Example request and response
All fields
Example request - terminal to ECR during transaction processing
{
"SaleToPOIRequest": {
"MessageHeader": {
"MessageCategory": "Display",
"MessageClass": "Device",
"MessageType": "Request",
"POIID": "AT12345",
"ProtocolVersion": "3.1",
"SaleID": "ECR123",
"ServiceID": "1",
"DeviceID" : "3"
},
"DisplayRequest": {
"DisplayOutput": [
{
"OutputContent": {
"PredefinedContent": {
"ReferenceID": "WAITING_FOR_CARD"
},
"OutputFormat": "MessageRef"
},
"Device": "CashierDisplay",
"InfoQualify": "Status",
"ResponseRequiredFlag": false
}
]
}
}
}Example request - ECR to terminal
{
"SaleToPOIRequest": {
"MessageHeader": {
"MessageCategory": "Display",
"MessageClass": "Device",
"MessageType": "Request",
"POIID": "AT12345",
"ProtocolVersion": "3.1",
"SaleID": "ECR123",
"DeviceID" : "3"
},
"DisplayRequest": {
"DisplayOutput": [
{
"OutputContent": {
"PredefinedContent": {
"ReferenceID": "TRANSACTION_APPROVED"
},
"OutputFormat": "MessageRef"
},
"Device": "CustomerDisplay",
"InfoQualify": "Display",
"ResponseRequiredFlag": true
}
]
}
}
}| Field | Required | Description |
|---|---|---|
DisplayRequest | Required | Contains the fields below |
↳ DisplayOutput | Required | Contains the fields below |
↳ OutputContent | Required | Contains the fields below |
↳ PredefinedContent | Contains the fields below | |
↳ ReferenceID | Required | Enum. See table below for possible values |
↳ OutputFormat | Required | Enum: MessageRef |
↳ Device | Required | Enum: CashierDisplay, CustomerDisplay 'CashierDisplay' is used for messages to be displayed on the ECR screen. 'CustomerDisplay' is used for messages to be displayed on the terminal screen. |
↳ InfoQualify | Required | Enum: Status, Display. 'Status' is used in DisplayRequests from terminal that informs ECR about the state the terminal is in 'Display' is used for DisplayRequests from ECR to terminal that shows a specific screen on the terminal display. |
↳ ResponseRequiredFlag | Required | True or False. Whether a response is required or not. Must be set to True when sending DisplayRequest from ECR to terminal. |
Example response - terminal to ECR
{
"MessageHeader": {
"MessageCategory": "Display",
"MessageClass": "Device",
"MessageType": "Response",
"POIID": "AT12345",
"ProtocolVersion": "3.1",
"SaleID": "ECR123",
"DeviceID": "3"
},
"DisplayResponse": {
"OutputResult": [
{
"Device": "CustomerDisplay",
"InfoQualify": "Status",
"Response": {
"Result": "Success"
}
}
]
}
}| Field | Required | Description |
|---|---|---|
DisplayResponse | Required | Contains the fields below |
↳ OutputResult | Required | Contains the fields below |
↳ Device | Required | Copied from request |
↳ InfoQualify | Required | Copied from request |
↳ Response | Required | Contains the fields below |
↳ Result | Required | Enum: Success, Failure |
↳ ErrorCondition | Optional | Enum: NotAllowed |
ReferenceID values
| ReferenceID | Description | Sent from |
|---|---|---|
| WAITING_FOR_CARD | A transaction has been initiated and the terminal is waiting for a card | Terminal |
| WAITING_FOR_PIN | The terminal is waiting for the cardholder to enter the PIN | Terminal |
| WAITING_FOR_CUSTOMER_ACTION | The terminal is waiting for some action from the customer, such as confirming a choice or inputting a value. | Terminal |
| HOST_CONNECT | Terminal is connecting to transaction gateway | Terminal |
| HOST_SEND | Terminal is sending transaction request | Terminal |
| HOST_RECEIVE | Terminal is waiting for transaction response | Terminal |
| TRANSACTION_APPROVED | Show transaction completion screen with status approved. | ECR |
| TRANSACTION_DECLINED | Show transaction completion screen with status declined | ECR |
| TRANSACTION_ABORTED | Show transaction completion screen with status aborted | ECR |
The TRANSACTION_* ReferenceID values can only be used in DisplayRequests that are used together with PINRequest. They are not relevant and cannot be used in any other scenario. For the full flow, see PIN entry controlled by the ECR. Ask your Aera contact for the appendix that describes the full PIN message flow.