Mobile deep linking

We make use of the latest mobile deep linking technology in order to automatically open and redirect users to their mobile banking app. Mobile deep linking ensures consumers experience the smoothest and fastest payment flow, allowing them to utilise biometric authentication to their banking app if enabled.

If you're building Vyne into your mobile application, ensure that you make use of deep linking to allow consumers to return to your application directly from their mobile banking app. Mobile deep linking is handled differently by each platform, and uses Android App Links or iOS Universal Links.

In the hosted checkout there are two points where mobile deep linking can occur:

  1. Deep linking from the hosted checkout to a mobile banking app at the start
  2. Deep linking from a mobile banking app to your mobile application at the end

Deep linking to mobile banking apps

2317

Redirect URLs returned in the PIR are Universal Links/App Links created by banks. With Universal Links, when the mobile banking app is installed on the device the OS will manage opening the mobile banking app instead of a browser.

Deep linking from a browser works by default in all OSs. However, deep linking from a web view requires some configuration.

On Android, a custom WebView client should be implemented to open the hosted checkout in a new intent.

mWebView.setWebViewClient(new CustomWebViewClient());  
 
public final class CustomWebViewClient extends WebViewClient { 
@Override 
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
   Intent i = new Intent(Intent.ACTION_VIEW, request.getUrl());
   startActivity(i);
   return true;
}

On iOS, URLs can be processed in Swift and Objective-C functions.

func application(_ application: UIApplication,
                 open url: URL,
                 options: [UIApplicationOpenURLOptionsKey : Any] = [:] ) -> Bool {
	return true;
}
-(BOOL)application:(UIApplication *)application
          openURL:(NSURL *)url
          sourceApplication:(NSString *)sourceApplication {
	return YES;
}

Deep linking to your application

2317

Mobile application only

When consumers can only use your mobile application as part of your payment flow (they start and end in your mobile application and cannot access this flow from the web or desktop), use deep linking with a custom scheme to enable redirection to your own application.

On Android, an intent filter should be created with the custom scheme. In the example payvyne://payment URL is binded to the OutcomeActivity.

<activity android:name=".OutcomeActivity"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.NoTitleBar">
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="payvyne"
                    android:host="payment"/>
            </intent-filter>
        </activity>

In iOS, you must enable deep linking manually.

  1. To enable deep linking, open the Info tab in the Xcode project.
  2. In the URL Types section, click on the + button and add an identifier and a URL scheme.

To confirm that your URL scheme has been registered, check Info.plist file in your project for an entry named URL Types

Web and mobile application

When consumers can be redirected to your mobile application (if installed) or a browser, a Universal Link/App Link can be used. The consumer will be redirected to your application if it is installed on the consumer's device, otherwise they will be redirected to the page in a mobile browser.

Learn more about configuring Universal Links/App Links depending on the platform of your app:

Known limitations

When considering how you present the hosted checkout to your consumers, it's helpful to be aware of the limitations of mobile deep linking and its use with older web technologies.

  • Some browsers block deep linking by default such as Samsung Internet, and Firefox. In this case the user has to enable deep linking from the browser configuration.
  • On some devices, deep linking can be blocked from the system configuration. This can be done on some Samsung devices but may be possible on other devices.
  • Mobile deep linking does not work when rendering a page within an HTML frame, such as an iframe. For this reason, you should not present the hosted checkout within an iframe.