Bank Verification compares the account holder with an identity another step established, so it is not identity proof on its own. Put ID Verification, Database Validation, a questionnaire or
expected_details before the step. The person never types the name that is checked: Didit always compares the name the session already verified.The two methods
Both methods give the same kind of result: whether the holder matches, the holder the bank returned and the masked account. Methods differ by country, and a country can offer one of them, both, or both in either order. See the account check for its account formats, results and sandbox values.
Micro-deposits and a statement upload stay fallbacks after the two methods (
bank_microdeposits_enabled, bank_statement_enabled). They are offered only after a billed bank sign-in or account check in the same session, at no extra charge.
What the person sees
In each country, the person starts on the first method the country offers. The second one is its backup:- Bank sign-in first: the bank picker opens. Its last row, Enter your account details, starts the account check. If the bank sign-in fails, the same row appears again under Other ways to verify.
- Account check first: the account form opens, with a Sign in to your bank instead link under it.
- One method only: the person sees only that one.
Choose the methods per country
The step order
bank_method_order sets which methods the step offers, and in what order, for every country that sets none of its own. It lists open_banking, account_lookup or both, the first one first.
bank_method_order gets ["open_banking", "account_lookup"]: bank sign-in first, the account check as its backup. An empty list is refused with Choose a method: bank sign-in, account check, or both.
The step order is a default. In a country where no route serves one of its methods, that method is left out, and the country offers the rest. A country left with no method at all is refused on save, for example Choose a method: bank sign-in, account check, or both. ARE offers account check.
A country’s own order
methods on a country in bank_countries overrides the step order for that country. The person starts on the first method and is offered the second as its backup.
methods set to null, or without the key, follows the step order. The save is refused, under bank_countries.<ISO3>, when an enabled country:
- sets
methodsto an empty list, or - names a method no route serves there, for example
Account check is not available in NOR.
In the console
In the Bank verification step, Countries and methods lists each country with what bank sign-in and the account check offer there, and which method comes first. Its presets fill in every country at once:
A preset never leaves a country with nothing: where a country has only one of the two methods, that one stays on.
Financial data needs bank sign-in
Only bank sign-in reads balances, transactions and income. When the step asks for them inbank_scopes and a country offers the account check, a person who verifies by account check passes without the data. The step does not fail: the result lists what was not collected in financial_data.not_collected.
not_collected is an empty list whenever the method collected everything the step asked for. To require the data, offer only bank sign-in in the countries where you need it.
Account check settings
These keys shape the account check only. Bank sign-in keeps its own settings.
Attempts are counted per method.
bank_max_attempts counts bank sign-in attempts, and a micro-deposit or statement fallback spends one of them too. bank_account_check_max_attempts counts account checks. The step ends on bank_attempts_exhausted_action once every method the country offers has spent its attempts without a successful connection.
Read the method in the result
Decision and webhooks
Each Bank Verification step is an item ofbank_verifications[] in the session decision and in the decision object of status.updated webhooks. Its method says how the account was verified:
method is null until an account has been evaluated. Read method, and not ownership.method, to tell the methods apart: ownership.method is the name comparison that produced the score, such as exact or fuzzy.
SessionDecision schema of the API reference.
Workflow rules
Branches and custom status rules read the same value asbank.method, labelled Bank Verification Method in the rule builder, with the values Bank Sign-in, Account Check, Micro-deposits and Statement Upload. A rule compares the method value, for example a branch after an AML Screening step that sends an account check with a high risk score to review:
Session report
The session PDF report names the method in its Verification method row.Nodes saved before the methods
bank_open_banking_enabled and bank_account_lookup_enabled are retired. A node saved before bank_method_order existed now runs with the order its two switches gave:
Where the account check was on next to bank sign-in, the person now sees it as a backup in the bank picker, Enter your account details, not only when their bank is down. A node with both switches off, which offered only micro-deposits or a statement upload, is left as it is; a later save must turn on at least one of the two methods.
For one release, a save that sends no
bank_method_order but sends either switch still sets the order from the switches. Every save writes both switches back, as whether any country offers bank sign-in and whether any country offers the account check. Use bank_method_order and bank_countries.<ISO3>.methods in new integrations.
Pricing
Each method is billed at its own price, per country:- Bank sign-in has its own price, and balances, transactions and income each add theirs.
- The account check is billed once per check the bank answers: a match, a close match, a no match, an account it could not verify and an account it did not find. An account refused as typed is never billed.
Test in sandbox
A sandbox application serves both methods in every country, in the order the step sets, and bills nothing. With the default order, the person starts on bank sign-in and picks Enter your account details to run the account check. To start on the account check, setbank_method_order to ["account_lookup", "open_banking"]. The last four characters of the account choose the account check’s answer: see Test it in sandbox.
Related
- Account check: account formats, results and sandbox values.
- Account check API: check a payout account from your backend, with no session.
- Bank Verification config keys: every key of the step.
- Sandbox testing.