I wondered if there is any way to “reset” the terminal prior to issuing a checkout request?
One problem I have found is that if a customer walks away from the terminal without paying, eventually the “Payment timed out” dialog box will appear and stay there forever until somebody hits “OK”. In addition, the screen itself will eventually go to sleep until it’s touched.
This is a problem as the next terminal checkout request will simply stay queued (“PENDING”) until that dialog is dismissed.
A reset call would help this, since whatever state the terminal was left in, it could still prompt for payment as required. In addition, I think these dialogs should eventually timeout and return to the “Ready to take a payment” screen.