stripe / stripe-terminal-android

Stripe Terminal Android SDK
https://stripe.dev/stripe-terminal-android/
Other
93 stars 45 forks source link

tap-to-pay timeout on the payment UI #312

Closed L-is-0 closed 1 year ago

L-is-0 commented 1 year ago

Summary

There isn't a timeout for the tap-to-pay payment collection UI.

Code to reproduce

I am using Terminal.getInstance().collectPaymentMethod to show a contactless payment collection UI for my Android app, however, it doesn't seem to have a timeout for this screen even i put the device out there for more than 1 hour.

I tried to manually add a timeout and cancel the payment using the cancelable returned from Terminal.getInstance().collectPaymentMethod, and this was the error I got from the SDK not allowing me to cancel the payment from the code. "Cancellation of a Tap to Pay transaction can only happen from the activity"

I wondered is there any way we can close the payment collection screen or add a timeout for it properly?

Android version

Android 11

Impacted devices (Android devices or readers)

Android simulated reader

SDK version

2.16.0-b1

L-is-0 commented 1 year ago

Could you please kindly advise on this? @rv-stripe

rv-stripe commented 1 year ago

This will be fixed in an upcoming release. I'll keep this ticket open until it is public.

rv-stripe commented 1 year ago

👋 As of the 2.20.0 version that was just released, you can now call the cancellation method from the SDK and will not see the "Cancellation of a Tap to Pay transaction can only happen from the activity" error. Please feel free to use this to implement your own timeout if desired.