stripe-terminal-android
stripe-terminal-android copied to clipboard
TerminalException: Transaction timed out. the USB connected card reader
Summary
As shown in the log, after setting up the payment intent, a “TerminalException: Transaction timed out.” was returned. The network is normal and the card reader did not receive a disconnection callback.This card reader has this problem several times a day. I also received a callback of Transaction timed out. in another way: unplugging the USB connected card reader before calling collectPaymentMethod(). Please tell me what went wrong and how to avoid this situation.
Code to reproduce
Log [2023-11-17 16:27:58.301][ INFO ]BBPos device, device response:paymentIntent() to set payment intent - pi_3ODZa2HnmbEF7f1O02pp6LTe_secret_g6GUdTWLoFwADcP2ulaHlk8kG [2023-11-17 16:27:58.542][ INFO ]BBPos device, device response:payment intent ID successful - pi_3ODZa2HnmbEF7f1O02pp6LTe [2023-11-17 16:27:58.554][ INFO ]BBPos device, device response:payment status changed - WAITING_FOR_INPUT [2023-11-17 16:27:58.582][ INFO ]BBPos device, (onRequestReaderInput) device response: waiting for card swipe or insertion [2023-11-17 16:27:58.595][ INFO ]bbPosSwipeCard - Swipe / Insert / Tap [2023-11-17 16:28:58.614][ INFO ] User clicked cancel or timed out and cancelled the order [2023-11-17 16:28:58.628][ INFO ]BBPos device, device response:payment status changed - READY [2023-11-17 16:28:58.643][ INFO ]BBPos device, device response:payment cancellation successful [2023-11-17 16:29:28.697][ WARN ]BBPos device, device response:payment collection failed - com.stripe.stripeterminal.external.models.TerminalException: Transaction timed out. [2023-11-17 16:29:28.715][ ERROR ]bbPosPayFail-Payment failure:USER_ERROR.CARD_READ_TIMED_OUT
Android version
android 7.1.2
Impacted devices (Android devices or readers)
Connection method : USB STRM26229002959
SDK version
com.stripe:stripeterminal:2.21.1
Other information
Hi @KoRyou, can you see if you can still reproduce this with the version 3.2.1
that we released today? I believe we may have addressed this issue in that version.
🙏Thank you for your answer @chr-stripe , Our device is running on Android 7.1 system, but the strip3.2.1 version requires Android 8 or above. Can it be fixed on the 2.x.x version? Is there any other solution?
Hi @KoRyou, currently we are actively maintaining the latest 3.X SDK versions and only providing support for critical fixes and security updates in the latest 2.X versions. We will investigate adding the fix for this in the next 2.X maintenance release but we don’t have a concrete timeframe on when this would be available.
Are you looking into dropping support for Android 7.0 and 7.1 devices soon? Please refer to our SUPPORT.md documentation for the latest information on 2.X support timelines.
Thank you @chr-stripe , All of our customized devices are still running on the Android 7.1 system, and we cannot give up support at present. We look forward to Strip's 2.x version.
Hi, any update ?
Hi @Oshariser -- we do not have any update on 2.X maintenance release scheduling nor if we'll include this issue in the next 2.X maintenance release.
Hello, when this exception occurs, the SDK will use ReaderReconnectionListener to reconnect, but sometimes it will not be connected directly. After disconnectReader, it will not work again through the POS connection process. It can only be done by powering off and restarting. In version 2.x , is there any solution that can connect without power interruption?