Recovering Transactions

Order recovery is an important feature of EBICS Client. For an upload transaction, order processing error might occur at the bank's end. For download transactions, response processing errors might occur at the subscriber or customer's end. Apart from the processing errors, transport errors might also occur.

Recovery mechanism requires the transaction ID of the EBICS transaction in question, and is based on the definition of transaction recovery points:

  • For upload transactions, the recovery point is the last transaction step of the transaction whose EBICS request is successfully sent to the bank system and whose EBICS response is successfully transmitted. The recovery point is determined by the state of the transaction in the bank system.
  • For download transactions, there might be several recovery points. The recovery points are the transaction steps of the transaction whose EBICS request is successfully received by the bank and whose EBICS response is successfully transmitted.

When transport or processing errors occur, a recovery point is used to continue the transaction from the transaction step that follows the recovery point in a sequence.

When transmitting transaction data, any of the following errors might occur:
  • Transport error
  • Processing error
  • Time-out error
EBICS Client stores the status of each segment that is successfully sent or received from the bank. If any of the errors occur when 'n' segments are successfully sent or received, the client starts the recovery from (n+1)th segment.

EBICS Banking Server maintains a recovery counter and also the maximum number of recovery attempts allowed. The counter is incremented after each attempt. If the maximum number of attempts is reached and recovery is unsuccessful, then the server cancels the recovery process and fails the entire transaction.