Перейти к основному содержанию
Bank Verification никогда не заводит пользователя в тупик. Пока шаг ожидает действий, человек всегда может выбрать Continue without your bank, и шаг отображает эту опцию, как только ни один из способов не подходит для его страны или банка. Затем сессия следует выбранному вами исходу для этого случая, по умолчанию это проверка. Когда неудачная попытка исчерпывает последнюю попытку из всех доступных способов, включая загрузку выписки, шаг не ждёт: он завершается самостоятельно и выполняет bank_attempts_exhausted_action (по умолчанию отклонение), если только более ранняя попытка уже не привела к окончательному решению, например несовпадению имени. В таком случае в силе остаётся это решение. На этой странице описаны альтернативные способы верификации, доступные для каждой страны, случаи, когда пользователь видит Continue without your bank, правила принятия решений в каждом случае и то, как интерпретировать это в результате.

Способы верификации

Пользователь начинает со входа в банк или проверки счёта в порядке, настроенном для его страны: см. Выбор способов для каждой страны. Загрузка выписки и микродепозиты служат резервными вариантами после этих двух. Continue without your bank идёт последним. Способ, который недоступен в стране, никогда не предлагается пользователю в ней. В консоли в разделе Страны и способы он отображается как Недоступно для этой страны.

Страна, для которой нет банковского маршрута

Страна, для которой нет маршрута ни для входа в банк, ни для проверки счёта, остаётся в шаге. Пользователи из этой страны загружают выписку, если шаг предлагает такой вариант, либо продолжают без банка. При сохранении такая страна остаётся, если параметр methods опущен или установлен в null. В её methods нельзя указать способ, так как маршрут там недоступен: такое сохранение будет отклонено с ошибкой, например Account check is not available in VNM. Пустой список также отклоняется, как и для любой включённой страны, с сообщением Choose a method: bank sign-in, account check, or both. Если ваш контракт предусматривает индивидуальные цены и не включает загрузку выписки, попытка сохранения с предложением выписки без предшествующей попытки через банк также отклонит такую страну.
Здесь Вьетнам выступает в качестве примера страны, для которой нет банковского маршрута. Для неё не задан параметр methods, поэтому сохранение проходит успешно, а пользователи видят загрузку выписки и Continue without your bank.

Загрузка выписки

При загрузке выписки требуется банковская выписка за последние 3 месяца, в которой указаны имя человека, его банк и номер счёта. Didit считывает документ, проверяет его на наличие правок и сверяет имя владельца с именем, полученным от банка, тем же способом, что и при банковской проверке. При включённом параметре bank_statement_enabled шаг предлагает этот вариант в двух случаях:
  • После платной попытки: как только в той же сессии была списана плата за вход в банк или проверку счёта, загрузка выписки становится резервным способом и предоставляется без дополнительной платы.
  • Без предшествующей попытки через банк: в любой стране, включая те, для которых нет банковских маршрутов. Для этого требуется параметр bank_statement_standalone_enabled, который включён по умолчанию. Отключите его, чтобы предлагать загрузку выписки только после платной попытки.
Загрузка выписки и микродепозиты расходуют по одной из попыток bank_max_attempts шага, тех же самых, что используются для входа в банк. Как только пользователь исчерпает их все, ни один из этих способов больше не будет предложен, даже после платной попытки. Для проверки счёта действует отдельный параметр bank_account_check_max_attempts. Поэтому там, где это единственный способ, пользователь, израсходовавший все попытки проверки счёта, всё ещё может загрузить выписку, если шаг её предлагает. Когда неудачная попытка исчерпывает последнюю попытку из всех способов, всё ещё доступных пользователю, включая загрузку выписки, шаг завершается автоматически: пользователю не предлагается продолжить, а в результате продолжение не фиксируется. Сессия следует правилу bank_attempts_exhausted_action, если только более ранняя попытка уже не привела к решению (например, несовпадению имени), которое остаётся в силе. Чтобы оставить возможность использовать резервный способ после неудачного входа в банк, установите bank_max_attempts на 2 или больше.

Когда человек видит «Продолжить без банка»

bank_continue_without_bank определяет, когда шаг показывает кнопку Продолжить без банка: Ни одно из значений не отключает эту опцию: человек всегда может продолжить. В консоли это настраивается на шаге Bank Verification в разделе Если человек не может пройти проверку с помощью параметра Показывать «Продолжить без банка»: Если остальное не сработало или С самого начала.

Что видит человек

  • Нет доступного маршрута в его стране: например, «Мы пока не можем подключиться к банкам во Вьетнаме» с возможностью загрузить выписку в разделе Другие способы подтверждения и кнопкой Продолжить без банка.
  • Банк, который нельзя использовать здесь: «Этот банк нельзя использовать здесь». Человек может ввести реквизиты своего счёта (если в этой стране доступна проверка счёта), загрузить выписку, выбрать другой банк или продолжить без банка.
  • Нет доступа к онлайн-банкингу или банк отсутствует в списке: «Подтвердите ваш счёт другим способом» с вариантами, доступными для его страны, и кнопкой Продолжить без банка.
  • Сейчас не удаётся связаться с банком: человек может повторить попытку. На экране также появляется кнопка Продолжить без банка, если альтернативный метод (вход в банк или проверка счёта) не может помочь: он не поддерживается в стране, закончились попытки либо при последней попытке также не удалось связаться с банком.
  • После продолжения: «Спасибо, вы можете продолжить». Пользователю никогда не показывается сообщение об ошибке, и он переходит к следующему шагу вашего сценария.

Выберите исход

Когда человек продолжает без банка, Didit определяет причину исходя из того, что произошло на шаге. Причина никогда не берётся с устройства пользователя. Каждая причина, фиксируемая как continuation.reason, следует собственной настройке исхода:
  • no_route: ни вход в банк, ни проверка счёта не поддерживают эту страну. Определяется параметром bank_unsupported_action, по умолчанию REVIEW, с кодом причины NOT_COVERED.
  • institution_unsupported: выбранный банк нельзя использовать на этом шаге. Определяется параметром bank_unsupported_action, по умолчанию REVIEW, с кодом причины NOT_COVERED.
  • attempts_exhausted: все попытки уже были исчерпаны и ни одна не оставалась в процессе на момент продолжения. Определяется параметром bank_attempts_exhausted_action, по умолчанию DECLINE.
  • person_choice: способ подтверждения был доступен, но человек решил продолжить без него. Сюда же относится случай, когда с банком не удалось связаться прямо сейчас: банк поддерживается, поэтому причиной считается выбор самого пользователя. Определяется параметром bank_skipped_action, по умолчанию REVIEW, с кодом причины SKIPPED.
bank_skipped_action и bank_attempts_exhausted_action принимают значения REVIEW или DECLINE. bank_unsupported_action также принимает NO_ACTION, что одобряет шаг и при этом сохраняет NOT_COVERED. В консоли это строки Банк или страна не поддерживаются, Продолжено без банка и Попытки исчерпаны на вкладке шага Исходы.
Продолжение без банка никогда не отменяет вердикт, уже вынесенный по конкретной попытке. Если попытка уже была оценена (например, банк или выписка вернули данные владельца, которые не совпадают, при этом у человека ещё оставались попытки, либо близкое совпадение не было подтверждено), шаг сохраняет этот вердикт и его коды причин. В этом случае настройки исходов из списка выше не применяются, а коды NOT_COVERED или SKIPPED не добавляются. В результате по-прежнему фиксируется, что человек продолжил процесс: см. Как это отображается в результате.

Просмотр в результатах

Решение и webhook

Элемент этого шага в bank_verifications[] в решении по сессии и в объекте decision событий webhook status.updated указывает, что пользователь продолжил без банка:
  • continued_without_bank имеет значение true: пользователь вышел из шага с помощью Continue without your bank.
  • method имеет значение none, если до того, как пользователь продолжил, ни одна попытка не была оценена. После оценённой попытки (например, если владелец не совпадает) method сохраняет метод этой попытки, а её вердикт остаётся в силе.
  • continuation указывает, как именно пользователь продолжил:
    • reason: no_route, institution_unsupported, attempts_exhausted или person_choice.
    • country: страна, в которой пользователь проходил верификацию (в формате ISO 3166-1 alpha-3), или null, если он продолжил до выбора страны.
    • offered: другие способы верификации, предложенные для этой страны, в порядке их предложения: statement, затем microdeposits. Пусто, если ничего не предлагалось.
    • institution_id и institution_name: для institution_unsupported банк, которым пользователь не смог воспользоваться: банк, который он выбрал, или банк, на котором завершилась его последняя попытка. Didit берёт оба значения из собственного списка банков, а не с устройства пользователя, поэтому для банка, отсутствующего в этом списке, оба поля останутся null. Для любой другой причины оба поля равны null.
    • continued_at: время, когда пользователь продолжил.
  • reason_codes содержит NOT_COVERED или SKIPPED, как описано в разделе Выбор исхода, если решение по шагу было принято на основании продолжения. После оценённой попытки поле сохраняет коды причин этой попытки.
  • not_covered имеет значение true для no_route и institution_unsupported.
В примере показаны только поля, рассматриваемые на этой странице. Все поля описаны в схеме BankVerificationResult в справочнике по API. Если ваш сценарий сужает возвращаемые данные, поля continued_without_bank и continuation.reason всё равно возвращаются, поэтому вы по-прежнему сможете отличить no_route от institution_unsupported, для которых возвращается общий код NOT_COVERED. Все остальные ключи continuation в этом случае имеют значение null: страна, банк, предложенные варианты и время. Сам объект continuation равен null, если пользователь не продолжил. Поле method в этом случае также не возвращается, поэтому для проверки того, что пользователь продолжил, используйте continued_without_bank, а не method.

Правила сценария

Ветви и правила пользовательских статусов могут считывать:
  • bank.continued_without_bank: true или false.
  • bank.continue_reason: no_route, institution_unsupported, attempts_exhausted или person_choice.
  • bank.method: none, если пользователь продолжил без банка до оценки какой-либо попытки. После оценённой попытки метод этой попытки.

Отчёт о сессии

Если пользователь продолжил без банка до оценки какой-либо попытки, в строке Метод верификации PDF-отчёта о сессии указывается Продолжено без банка. После оценённой попытки в ней указывается метод этой попытки.

Цены

  • За переход по опции Continue without your bank плата не взимается. Попытки, предпринятые пользователем до этого, тарифицируются в обычном порядке.
  • Загрузка выписки без предшествующей тарифицируемой попытки через банк стоит $0.20 за каждую выписку, которую Didit распознаёт и оценивает. Она тарифицируется отдельной строкой использования, Bank verification - statement upload (bank_statement_upload), и к ней применяется ставка по вашему договору или специальная цена, как и к любому дополнительному модулю. Если в вашем договоре установлены индивидуальные цены и эта услуга в него не включена, шаг не будет её предлагать.
  • Загрузка выписки или микродепозиты после оплаченного входа в банк или проверки счёта в рамках той же сессии предоставляются без дополнительной платы.

Узлы, сохранённые до появления Continue without your bank

Параметр bank_allow_skip устарел и больше не используется. Узел, сохранённый с этим параметром, теперь работает со значением, которое он подразумевал: Ранее узел, в котором пропуск был запрещён, не оставлял пользователю возможности продолжить, если ничего для него не сработало. Теперь в таких случаях отображается Continue without your bank, а решение по сессии принимается параметрами bank_unsupported_action, bank_attempts_exhausted_action или bank_skipped_action. В течение одного релиза при сохранении запроса с bank_allow_skip, но без bank_continue_without_bank, режим по-прежнему определяется на его основе. Каждое сохранение записывает bank_allow_skip обратно: true для from_start, false для when_needed. В новых интеграциях используйте bank_continue_without_bank.

Тестирование в песочнице

В приложении песочницы плата не взимается, а загрузка выписки и микродепозиты не требуют предварительной попытки через банк. Установите для bank_continue_without_bank значение from_start, чтобы увидеть Continue without your bank на первом экране, и выберите эту опцию для тестирования bank_skipped_action. Подробнее о работе приложений в песочнице см. в разделе Тестирование в песочнице.

Связанные разделы

Последнее изменение 7 ноября 2026 г.