adyen-react-native icon indicating copy to clipboard operation
adyen-react-native copied to clipboard

Deeplink - Breaking iOS Journey if User click on cancel

Open iranaahsanali opened this issue 2 years ago • 5 comments

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:

  1. Go for any web payment method i.e. iDeal
  2. Select any issuer from iDeal list
  3. App/Issuer will redirect the user to a particular banking mobile app for approval of payment
  4. After approval, the Banking app will trigger a deep link to re-direct the user back to the App
  5. 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.
  6. If the User clicks on Yes, Journey will work fine as it will trigger the app's callback.
  7. 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 ss

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.

iranaahsanali avatar Sep 12 '23 12:09 iranaahsanali

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

descorp avatar Sep 29 '23 11:09 descorp

I am closing this ticket. Please feel free to provide feedback.

descorp avatar May 03 '24 16:05 descorp

Have you enabled Universal Links as well now?

iranaahsanali avatar May 04 '24 10:05 iranaahsanali

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.......

descorp avatar May 06 '24 08:05 descorp

Hey @iranaahsanali

Were you able to address this issue?

descorp avatar Jun 03 '24 13:06 descorp