Deeplink - Breaking iOS Journey if User click on cancel
Describe the bug For the Web redirect payment method, if the User needs approval from the banking app using the deep link, the User journey cannot be completed if the user clicks on cancel.
To Reproduce Steps to reproduce the behaviour:
- Go for any web payment method i.e. iDeal
- Select any issuer from iDeal list
- App/Issuer will redirect the user to a particular banking mobile app for approval of payment
- After approval, the Banking app will trigger a deep link to re-direct the user back to the App
- Once the deep link is triggered, Journey will be redirected to Safari with a prompt, that will show do you want to open the app > Yes or Cancel. Screenshot attached for prompt.
- If the User clicks on Yes, Journey will work fine as it will trigger the app's callback.
- If the User clicks on cancel, the Journey will be in a hanging state.
Expected behaviour One possible solution for this problem could be to go with Universal links instead of deeplinks. As in universal links, Apple will not show a prompt and re-direct the user directly to the app.
Apple doesn't allow query param in Universal Links and in redirect URL Adyen append query operator every time.
Let's take an example scenario:
Deeplink: myapp-adyencheckout://
After successful payment, Adyen will hit this URL: myapp-adyencheckout://?redirectResult=Value.......
So the problem is "?", can we avoid it somehow, In the universal link, it should be with "?".
Screenshots
Desktop (please complete the following information):
- OS: iOS
- Browser Any
- Version: 1.0.0
Additional context We should allow end users to go with Deeplinks and Universal links both.
Hey @iranaahsanali
No. Unfortunately, this is a limitation of mobile OS(s). Both iOS and Android suffer from similar issues. We are working on potential solution
I am closing this ticket. Please feel free to provide feedback.
Have you enabled Universal Links as well now?
Hey @iranaahsanali
Sorry, I misread your original question.
Apple doesn't allow query param in Universal Links and in redirect URL Adyen append query operator every time.
I believe there is a way to overcome this problem by providing "wildcard" path:
{
"applinks": {
"apps": [],
"details": [
{
"appID": "TEAMID.BUNDLEID",
"paths":[ "*" ]
}
]
}
}
myapp-adyencheckout://?redirectResult=Value.......
You can provide first part of the path as well:
myapp://adyencheckout?redirectResult=Value.......
Hey @iranaahsanali
Were you able to address this issue?