In order for banking apps to be able to return the user to your app after the payment has been resolved you need register a scheme for your app to respond to a deep link scheme known by the Gini Bank API.

You should already have a scheme and host from us. Please contact us in case you don’t have them.

The following is an example for the deep link gini-pay://payment-requester:


An example banking app is available in the Gini Mobile Monorepo iOS repository.

In order to test using our example banking app you need to use development client credentials. This will make sure the Gini Health SDK uses a test payment provider which will open our example banking app. To inject your API credentials into the Bank example app you need to fill in your credentials in Credentials.plist.

End to end testing

The app scheme in our banking example app: ginipay-bank://. Please, specify this scheme LSApplicationQueriesSchemes in your app in Info.plist file.

After you’ve set the client credentials in the example banking app and installed it on your device you can run your app and verify that healthSDK.isAnyBankingAppInstalled(appSchemes: [String]) returns true and check other preconditions.

After following the integration steps above you’ll arrive at the payment review screen.

Check that the extractions and the document preview are shown and then press the Pay button:

You should be redirected to the example banking app where the final extractions are shown:

After you press the Pay button the Gini Bank SDK resolves the payment and allows you to return to your app:

For handling incoming url in your app after redirecting back from the banking app you need to implement to handle the incoming url: The following is an example for the url gini-pay://payment-requester:

    func application(_ app: UIApplication,
                     open url: URL,
                     options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool {
        if url.host == "payment-requester" {
            // hadle incoming url from the banking app
        return true

With these steps completed you have verified that your app, the Gini Health API, the Gini Health SDK and the Gini Bank SDK work together correctly.

Testing in production

The steps are the same but instead of the development client credentials you will need to use production client credentials. This will make sure the Gini Health SDK receives real payment providers which open real banking apps.

You will also need to install a banking app which uses the Gini Bank SDK. Please contact us in case you don’t know which banking app(s) to install.

Lastly make sure that for production you register the scheme we provided you for deep linking and you are not using gini-pay://payment-requester.