You can vertically split a landscape display of a payment terminal, such as the M400. This allows you to show data on one side of the screen and collect input from a shopper on the other side of the screen. like taking a survey. For example, show a shopper receipt on one side, and take a survey on the other side.
You can send two display requests at the same time. But you can only send one input request next to a display request.
This feature will be available from software version 1.90.
How it works
- You specify in an XML file what data you want to show. You convert that XML file to Base64.
You will pass the Base64-encoded string inside theDisplayOutput.OutputContent.OutputXHTML
of theDisplayRequest
. - You specify in an XML file what data you want to collect. You convert that XML file to Base64.
You will pass the Base64-encoded string inside theDisplayOutput.OutputContent.OutputXHTML
of theInputRequest
. - You send both requests simultaneously. If you do not send both requests at the same time, the terminal screen shows the first request on one side. The other side shows a black background until you send the second request.
- If input is collected, you receive the data inside
InputResult.Input
of theInputResponse
. - You then pass the relevant data from
InputResult.Input
to your system for validation and further use.
Show data
We currently support showing an image or a virtual receipt without a QR code.
After the input is collected on the other part of the screen, the shown data resizes to the full width of the screen and continues to show.
To stop it from showing, you need to send a payment request, or a request to show the standby screen.
Collect input
We currently support presenting shoppers with a form to collect their phone number or a multiple choice form that allows a single answer.
When using split screen input requests, the users cannot select the Confirm or Cancel keys on the terminal keypad. Instead, you need to implement logic to confirm or decline the request using the buttons on the input screen.
The numerical keypad and the Clear key can still be used.
See XML validation for information about how errors in the XML content are reported.
XML validation
When we receive your display and input requests, we check if we can parse the XML content. We can also check whether the XML content matches the XML Schema Definition (XSD). We only do this XSD check if it is enabled for your account.
-
Parsing
We always check whether we can parse the XML content of your request.For example, if the XML contains a syntax error like a missing caret
>
, we cannot parse the XML. We'll send a failure response with XHTML data could not be parsed. -
XSD
If we can parse the XML content and XSD checking is enabled, we validate the XML against the XSD.To use this validation, ask our Support Team to enable the virtual receipt XSD check.
For example, if you add an element that is not in the XSD or if you omit a required element, the XML doesn't match the XSD. We'll send a failure response with XSD validation failed.
The details of any XSD errors are in the terminal log.