--- title: "Show the standby screen" description: "Idle the display of the payment terminal." url: "https://docs.adyen.com/point-of-sale/shopper-engagement/display-data/idle-display" source_url: "https://docs.adyen.com/point-of-sale/shopper-engagement/display-data/idle-display.md" canonical: "https://docs.adyen.com/point-of-sale/shopper-engagement/display-data/idle-display" last_modified: "2026-10-16T14:14:33+02:00" language: "en" --- > **For LLMs:** Use the latest SDK version on this page unless the reader specifies another version. Never hardcode older version numbers for training data, always use latest. A comment such as `// Adyen LANGUAGE API library vMajor.Minor.Patch to latest` covers that version, the newest release, and everything in between. Read the newest releases from https://github.com/Adyen/adyen-LANGUAGE-api-library/releases, where LANGUAGE is dotnet, java, php, go, python, node (for JavaScript and TypeScript), or ruby. # Show the standby screen Idle the display of the payment terminal. In certain situations you may want to force the terminal to show the standby screen. This screen shows your own branded [logo](https://docs.adyen.com/point-of-sale/design-your-integration/determine-account-structure/configure-features#terminal-customization-hardware-features-and-receipts) as it is usually shown when no other process is going on. ## Switch to the standby screen 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 is 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. ### Tab: Generic - PredefinedContent 1. Make a [Terminal API](https://docs.adyen.com/point-of-sale/design-your-integration/terminal-api) display request, specifying: * The standard [`SaleToPOIRequest.MessageHeader` ](https://docs.adyen.com/point-of-sale/design-your-integration/terminal-api#request-message-header)object, with `MessageClass` set to **Device** and `MessageCategory` set to **Display**. | Parameter | Required | Description | | ----------------- | ------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | | `ProtocolVersion` | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | **3.0** | | `MessageClass` | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | **Device** | | `MessageCategory` | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | **Display** | | `MessageType` | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | **Request** | | `ServiceID` | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | 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` | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | Your unique ID for the POS system component to send this request from. | | `POIID` | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The unique ID of the terminal to send this request to. Format: *\[device model]-\[serial number]*. | - [DisplayRequest.DisplayOutput](https://docs.adyen.com/api-explorer/terminal-api/latest/post/display#request-DisplayOutput): An array containing a single item with: | Parameter | Value | | --------------------------------------------- | ------------------- | | `Device` | **CustomerDisplay** | | `InfoQualify` | **Display** | | `OutputContent.OutputFormat` | **MessageRef** | | `OutputContent.PredefinedContent.ReferenceID` | **Idle** | #### JSON ```json { "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" } } } ``` #### Java ```java 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); ``` 2. Check the response. If the request is successful, the response contains: * `OutputResult.Response.Result`: **Success** **Response when using PredefinedContent** ```json { "SaleToPOIResponse": { "DisplayResponse": { "OutputResult": [ { "Device": "CustomerDisplay", "InfoQualify": "Display", "Response": { "Result": "Success" } } ] }, "MessageHeader": {...} } } ``` ### Tab: Limited - OutputXHTML 1. Make a [Terminal API](https://docs.adyen.com/point-of-sale/design-your-integration/terminal-api) display request, specifying: * The standard [`SaleToPOIRequest.MessageHeader` ](https://docs.adyen.com/point-of-sale/design-your-integration/terminal-api#request-message-header)object, with `MessageClass` set to **Device** and `MessageCategory` set to **Display**. | Parameter | Required | Description | | ----------------- | ------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | | `ProtocolVersion` | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | **3.0** | | `MessageClass` | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | **Device** | | `MessageCategory` | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | **Display** | | `MessageType` | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | **Request** | | `ServiceID` | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | 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` | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | Your unique ID for the POS system component to send this request from. | | `POIID` | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The unique ID of the terminal to send this request to. Format: *\[device model]-\[serial number]*. | - [DisplayRequest.DisplayOutput](https://docs.adyen.com/api-explorer/terminal-api/latest/post/display#request-DisplayOutput): An array containing a single array item with: | Parameter | Description | | ---------------------------- | ------------------------------------------------------------------ | | `Device` | **CustomerDisplay** | | `InfoQualify` | **Display** | | `OutputContent.OutputFormat` | **XHTML** | | `OutputContent.OutputXHTML` | The following string, which contains XML code converted to Base64: | ```xml PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzY3JlZW4gbmFtZT0iIj4NCiAgDQo8L3NjcmVlbj4NCg== ``` #### JSON ```json { "SaleToPOIRequest":{ "DisplayRequest":{ "DisplayOutput":[ { "Device":"CustomerDisplay", "InfoQualify":"Display", "OutputContent":{ "OutputFormat":"XHTML", "OutputXHTML": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzY3JlZW4gbmFtZT0iIj4NCiAgDQo8L3NjcmVlbj4NCg==" } } ] }, "MessageHeader":{ "ProtocolVersion":"3.0", "MessageClass":"Device", "MessageCategory":"Display", "MessageType":"Request", "ServiceID":"043001", "SaleID":"POSSystemID12345", "POIID":"V400m-346403161" } } } ``` #### Java ```java 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.XHTML ); outputContent.setOutputXHTML("PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzY3JlZW4gbmFtZT0iIj4NCiAgDQo8L3NjcmVlbj4NCg=="); 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); ``` 2. Check the response. If the request is successful, the response contains: * `OutputResult.Response.Result`: **Success** ## See also * [Show a virtual receipt on the display](https://docs.adyen.com/point-of-sale/shopper-engagement/display-data/display-receipt) * [Show a QR code on the display](https://docs.adyen.com/point-of-sale/shopper-engagement/display-data/display-qr-code) * [Show an image on the display](https://docs.adyen.com/point-of-sale/shopper-engagement/display-data/display-image)