Explanation of the online payment process:
The payment process is client to sever:
ByRetail Server <> Client (customer device) <> Dojo Server
When the Customer presses [Pay], ByRetail (ICRTouch) hands the details that it requires for Dojo back to the client's phone. The customer's device then communicates with Dojo and processes the card transaction directly itself, until a positive or otherwise outcome results. At which point the customer's device then reconnects back to the ByRetail (ICRTouch) servers to inform it of what happened.
Problem:
Once the payment is confirmed if there is a loss of connection on the customer device, the customer device cannot inform the ByRetail server that the payment was successful.
Solution:
Make sure thet Preauth is set to YES for the Dojo payment method in Till Config > TTA > Payment Settings.