{"title":"Time-outs","category":"default","creationDate":1560352500,"content":"<p>A time-out is an automatic transaction failure that occurs when a critical step in the payment flow, such as communication with the card issuer or a required shopper action on the terminal, is not completed within a set duration.<\/p>\n<p>After you start a transaction, a time-out occurs automatically when either:<\/p>\n<ul>\n<li>The issuer does not process a transaction soon enough. This is a <a href=\"#processing-time-out\">processing time-out<\/a>.<\/li>\n<li>The payment terminal has been waiting for shopper interaction for too long. This is a <a href=\"#device-time-out\">device time-out<\/a>.<\/li>\n<li>A general <a href=\"#request-time-out\">request time-out<\/a> occurs. The transaction may still continue on the payment terminal.<\/li>\n<\/ul>\n<h2 id=\"processing-time-out\">Processing time-out<\/h2>\n<p>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.<\/p>\n<p>When a processing time-out occurs:<\/p>\n<ul>\n<li><strong>Declined<\/strong> is shown on the terminal display.<\/li>\n<li>You receive a payment result containing:\n<ul>\n<li><code>PaymentResponse.Response.Result<\/code>: <span translate=\"no\"><strong>Failure<\/strong><\/span><\/li>\n<li><code>PaymentResponse.Response.ErrorCondition<\/code>: <span translate=\"no\"><strong>Communication timeout<\/strong><\/span><\/li>\n<\/ul><\/li>\n<\/ul>\n<p>The example payment result below indicates the transaction was canceled due to a processing time-out.<\/p>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Processing time-out response'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"SaleToPOIResponse\\\": {\\n        \\\"PaymentResponse\\\": {\\n            \\\"POIData\\\": {...},\\n            \\\"PaymentResult\\\": {...},\\n            \\\"Response\\\": {\\n                \\\"Result\\\": \\\"Failure\\\",\\n                \\\"ErrorCondition\\\": \\\"Communication timeout\\\"\\n            }\\n        },\\n        \\\"MessageHeader\\\": {\\n            \\\"SaleID\\\": \\\"POSSystemID12345\\\",\\n            \\\"MessageClass\\\": \\\"Service\\\",\\n            \\\"MessageCategory\\\": \\\"Payment\\\",\\n            \\\"ServiceID\\\": \\\"0207111104\\\",\\n            \\\"POIID\\\": \\\"V400m-324688179\\\",\\n            \\\"MessageType\\\": \\\"Response\\\"\\n        }\\n    }\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<p>When a transaction is canceled due to a processing time-out, you can retry the transaction using an alternative card or payment method.<\/p>\n<div class=\"notices yellow\">\n<p>If you do not receive either a payment result or a time-out after 120 seconds (local integration) or 150 seconds (cloud integration), your integration should automatically send a <a href=\"\/point-of-sale\/basic-tapi-integration\/verify-transaction-status\">transaction status request<\/a> to verify if the payment has been processed.<\/p>\n<\/div>\n<h2 id=\"device-time-out\">Device time-out<\/h2>\n<p>When a terminal is waiting for an interaction for too long, the transaction will time out. In most cases, this results in the transaction being canceled. In some cases, the terminal shows a different screen and the transaction continues. For example, when the tipping screen times out, the terminal shows a payment screen.<\/p>\n<p>The next table shows:<\/p>\n<ul>\n<li>The <strong>interaction<\/strong> that the terminal is waiting for.<\/li>\n<li><strong>Time-out (sec)<\/strong>: how long the terminal waits for the interaction to happen before the transaction times out.<\/li>\n<li><strong>Configurable<\/strong>: whether the time-out duration is configurable. To configure a time-out duration, contact our <a href=\"https:\/\/ca-test.adyen.com\/ca\/ca\/contactUs\/support.shtml?form=other\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Support Team<\/a>.<\/li>\n<\/ul>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Interaction<\/th>\n<th style=\"text-align: left;\">Time-out (sec)<\/th>\n<th style=\"text-align: center;\">Configurable<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\">Insert, swipe, or tap card<\/td>\n<td style=\"text-align: left;\">120<\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Scan QR code<\/td>\n<td style=\"text-align: left;\">120<\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Account type selection<\/td>\n<td style=\"text-align: left;\">120<\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Application selection<\/td>\n<td style=\"text-align: left;\">120<\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><a href=\"\/point-of-sale\/currency-conversion\">Currency conversion<\/a> acknowledgement<\/td>\n<td style=\"text-align: left;\">120<\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">PIN entry<\/td>\n<td style=\"text-align: left;\">60<\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Signature capture<\/td>\n<td style=\"text-align: left;\">60<\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Signature check<\/td>\n<td style=\"text-align: left;\">900<\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><a href=\"\/point-of-sale\/enter-payment-manually\">Manual card number entry<\/a><\/td>\n<td style=\"text-align: left;\">60<\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><a href=\"\/point-of-sale\/enter-payment-manually\">Manual expiry date entry<\/a><\/td>\n<td style=\"text-align: left;\">60<\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Authorization in progress<\/td>\n<td style=\"text-align: left;\">200<\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><a href=\"\/point-of-sale\/design-your-integration\/determine-account-structure\/configure-features#terminal-customization-hardware-features-and-receipts\">Receipt printing confirmation<\/a><\/td>\n<td style=\"text-align: left;\">120<\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><a href=\"\/point-of-sale\/donate\">Adyen Giving<\/a><\/td>\n<td style=\"text-align: left;\">30<\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><a href=\"\/point-of-sale\/tipping\">Tipping<\/a><\/td>\n<td style=\"text-align: left;\">60<\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Balance (gift card)<\/td>\n<td style=\"text-align: left;\">10<\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Final state (<code>Approved<\/code>, <code>Declined<\/code>, <code>Canceled<\/code>, <code>Error<\/code>)<\/td>\n<td style=\"text-align: left;\">4<\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>When a device time-out occurs, you receive a payment result containing:<\/p>\n<ul>\n<li><code>PaymentResponse.Response.Result<\/code>: <span translate=\"no\"><strong>Failure<\/strong><\/span><\/li>\n<li><code>PaymentResponse.Response.ErrorCondition<\/code>: <span translate=\"no\"><strong>Cancel<\/strong><\/span><\/li>\n<li><code>PaymentResponse.Response.AdditionalResponse<\/code>: indicates the type of device time-out.<\/li>\n<\/ul>\n<p>The example payment result below indicates a device time-out.<\/p>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Device time-out response'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"SaleToPOIResponse\\\": {\\n        \\\"PaymentResponse\\\": {\\n            \\\"POIData\\\": {...},\\n            \\\"PaymentResult\\\": {...},\\n            \\\"Response\\\": {\\n                \\\"Result\\\": \\\"Failure\\\",\\n                \\\"AdditionalResponse\\\": \\\"...\\\",\\n                \\\"ErrorCondition\\\": \\\"Cancel\\\"\\n            }\\n        },\\n        \\\"MessageHeader\\\": {\\n            \\\"SaleID\\\": \\\"POSSystemID12345\\\",\\n            \\\"MessageClass\\\": \\\"Service\\\",\\n            \\\"MessageCategory\\\": \\\"Payment\\\",\\n            \\\"ServiceID\\\": \\\"0207111104\\\",\\n            \\\"POIID\\\": \\\"V400m-324688179\\\",\\n            \\\"MessageType\\\": \\\"Response\\\"\\n        }\\n    }\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<p>When a transaction is canceled due to a device time-out, you should retry the transaction.<\/p>\n<h2 id=\"request-time-out\">Request time-out<\/h2>\n<p>A request can time out after 120 seconds (local integration) or 150 seconds (cloud integration) at various steps in the <a href=\"\/get-started-with-adyen\/adyen-glossary\/#tender\">tender<\/a>.<\/p>\n<p>For example:<br \/>\nIn a cloud integration, the terminal shows a screen with tipping options. After 60 seconds, the shopper hasn't entered a tip. The device time-out for tipping kicks in: the tipping options disappear and the terminal now shows a payment screen. After 90 seconds of no interaction with the payment screen, the request times out.<\/p>\n<p>When a request time-out happens:<\/p>\n<ul>\n<li>The payment terminal is still waiting for input, and the shopper can still complete the payment.<\/li>\n<li>You receive an event notification with:\n<ul>\n<li><code>EventToNotify<\/code>: <span translate=\"no\"><strong>Reject<\/strong><\/span><\/li>\n<li><code>EventDetails<\/code>: <span translate=\"no\"><strong>message=Timed+out+waiting+for+response+from+POI.<\/strong><\/span><\/li>\n<\/ul><\/li>\n<\/ul>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Request time-out event notification'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n   \\\"SaleToPOIRequest\\\":{\\n      \\\"EventNotification\\\":{\\n         \\\"EventToNotify\\\": \\\"Reject\\\",\\n         \\\"TimeStamp\\\": \\\"2024-03-25T08:58:58.979Z\\\",\\n         \\\"EventDetails\\\": \\\"message=Timed+out+waiting+for+response+from+POI.\\\"\\n      },\\n      \\\"MessageHeader\\\":{\\n         \\\"SaleID\\\": \\\"POSSystemID12345\\\",\\n         \\\"ProtocolVersion\\\": \\\"3.0\\\",\\n         \\\"MessageType\\\": \\\"Notification\\\",\\n         \\\"POIID\\\": \\\"V400m-324688179\\\",\\n         \\\"MessageClass\\\": \\\"Event\\\",\\n         \\\"MessageCategory\\\": \\\"Event\\\",\\n         \\\"DeviceID\\\": \\\"1517998565\\\"\\n      }\\n   }\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<p>When you receive a time-out event notification, you should send a <a href=\"\/point-of-sale\/basic-tapi-integration\/verify-transaction-status\">transaction status request<\/a> to verify if the payment is still in progress or has been completed.<\/p>\n<h2>See also<\/h2>\n<div class=\"see-also-links output-inline\" id=\"see-also\">\n<ul><li><a href=\"\/point-of-sale\/basic-tapi-integration\/verify-transaction-status\/\"\n                        target=\"_self\"\n                        >\n                    Verify transaction status\n                <\/a><\/li><li><a href=\"\/point-of-sale\/design-your-integration\/notifications\/event-notifications\/\"\n                        target=\"_self\"\n                        >\n                    Event notifications\n                <\/a><\/li><li><a href=\"\/point-of-sale\/error-scenarios\/\"\n                        target=\"_self\"\n                        >\n                    Handle responses\n                <\/a><\/li><\/ul><\/div>\n","url":"https:\/\/docs.adyen.com\/point-of-sale\/error-scenarios\/pos-timeouts","articleFields":{"description":"Learn when a point of sale transaction will time out.","last_edit_on":"15-12-2025 09:58","feedback_component":true,"page_id":"e119e01b-8ae0-40ac-9109-483bb67fdf55","filters_component":false,"decision_tree":"[]"},"algolia":{"url":"https:\/\/docs.adyen.com\/point-of-sale\/error-scenarios\/pos-timeouts","title":"Time-outs","content":"A time-out is an automatic transaction failure that occurs when a critical step in the payment flow, such as communication with the card issuer or a required shopper action on the terminal, is not completed within a set duration.\nAfter you start a transaction, a time-out occurs automatically when either:\n\nThe issuer does not process a transaction soon enough. This is a processing time-out.\nThe payment terminal has been waiting for shopper interaction for too long. This is a device time-out.\nA general request time-out occurs. The transaction may still continue on the payment terminal.\n\nProcessing time-out\nWhen 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.\nWhen a processing time-out occurs:\n\nDeclined is shown on the terminal display.\nYou receive a payment result containing:\n\nPaymentResponse.Response.Result: Failure\nPaymentResponse.Response.ErrorCondition: Communication timeout\n\n\nThe example payment result below indicates the transaction was canceled due to a processing time-out.\n\n    \n\nWhen a transaction is canceled due to a processing time-out, you can retry the transaction using an alternative card or payment method.\n\nIf you do not receive either a payment result or a time-out after 120 seconds (local integration) or 150 seconds (cloud integration), your integration should automatically send a transaction status request to verify if the payment has been processed.\n\nDevice time-out\nWhen a terminal is waiting for an interaction for too long, the transaction will time out. In most cases, this results in the transaction being canceled. In some cases, the terminal shows a different screen and the transaction continues. For example, when the tipping screen times out, the terminal shows a payment screen.\nThe next table shows:\n\nThe interaction that the terminal is waiting for.\nTime-out (sec): how long the terminal waits for the interaction to happen before the transaction times out.\nConfigurable: whether the time-out duration is configurable. To configure a time-out duration, contact our Support Team.\n\n\n\n\nInteraction\nTime-out (sec)\nConfigurable\n\n\n\n\nInsert, swipe, or tap card\n120\n\n\n\nScan QR code\n120\n\n\n\nAccount type selection\n120\n\n\n\nApplication selection\n120\n\n\n\nCurrency conversion acknowledgement\n120\n\n\n\nPIN entry\n60\n\n\n\nSignature capture\n60\n\n\n\nSignature check\n900\n\n\n\nManual card number entry\n60\n\n\n\nManual expiry date entry\n60\n\n\n\nAuthorization in progress\n200\n\n\n\nReceipt printing confirmation\n120\n\n\n\nAdyen Giving\n30\n\n\n\nTipping\n60\n\n\n\nBalance (gift card)\n10\n\n\n\nFinal state (Approved, Declined, Canceled, Error)\n4\n\n\n\n\nWhen a device time-out occurs, you receive a payment result containing:\n\nPaymentResponse.Response.Result: Failure\nPaymentResponse.Response.ErrorCondition: Cancel\nPaymentResponse.Response.AdditionalResponse: indicates the type of device time-out.\n\nThe example payment result below indicates a device time-out.\n\n    \n\nWhen a transaction is canceled due to a device time-out, you should retry the transaction.\nRequest time-out\nA request can time out after 120 seconds (local integration) or 150 seconds (cloud integration) at various steps in the tender.\nFor example:\nIn a cloud integration, the terminal shows a screen with tipping options. After 60 seconds, the shopper hasn't entered a tip. The device time-out for tipping kicks in: the tipping options disappear and the terminal now shows a payment screen. After 90 seconds of no interaction with the payment screen, the request times out.\nWhen a request time-out happens:\n\nThe payment terminal is still waiting for input, and the shopper can still complete the payment.\nYou receive an event notification with:\n\nEventToNotify: Reject\nEventDetails: message=Timed+out+waiting+for+response+from+POI.\n\n\n\n    \n\nWhen you receive a time-out event notification, you should send a transaction status request to verify if the payment is still in progress or has been completed.\nSee also\n\n\n                    Verify transaction status\n                \n                    Event notifications\n                \n                    Handle responses\n                \n","type":"page","locale":"en","boost":17,"hierarchy":{"lvl0":"Home","lvl1":"In-person payments","lvl2":"Handle responses","lvl3":"Time-outs"},"hierarchy_url":{"lvl0":"https:\/\/docs.adyen.com\/","lvl1":"https:\/\/docs.adyen.com\/point-of-sale","lvl2":"https:\/\/docs.adyen.com\/point-of-sale\/error-scenarios","lvl3":"\/point-of-sale\/error-scenarios\/pos-timeouts"},"levels":4,"category":"In-person payments","category_color":"green","tags":["Time-outs"]}}
