account_lookup. Загрузка выписки и микродепозиты остаются резервными вариантами для обоих способов, и пользователь всегда может продолжить без банка. Чтобы проверить счёт из вашего бэкенда без сессии, например перед выплатой, используйте API проверки счёта.
Верификация банковского счёта подтверждает владельца счёта на основе данных личности, установленных другим шагом, поэтому сама по себе она не является подтверждением личности. Разместите перед этим шагом Верификацию личности, Проверку по базам данных, анкету или
expected_details. Пользователь никогда не вводит имя для проверки: Didit всегда сравнивает имя, уже верифицированное в сессии.Как это работает
1
Пользователь выбирает свою страну
На шаге верификации банковского счёта пользователь выбирает страну из предложенных шагом. Если проверка счёта настроена первой для этой страны, шаг открывает короткую форму в формате счёта этой страны. Если первым идёт вход через банк, пользователь выбирает Введите реквизиты счёта, чтобы перейти к форме.
2
Пользователь вводит реквизиты счёта
Например, IBAN, сорт-код и номер счёта или CLABE. Процесс верификации формирует форму на основе данных, возвращаемых API для этой страны, поэтому добавление новой страны со стороны Didit не потребует изменений с вашей стороны.
3
Didit сначала проверяет формат
До списания средств Didit проверяет каждое значение: его длину, символы, контрольные цифры и, для IBAN, принадлежность выбранной стране. Некорректное значение отклоняется с указанием поля, требующего исправления. Пользователь исправляет его на месте, и попытка не расходуется.
4
Банк проверяет имя на счёте
Didit выполняет одну проверку по имени, верифицированному в сессии. Любые другие данные, отправленные клиентом, игнорируются.
5
Шаг выносит решение
Ответ преобразуется в результат проверки владения счётом, и действия шага формируют вердикт точно так же, как и при входе через банк.
Где доступна проверка
Покрытие определяется по странам. На сегодняшний день в продакшне проверка работает в Нигерии, Гане и Кении. Didit подключает её по странам по мере появления тарифицируемого маршрута; в странах без него проверка не предлагается, а цены на верификацию банковского счёта всегда содержат актуальный список. Страны добавляются со временем, и шаг всегда считывает актуальный список, поэтому вам не нужно вносить изменения в интеграцию при добавлении новой страны. В поддерживаемой стране доступность проверки для пользователя определяется методами шага:- Порядок методов шага.
bank_method_orderзадаёт, какие методы предлагаются во всех странах и какой из них идёт первым. По умолчанию["open_banking", "account_lookup"]начинает со входа через банк и предлагает проверку счёта в качестве резервного варианта. - Собственный порядок для страны. Параметр
methodsдля страны вbank_countriesпереопределяет порядок шага для этой страны, например["account_lookup"]только для проверки счёта или["account_lookup", "open_banking"], чтобы начать с неё. - Неработающий банк. Если страна поддерживает проверку счёта, этот способ также служит резервным, когда банк при входе через банк недоступен или работает со сбоями: шаг переходит к форме ввода счёта до запроса согласия, пока у пользователя остаются доступные проверки счёта.
- Проверка выполняется через собственные маршруты Didit. Шаг, работающий через вашего собственного провайдера маркетплейса (
provider_key), предлагает её только при включённом параметреfallback_to_native. - Счета компаний. В сессии верификации бизнеса проверка сверяет счёт компании с верифицированной компанией в тех странах, где Didit проверяет корпоративные счета.
Что вводит пользователь
Ниже приведены форматы счетов, поддерживаемые формой. Это не список покрытия: возможность выполнения проверки в стране зависит от того, где она доступна, и шаг всегда отображает точные поля для этой страны.
В некоторых странах форма также запрашивает регистрационный номер: для счетов компаний, а в ряде стран для каждого счёта.
Перед проверкой значения пробелы, дефисы и точки удаляются, а буквы переводятся в верхний регистр, поэтому пользователь может ввести счёт в том виде, в котором его указывает банк.
Включение
Новый шаг предлагает проверку счёта по умолчанию в качестве резервного варианта для входа в банк. Чтобы начать с неё или предлагать только её, укажитеaccount_lookup первым в порядке:
Результаты
Проверки, возвращающие ответ
Каждая из них тарифицируется один раз и расходует одну из попыток проверки счёта пользователя (bank_account_check_max_attempts). Пока шаг не завершён, человек может попробовать ещё раз с другим счётом, если остались попытки. Результат содержится в ownership.result, за исключением несуществующего счёта, причина которого указывается в connection.reason_code.
Если параметр
bank_account_check_accept_close_match выключен, оба варианта приблизительного совпадения становятся no_match с кодом причины OWNER_NAME_MISMATCH: человеку не предлагается подтвердить имя, и решение определяется параметром bank_no_match_action. Вход в банк сохраняет свои приблизительные совпадения в любом случае.
Если человек израсходовал все проверки счёта и все попытки входа в банк (если для страны также доступен вход в банк) без успешного подключения, шаг остаётся открытым, пока сохраняется возможность загрузки выписки с оставшимися попытками: см. Загрузка выписки. Когда способов больше не остаётся, шаг завершается действием bank_attempts_exhausted_action (по умолчанию DECLINE), если только в одной из предыдущих попыток уже не было вынесено решение, например о несовпадении имён. В таком случае в силе остаётся это решение.
Исходы, которые никогда не тарифицируются
Ни один из этих вариантов не расходует попытку проверки. Каждый из них отображается вconnection.reason_code.
В решении
В решении по сессии шаг указывается в массивеbank_verifications[]. После того как счёт был проверен, поле method принимает значение account_lookup. Пока ни один счёт не проверен, поля method и ownership имеют значение null, а в connection.reason_code указана причина, например ACCOUNT_NOT_FOUND, PROVIDER_UNAVAILABLE или REFERENCE_IDENTITY_MISSING.
Для проверки банк не выбирается, поэтому connection.institution_id, connection.institution_name и connection.oauth имеют значение null, а connection.institution_country содержит страну, выбранную пользователем. Didit не сохраняет доступ к счёту после завершения шага, поэтому проверка, завершившаяся совпадением, получает статус connection.status: revoked с кодом reason_code: VERIFICATION_COMPLETED. Сам результат остаётся в сессии.
Проверка счёта не считывает балансы, транзакции или доходы. Если шаг запрашивает их, они перечисляются в financial_data.not_collected; см. Для финансовых данных требуется вход в банк.
method, чтобы отличить проверку счёта от входа в банк: именно это поле предназначено для данной цели.
В правилах сценариев и отчётах
- Ветви и правила статусов:
bank.methodпринимает значениеaccount_lookup(Проверка счёта в конструкторе правил), аbank.reason_codeможет принимать значениеACCOUNT_NOT_FOUND. - PDF-отчёт по сессии: в строке Метод верификации указано Проверка счёта.
Цены
Каждая проверка, вернувшая ответ, тарифицируется как одно списание за Bank Verification: совпадение, близкое совпадение, несовпадение, счёт, который не удалось проверить, и счёт, который не удалось найти, подлежат оплате. Значение, отклонённое до проверки, недоступная проверка и сессия без подтверждённого имени для сравнения никогда не тарифицируются. Цена устанавливается для каждой страны: см. цены на Bank Verification. Проверка счёта является самостоятельным платным методом, а не резервным вариантом:bank_fallback_used_action для неё не срабатывает. После оплаченной проверки микродепозиты и загрузка выписки включены без дополнительной платы в той же сессии, если шаг их активирует и страна их поддерживает.
Тестирование в песочнице
В приложении песочницы проверка выполняется на симулированном сервисе, и плата не взимается. Песочница предлагает оба метода в каждой стране в порядке, заданном шагом: при порядке по умолчанию выберите Введите реквизиты счёта, чтобы запустить проверку, или установитеbank_method_order в значение ["account_lookup", "open_banking"], чтобы начать с неё.
Последние четыре символа счёта, введённого человеком (IBAN, либо номер счёта), определяют ответ. Любое другое окончание даёт совпадение с подтверждённым именем.
Песочница регистрирует каждую проверку, по которой получен ответ, как использование с нулевой стоимостью, поэтому вы можете видеть, какие проверки тарифицировались бы в продакшн-сессии.
IBAN, CLABE и CBU содержат контрольные цифры, поэтому вы не можете просто изменить их последние четыре символа. Используйте эти значения, которые проходят все проверки формата:
- Germany (IBAN)
- United Kingdom
- United States
- Mexico (CLABE)
- Argentina (CBU)
- India