Own list for bank selection
Kontomatik offers a solution where you can create your own frontend for the list of banks instead of users selecting a bank through our widget. To implement this, you simply need to pass the selected bank identifier to the SignIn Widget code. However, please note that this solution has some limitations. You will not have control over the subsequent verification steps, as they must remain unchanged for security and compliance reasons.
We do not recommend using this option as it’s not simple to implement, and it is difficult to diagnose any problems if they arise.
Obtaining a List of Enabled Banks
To obtain a list of enabled banks and their identifiers to be passed to the widget, we provide the Catalog (AIS) command.
The response returned by the catalog
command will contain all currently available targets, along with information about the currently used interface type, a list of available commands, and other relevant information. In our case, we are particularly interested in the name
and institution
attributes, which are necessary to identify the bank and check the currently used interface. This information is essential for passing the appropriate values to the widget code.
You shouldn’t hard-code the targets in your solutions because they may change dynamically, e.g. when a bank API is down and the banks move to a fallback interface or when a new target appears or when a target gets switched to another version.
Identifying the target and institution
Using the institution
attribute, you can identify the bank that your customer will be using. For example, the value could be “KontoBank”. Then, you need to check the value available in the name
attribute, which indicates the currently used interface. In this case, it could be the value “KontobankApi”. This value should be passed as the target
parameter in the widget code - see the Widget parameters.
The next time you run this command, the institution
will be still showing “KontoBank”, but it might happen that the target got switched to another type, for example, fallback interface, and this time the attribute name
has a value of “KontoBank”. In this situation, the value passed as the target
parameter in the widget will change to “KontoBank”.
You can use the institution
information to map the bank logo and bank name. The institution
name won’t change when we switch targets within. You can also implement a verification mechanism to alert you if a new institution
appears in the Catalog response or if there’s a missing one.
Example:
As an example, let’s say that you’ve made a command catalog request and received a response that contains the following snippet:
<target country="pl" name="MBankApi" institution="MBank" officialName="mBank" officialUrl="https://www.mbank.pl" psd2="true">
In this case, you should identify the bank using the institution field, which is “MBank”. And then, you should pass the name
value, which in this case is “MBankApi”, to the widget in order to proceed with verification. The widget code should look like this:
embedKontomatik({
client: 'YOUR_CLIENT_ID'
divId: 'kontomatik',
target: 'MBankApi',
...
});