Admin message
The Admin message allows the ECR to request specific administrative tasks from the payment application on the terminal. These are not related to an ongoing transaction.
Admin request
See section Admin Request Layout in NEXO Sale to POI Protocol Specifications for definition of header for each of the message types.
Admin response message
See section Admin Response Layout in NEXO Sale to POI Protocol Specifications for definition of header for each of the message types.
Enable Service message
The Enable Service message provides support to enable / disable the card readers outside of a transaction. This allows the terminal to collect card details and perform initial checks and data acquisition ahead of the actual transaction, saving time for the customer since they can have the card ready to go while the cashier is busy.
Enable Service request message
See section Enable Service Request Layout in NEXO Sale to POI Protocol Specifications for definition of header for each of the message types.
Enable Service response message
See section Enable Service Response Layout in NEXO Sale to POI Protocol Specifications for definition of header for each of the message types.
Payment message
A Payment request sent by the ECR indicates the start of a transaction. It may include amount data, in which case the transaction can proceed normally, or it may exclude amount data in which case the amount data is provided later when known (the 'swipe-ahead' scenario.)
Payment request message
See section Payment Request Layout in NEXO Sale to POI Protocol Specifications for definition of header for each of the message types.
Payment response message
See section Payment Response Layout in NEXO Sale to POI Protocol Specifications for definition of header for each of the message types.
Loyalty Message
A Loyalty request message is sent from the terminal to the ECR when a card is read and the card is confirmed as a loyalty card. Note that PCI rules prohibit sending payment card details to the ECR without encryption, therefore combined payment / loyalty cards are treated only as payment cards when the payment application is running NEXO.
Loyalty request message
See section Loyalty Request Layout in NEXO Sale to POI Protocol Specifications for definition of header for each of the message types.
Loyalty response message
See section Loyalty Response Layout in NEXO Sale to POI Protocol Specifications for definition of header for each of the message types.
Reversal Message
The Reversal request informs the terminal that the previous transaction must be reversed. Only the most recent transaction can be reversed, and when a new transaction is started then the previous transaction can no longer be reversed.
Reversal request message
See section Reversal Request Layout in NEXO Sale to POI Protocol Specifications for definition of header for each of the message types.
Reversal response message
See section Reversal Response Layout in NEXO Sale to POI Protocol Specifications for definition of header for each of the message types.
Display Message
The NEXO specification defines the display processing as symmetrical, i.e. the ECR and the payment terminal can each send requests to the other to request that something is displayed on screen. In practice there is limited support for this arrangement:
- Display request from the terminal: The West payment application will sending display requests to the ECR to inform the cashier of the transaction progress and also to get input from the cashier.
- Display request from the ECR: This is only supported in one specific case, which is to display a QR code on the screen of the payment application in order to support alternative payment methods. The payment application will not handle requests to display text on the terminal's screen.
Display request message (when sent by the payment application)
The ECR can use the display requests to track the progress of a transaction by checking the prompt ID. This allows the ECR / cashier to be aware of what stage the transaction has reached. The prompt IDs are included in a table below.
The Display Request message shall be sent for every time the payment terminal prompts for new information, e.g. insert card, enter PIN, pin invalid – try again. Display Request message is defined in NEXO Sale to POI Protocol Specifications .
The payment terminal does not expect a response to this message. Display Response messages will be ignored.
The display output text will be provided in the chosen operator language, which may be different to the cardholder language being used on the terminal. To make it easier for the ECR device to know exactly which step the payment processing has reached, an enumerated type is added to the message. This will be constant regardless of the display language and uniquely identify each step.
Display request message (when sent by the ECR)
There is only one situation where the ECR can send a display request to the payment application, and that is to display a QR code on the terminal screen. The payment application will only display the QR code if that feature is enabled in configuration, and also it will only display the QR code at specific times. So this display request can be interpreted as supplying a QR code value to be displayed when appropriate, rather than to be displayed at the time the message is sent.
If the QR code is no longer required then a new request can be sent where the QR code value is empty.
See section Display Request Layout in NEXO Sale to POI Protocol Specifications for definition of header for each of the message types.
Input response
The terminal application does not support the Input request message. Instead, if a response is required from the ECR then the information will be included in the optional Input element of the Display request that prompts for the information (see above).
Cashier responses are sent to the payment terminal using the Input response message.
The Input response message is also used to inform that application of the transaction amounts in cases where the Payment request was sent with no amount information.
Note that the Input response may be sent to the payment terminal without a previous Input request having been issued (since Input request is not supported).
Input response message
See section Input Response Layout in NEXO Sale to POI Protocol Specifications for definition of header for each of the message types.
Print request - terminal to ECR
The Print request message is sent by the terminal to request the ECR to print, normally, a card receipt, but it is also used for error message and reports.
The NEXO specification defines the printed content as a series of text elements, each with a set of attributes, but even though this seems like a flexible approach it means that the exact layout of the receipt becomes the responsibility of the payment application, even though it does not know what type of printer is in use, or the paper size, etc. The payment application uses a substantially altered print request message where each data element is provided separately and then it is up to the ECR to decide how the receipt should be formatted.
When sending receipt data the print request message includes a pre-formatted receipt, but this is intended for debug / test purposes and may not be supported in the future. It is strongly recommended that integrators should use the individual data elements provided and construct the receipt according to the applicable layout rules.
Note that the terminal does not expect to receive, and will not wait for, a Print response message.
Print request message
See section Print Request Layout in NEXO Sale to POI Protocol Specifications for definition of header for each of the message types.
Print request - ECR to terminal
The ECR can send a print request to the terminal, but this is a very specific and limited implementation. Support for this is a specific configuration option that must be enabled in the terminal. The print request can only contain a monochrome Windows bitmap (.BMP) image and it must be no wider than 384 pixels.
The image data is prepared by taking the contents of a bitmap file and compressing it using the gzip compression algorithm. It is then encoded using base64. An example of this preparation is as follows:
Print request message
See section Print Request Layout in NEXO Sale to POI Protocol Specifications for definition of header for each of the message types.
Print response message
See section Print Response Layout in NEXO Sale to POI Protocol Specifications for definition of header for each of the message types.
Abort message
The Abort request message instructs the terminal to cancel the ongoing service request. If there is no ongoing service request then the abort request will be ignored.
Note that there is no abort response, instead the normal service response will be sent. For example, if a payment request is aborted then the payment response will be sent with the appropriate values in place.
If the abort request is received but the ongoing service request cannot be aborted then an event notification with a Reject status (see below) will be sent to indicate this.
Note that the terminal will regard the request as applying to the service that is active at the time when the request is received, and will not use the ServiceID component. The MessageCategory value is only used in an error response, and is otherwise ignored.
Abort request message
See section Abort Request Layout in NEXO Sale to POI Protocol Specifications for definition of header for each of the message types.
Event Notification
Event notification message
See section Event Notification Layout in NEXO Sale to POI Protocol Specifications for definition of header for each of the message types.
Reconciliation request message
See section Reconciliation Request Layout in NEXO Sale to POI Protocol Specifications for definition of header for each of the message types.
Reconciliation response message
See section Reconciliation Response Layout in NEXO Sale to POI Protocol Specifications for definition of header for each of the message types.
GetTotals message
The GetTotals message is used to create the same kind of reports as Reconciliation did, but without closing the batch.
Get totals request message
See section GetTotals Request Layout in NEXO Sale to POI Protocol Specifications for definition of header for each of the message types.
GetTotals response message
See section GetTotals Response Layout in NEXO Sale to POI Protocol Specifications for definition of header for each of the message types.