The Status call is useful in a variety of scenarios to understand what is happening on the Genius CED. It can tell you things like the current screen, if there is an internet connection, the serial number of the device, and more.
One of the fields returned is CurrentScreen. This will return a value that can be matched up on the table below to know what screen the CED is currently on.
Initiate Transaction: A transaction can only be sent to the device from the following two screens.
00 - Idle
13 - SKU/Line Item Display
Response Handling: Perhaps the most important part of using the status check is to be able to handle a variety of responses. For instance, the <Status> tag normally comes back with a response of Online, but it may come back with a status of DOWNLOAD_NEEDED. That status does not mean the device cannot process, only that there is an update it will be grabbing at some point. A response message of NoInternetAccess however does mean that the CED will not be able to reach our to our servers to complete the transaction. There will also be more possible screens added as time goes on. You would not want to write your software in such a way that if there was an unexpected response you would not be able to continue.
Cancel: Before sending a cancel command, you may wish to see what screen the device is currently on. If it were on the signature screen, you may want to have your POS warn the user since the sale has already processed, even though the signature has not been collected for it.
The following screens cannot be cancelled:
00 - idle screen
01 - validating TransportKey
07 - processing payment
10 - transaction result
Please reach out to the Certification Engineering team for any questions/comments related to upgrading your integration by contacting firstname.lastname@example.org.
<?xml version="1.0" encoding="utf-8"?>