-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Transaction timeout not reported to app #374
Comments
Hi @superafroman, I tested this locally and was unable to reproduce the issue where the reader is unresponsive after the 1 hour timeout. I had tried this on the latest SDK available – please let me know if you're still seeing the reader unresponsive after waiting for an hour. If you're able to share a Payment Intent ID after reproducing this as well, that would be helpful for us to check our internal logs. As for changing the timeout, unfortunately we have no immediate plans to do so. However, you should be able to replicate a shorter timeout by starting a timer within your app when beginning to collect a payment, and call |
Hi @chr-stripe, the issue isn't that the reader becomes unresponsive, it's that our app is not notified that the payment has timed out. |
Same error. There is no such issue for Reader M2. |
Hi all, thank you for the bug report. This will be addressed in our next SDK release, which should be available in the coming weeks. Starting in SDK 3.5.0, if a payment method is not presented after an hour to the reader, payment collection will fail with a As with before, you may enforce a shorter timeout by starting a timer within your app when beginning to collect a payment, and calling I'll update this thread once 3.5.0 is available. |
Hi all -- release 3.5.0 is now available. Please upgrade and see if this is still a problem. I'm going to optimistically close this issue, but feel free to reopen if you're still experiencing problems. |
I was intentionally hoping to let the collect hang indefinitely. Is this possible in any of the 3.x versions? Is it possible to extend the 1hr timeout? |
Hi @Noitidart -- no, that's currently not possible in part due to PCI requirements. |
Got it, thanks for your fast reply. |
@billfinn-stripe - just wanted to share what I was trying to use Stripe to make, its this tap to give: So right now my limitation is every 1hr I have to refresh it, an during that 5sec refresh, if a user shows up, it could cause some user experience issues. |
Summary
After call
collectPaymentMethod
the card reader will stay active for an hour waiting for a card to be tapped or inserted and payment to be completed. If this doesn't happen at the 1 hour mark the reader will timeout. This isn't being reported to our app. I can see the event in the logs but never receive any callback or exception related to it. The result of this is that the card reader becomes inactive (no longer awaiting a payment method) but the app continues to think everything is OK.I've added some logs at the bottom of this issue.
It would be great to have this fixed, but I would also like to know if it's possible this timeout could be removed, or made configurable? 1 hour seems fairly arbitrary - certainly for our use case we either want the timeout to be ~60 seconds (if someone hasn't paid by then they aren't going to) or we want it to never timeout (e.g. a reader, active, waiting for someone to tap to donate).
Code to reproduce
Call
Terminal.getInstance().collectPaymentMethod(...)
and wait an hour ... 😅Android version
So far tested on Android 9 and 12
Impacted devices (Android devices or readers)
WisePad 3
SDK version
3.0.0
Other information
This seems to be the same issue as previously reported here: #17
Logs
The text was updated successfully, but these errors were encountered: