Account Linking

Good to know: account linking is useful if you wish to use AIS (Account Information Service) or skip authentication steps when initiating payments via the in-app payments module.

For initialising the account linking flow, you will need to get state and pass it to the SDK - a description on how to get state can be found here.

Customise session configuration

Firstly, you will need to integrate kevin. API and fetch account linking state. Instructions on how to do it can be found here:

AccountSessionConfiguration has multiple settings to tackle:

  • preselectedCountry - preselects country in our prebuilt UI. If not specified, the default selection is based on the SIM card. If the SIM card information is unavailable, it uses the device locale. If both are unavailable, it selects the first country from your country filter.

  • disableCountrySelection - uses only preselected country and does not allow to change it

  • countryFilter - allows only certain countries to be supported

  • bankFilter - allows to filter banks and show only selected ones to user. It accepts list of bank ids that should be show to user.

  • preselectedBank - preselects bank in our prebuilt UI

  • skipBankSelection - skips bank and country selection and redirects user to the bank SCA immediately

// initialize configuration with state fetched from the API
const config = KevinAccountSessionConfiguration(
    state: 'state',
    preselectedCountry: KevinCountry.lithuania,
    countryFilter: [
      KevinCountry.lithuania,
      KevinCountry.estonia,
      KevinCountry.latvia
    ],
    preselectedBank: 'SOME_BANK_ID',
    bankFilter: [
      'SWEDBANK_LT',
      'SEB_LT',
      'LUMINOR_LT',
      'REVOLUT_LT',
    ],
  );

Initialise linking

Call startAccountLinking() method and wait for the result.

const config = KevinAccountSessionConfiguration(
    state: 'state',
    preselectedCountry: KevinCountry.lithuania,
  );

final result = await KevinAccounts.startAccountLinking(config);

Last updated