Currently we are using the PaymentConnector on clover SDK to do the SaleRequests and VoidRequests.
To elaborate our flow, we are creating an order via the Clover REST APIs and then pass that orderId to our client application running on a Clover Mini 2 device. Then our client application handles the payment for that passed orderId with the clover SDKs. If the payment is successful we do a HTTP request to a third party (application logic) and based on the response for that request we proceed rest of the ordering flow or do a void if the response is failure. In case above failure scenario, we may attempt the void for the payment very shortly after the payment is done (2-5 seconds). And this void seems to fail all the time and we are wondering whether is it because we are attempting the void too soon?.
During the rest of the ordering flow there's an another flow where the void attempt is done sometime after (10-15 seconds) the SaleRequest and that executes without any issue.
We are aware that it may take some time for the order created from REST APIs to get synced to the device but the SaleRequests executes without any issue.
Please note that on the sandbox environment above issue is not happening at all. We are seeing this issue only on the Production environment.