After you start a transaction, a time-out occurs automatically when either:
- An issuer does not process a transaction soon enough. This is a processing time-out.
- A terminal has been waiting for shopper interaction for too long. This is a device time-out.
Processing time-out
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 (local integration) or 150 seconds (cloud integration), the Adyen payments platform automatically cancels the transaction.
When a processing time-out 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 time-out.
{ "SaleToPOIResponse":{ "MessageHeader":{...}, "PaymentResponse":{ ... }, "Response":{ ... "Result":"Failure", "ErrorCondition":"Communication timeout" }, ... } } }
In case of a processing time-out, retry the transaction using an alternative card or payment method (if possible).
If you do not receive either a payment result or a time-out response after 120 seconds (local integration) or 150 seconds (cloud integration), your integration should automatically verify whether the payment has been processed. Refer to Verify transaction status.
Device time-out
When a terminal is waiting for an interaction for too long, the transaction will time out. This results in the transaction being cancelled.
The next table shows:
- Terminal prompts that will eventually time out.
- Time-out (sec): the duration the prompt is displayed on the terminal before the transaction times out.
- Configurable: whether the time-out duration is configurable. To configure a time-out duration, contact our POS Support Team.
Prompt | Time-out (sec) | Configurable |
---|---|---|
Insert, swipe, or tap card | 120 | ![]() |
Scan QR code | 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 (Approved , Declined , Canceled , Error ) |
4 | ![]() |
When a device time-out occurs, you receive a payment result containing:
PaymentResponse.Response.Result
: FailurePaymentResponse.Response.ErrorCondition
: Cancel
The example payment result below indicates a device time-out.
{
"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 time-out, you should retry the transaction.