adyen-android
adyen-android copied to clipboard
3DS redirect browser when closed it does not give callback like iOS
Description: 3DS1 redirect component takes the user to the web view to complete the challenge. On pressing the close button it takes the user to the app, but it does not give callback
To Reproduce: Steps to reproduce the behaviour :
Press the pay button on the application. After landing on the challenge screen in a review, DO NOT COMPLETE THE CHALLENGE CLICK ON CLOSE BUTTON.
Expected behaviour:
It should give callback like Observe error must get call, just like in iOS didFail is called
this.redirectComponent.observeErrors(this, threeDSErrorObserver);
above method must get trigger
Android Phones:
Device: Pixel 4 API 30
This is working as expected, there is no way for us to get a callback that the browser was closed.
You could try to "guess" that this happened by checking that onResumed was called without any response, but this is not 100% reliable and a bit error prone.
Hi, we have similar issue. There must be a way how to check if browser was closed. Similar issue occurs when user is asked to choose a default browser for custom tabs and he closes the dialog. Do you have any suggestions which are reliable? I think that this problem must be handled inside Adyen Component because as you said It is not 100% reliable and a bit error prone to check it with onResume method.
Thank you. :)
The problem is that not even the component can know for sure what happened. onResume might be reliable when a 3DS1 challenge is launched in a custom tab, but when it's launched in an external browser, we have no way of getting any sort of reliable callback, unless the user completes the challenge.
Surely it must a common use case where users cancel during the payment process. It would be greatly helpful if guidelines or samples how to handle this case were provided.
Are you not able to capture if user presses back or the close button in the 3DS view?
Hi @tonihuotari , it is a common case indeed but we aren't able to get callbacks from the redirect, we are using Custom Tabs which is a simple intent that we launch. And if the device doesn't have Custom Tabs or the user decides to move the redirect to a browser, we have even less visibility on what's happening because they might resume the app while the redirect is still inside the browser.
Hi everyone, as part of our upcoming major release (5.0.0), we added a callback that will trigger when a redirect is made outside of the app. It's called setOnRedirectListener for components and onRedirect for drop-in.
This feature is set to be released in the next few weeks, through the first beta release of v5.
Another feature we added is that the redirect component will now display a "payment in progress" view with a cancel button which the shopper has to manually press to confirm that they want to abort the redirect, and which will trigger another callback that you can implement.
These features might not provide 100% exactly what you want, but we hope that with a combination of both, you will be able to cover most of your use cases.
Hi again, we just released 5.0.0-beta01 with the features mentioned above. Feel free to pick it up and send us your feedback!