In certain situations you may want to idle the terminal display and make it show the standby screen. This screen shows your own branded logo as it is usually shown when no other process is going on.
Idle the terminal display
To force the payment terminal to show the standby screen, we recommend using a display request with PredefinedContent
. This works regardless of the terminal model.
There's also another method that we support. This uses OutputXHTML
in the display request. However, it only works on terminals that accept XHTML: M400, P400 Plus, and V400m.
Select the tabs below for details.
-
Make a POST request to a Terminal API endpoint, specifying:
MessageHeader
: the standardSaleToPOIRequest.MessageHeader
object. This includes:
Parameter Required Description ProtocolVersion
3.0 MessageClass
Device MessageCategory
Display MessageType
Request ServiceID
Your unique ID for this request, consisting of 1-10 alphanumeric characters. Must be unique within the last 48 hours for the terminal ( POIID
) being used.SaleID
Your unique ID for the POS system component to send this request from. POIID
The unique ID of the terminal to send this request to. Format: [device model]-[serial number]. -
DisplayRequest.DisplayOutput
: An array containing a single array item with:Parameter Value Device
CustomerDisplay InfoQualify
Display OutputContent.OutputFormat
MessageRef OutputContent.PredefinedContent.ReferenceID
Idle
{ "SaleToPOIRequest":{ "DisplayRequest":{ "DisplayOutput":[ { "Device":"CustomerDisplay", "InfoQualify":"Display", "OutputContent":{ "OutputFormat":"MessageRef", "PredefinedContent":{ "ReferenceID":"Idle" } } } ] }, "MessageHeader":{ "ProtocolVersion":"3.0", "MessageClass":"Device", "MessageCategory":"Display", "MessageType":"Request", "ServiceID":"043001", "SaleID":"POSSystemID12345", "POIID":"V400m-346403161" } } }
String serviceID = "YOUR_UNIQUE_ATTEMPT_ID"; String saleID = "YOUR_CASH_REGISTER_ID"; String POIID = "YOUR_TERMINAL_ID"; SaleToPOIRequest saleToPOIRequest = new SaleToPOIRequest(); DisplayRequest displayRequest = new DisplayRequest(); DisplayOutput displayOutput = new DisplayOutput(); displayOutput.setDevice( DeviceType.CUSTOMER_DISPLAY ); displayOutput.setInfoQualify( InfoQualifyType.DISPLAY ); OutputContent outputContent = new OutputContent(); outputContent.setOutputFormat( OutputFormatType.MESSAGEREF ); PredefinedContent predefinedContent = new PredefinedContent(); predefinedContent.setReferenceID("Idle"); outputContent.setPredefinedContent(predefinedContent); displayOutput.setOutputContent(outputContent); displayRequest.setDisplayOutput(displayOutput); saleToPOIRequest.setDisplayRequest(displayRequest); MessageHeader messageHeader = new MessageHeader(); messageHeader.setProtocolVersion("3.0"); messageHeader.setMessageClass( MessageClassType.DEVICE ); messageHeader.setMessageCategory( MessageCategoryType.DISPLAY ); messageHeader.setMessageType( MessageType.REQUEST ); messageHeader.setServiceID(serviceID); messageHeader.setSaleID(saleID); messageHeader.setPOIID(POIID); saleToPOIRequest.setMessageHeader(messageHeader); terminalAPIRequest.setSaleToPOIRequest(saleToPOIRequest);
-
Check the response. If the request is successful, the response contains:
OutputResult.Response.Result
: Success