After you start a transaction, a timeout occurs automatically when either:
- An issuer does not process a transaction within 120 seconds. This is a processing timeout.
- A terminal has been waiting for shopper interaction for too long. This is a device timeout.
Processing timeout
When a shopper has verified a transaction on a terminal (for example, by entering a PIN or signature), the payment is sent for processing. If the issuer has not processed this transaction within 120 seconds, the Adyen payments platform automatically cancels the transaction.
When a processing timeout occurs:
- Declined is shown on the terminal display.
-
You receive a payment result containing:
PaymentResponse.Response.Result
: Failure-
PaymentResponse.Response.ErrorCondition
: Communication timeout
The example payment result below indicates the transaction was cancelled due to a processing timeout.
{ "SaleToPOIResponse":{ "MessageHeader":{...}, "PaymentResponse":{ ... }, "Response":{ ... "Result":"Failure", "ErrorCondition":"Communication timeout" }, ... } } }
In case of a processing timeout, retry the transaction using an alternative card or payment method (if possible).
If you do not receive either a payment result or a timeout response after 120 seconds, your integration should automatically verify whether the payment has been processed. Refer to Verify transaction status.
Device timeout
When a terminal is waiting for an interaction for too long, the transaction will time out. This results in the transaction being cancelled.
Here we describe terminal prompts that will eventually time out, as well as:
- Timeout (sec): The duration the prompt is displayed on the terminal before the transaction times out.
- Configurable: Whether the timeout duration is configurable. To configure a timeout duration, contact our POS Support Team.
Prompt | Timeout (sec) | Configurable |
---|---|---|
Insert, swipe, or tap card | 120 | ![]() |
Account type selection | 120 | ![]() |
Application selection | 120 | ![]() |
Currency conversion acknowledgement | 120 | ![]() |
PIN entry | 60 | ![]() |
Signature capture | 60 | ![]() |
Signature check | 900 | ![]() |
Manual card number entry | 60 | ![]() |
Manual expiry date entry | 60 | ![]() |
Authorization in progress | 200 | ![]() |
Receipt printing confirmation | 120 | ![]() |
Adyen Giving | 30 | ![]() |
Tipping | 60 | ![]() |
Balance (gift card) | 10 | ![]() |
Final state | 2 | ![]() |
When a device timeout occurs, you receive a payment result containing:
PaymentResponse.Response.Result
: FailurePaymentResponse.Response.ErrorCondition
: Cancel
The example payment result below indicates a device timeout.
{
"SaleToPOIResponse": {
"PaymentResponse": {
"POIData": {...},
"PaymentResult": {...},
"Response": {
"Result": "Failure",
"AdditionalResponse": "...",
"ErrorCondition": "Cancel"
}
},
"MessageHeader": {
"SaleID": "POSSystemID12345",
"MessageClass": "Service",
"MessageCategory": "Payment",
"ServiceID": "0207111104",
"POIID": "V400m-324688179",
"MessageType": "Response"
}
}
}
When a transaction is cancelled due to a device timeout, you should retry the transaction.