Handle responses and timeouts
Handle every error condition in a response, set the right timeouts, and know what to do when the result is unknown.
Messages used: responses to every request · Login · TransactionStatus
Every response carries a Result. When it is Failure, ErrorCondition and AdditionalResponse (and AeResponseCode in payment responses) say why. Your ECR must handle all error conditions.
Error conditions
Responses can contain an ErrorCondition. Your ECR must be able to handle all of these values.
ErrorCondition | Meaning | What to do |
|---|---|---|
Aborted | The transaction was aborted: Abort from the ECR, STOP on the terminal, or a timeout | Don't retry automatically |
Busy | The terminal is busy with another request | Try again later |
Cancel | Cancelled by the cashier, for example in voice authorisation | Don't retry automatically |
LoggedOut | The terminal is connected, but has no session with your ECR, for example after a restart | Send Login automatically, then retry the original request |
UnavailableDevice | No terminal with this terminal ID (POIID) is connected to AIC | If you're sure the terminal ID is right, retry after a delay. Or look up the connected terminals with GET /poi-list |
NotFound, Refusal, UnavailableService | No specific guidance yet | Check AeResponseCode and AdditionalResponse |
To find the terminal ID, see Find the terminal ID (local integration and cloud integration).
Not a complete listThese are common failure cases, not all of them. Build the error handling your merchant's use cases and requirements need.
Unknown result
If the connection breaks after you sent a request but before you got the response, the result is unknown. It may have been approved. Never charge twice: see Verify transaction status.
Timeouts
| Terminal step | Timeout |
|---|---|
| Waiting for card | 45 s |
| PIN entry | 45 s |
| Transaction communication | 55 s |
| Transaction communication, BankAxept (planned) | 17 s |
- Payment requests: give them a long enough timeout in your ECR. On top of the terminal timeouts, customers can be slow to present a card or enter a PIN, or may enter a wrong PIN.
- Login, TransactionStatus and similar requests are answered by the terminal itself, normally in under a second. A short timeout, for example 5–10 s, is enough.
- If your ECR times out on a payment, the result is unknown. See Verify transaction status.
BankAxept timeout (planned)
BankAxept requires a 14-second timeout towards Nets. So the terminal will stop waiting for a BankAxept transaction after 17 seconds.
In extremely rare cases (slow connection, slow card read and slow processing together), a BankAxept transaction can still be approved after the terminal has stopped waiting. The terminal's built-in reversal corrects this: it is sent after the terminal has been idle for 2 minutes.
Updated 14 days ago