Sometimes transaction processing can become problematic or even impossible due to loss of connection between merchant’s system and the processor’s (or bank’s) server (so-called timeouts), or due to some other errors.
Timeouts, in their turn are caused either by connectivity problems or by the fact that, although a transaction is submitted and, possibly, approved, the response from the processor does not get through. The first type of timeouts is referred to as #connectiontimeouts, while the second type is often called read timeouts.
In order to be able to handle connection timeouts, the merchant needs to have several URLs reserved for transaction submission. If transactions cannot be submitted through any of the URLs reserved for connection with the processor, then these transactions cannot be processed.
As for read timeouts handling, there are two approaches which can be utilized for this purpose.
First of the approaches is sometimes called authorization-and-capture. In essence, authorization-and-capture approach means that in addition to transaction authorization request, transaction capture request is submitted. Transaction capture request is either sent in a separate additional message (in case of explicit capture), or attached to the authorization request of the next transaction (in case of implicit capture).
The second approach is called timeout reversal. During timeout reversal up to three transaction authorization reversal (or ‘void’) requests are submitted after no response (transaction authorization confirmation) arrives from the back end.
More information on read and #connectiontimeout handling can be found in the respective article “Read and Connection Timeout Handling” on Paylosophy.com.