Перейти к содержимому
Tutorial

Подтвердите номера IBAN одним вызовом API

| 5 min read

Подтвердите любой IBAN, извлеките код страны и контрольные цифры и получите обратно отформатированную строку. Один POST-запрос, более 80 стран, банковский SDK не требуется.

International bank building facade
Photo by Sean Pollock on Unsplash

Ваша платежная форма принимает международные банковские переводы. Пользователь вводит 22-значный номер IBAN. Прежде чем отправить это в свой платежный процессор и дождаться сбоя, вам нужно обнаружить опечатки. на уровне формы. Проверка IBAN включает в себя алгоритм контрольных цифр по модулю 97, зависящий от страны. правила длины и анализ структуры BBAN. Вы можете написать это самостоятельно, воспользоваться библиотекой или позволить API справится с этим.

Ботоя /v1/validate/iban конечная точка принимает строку IBAN и возвращает, является ли она действительный, код страны, название страны и форматированная версия номера. Один ПОСТ запрос, нет банковского SDK, нет сбора регулярных выражений, которые нужно поддерживать.

API-вызов

Ответ:

Ответ дает вам четыре поля. valid это логическое значение, которое вам нужно для ворота на уровне формы. country_code и country позвольте вам автоматически обнаружить страна банка пользователя для последующей логики, такой как выбор валюты или налоговые правила. formatted возвращает IBAN в стандартной четырехсимвольной группе людей ожидайте увидеть в счетах и банковских выписках.

Если IBAN не проходит проверку контрольной цифры, вы все равно получаете проанализированные поля:

The valid: false флаг — это все, что вам нужно. Никаких исключений, которые нужно перехватывать, никаких кодов ошибок. чтобы посмотреть вверх. Проверьте логическое значение и отобразите сообщение об ошибке.

Node.js

Питон

Форматы IBAN по странам

Длина IBAN зависит от страны. Первые два символа всегда представляют собой код страны по стандарту ISO 3166-1. за которыми следуют две контрольные цифры, а затем основной номер банковского счета (BBAN). Вот пять самых распространенные форматы в европейских платежах:

Страна Код Длина Формат Пример
Германия ИЗ 22 DE + 2 контрольные цифры + 8 код банка + 10 счет DE89 3704 0044 0532 0130 00
Великобритания ГБ 22 ГБ + 2 контрольные цифры + 4 банка + 6 кодов сортировки + 8 счетов GB29 NWBK 6016 1331 9268 19
Франция фр. 27 FR + 2 контрольные цифры + 10 банковских + 11 счет + 2 ключа FR76 3000 6000 0112 3456 7890 189
Испания ES 24 ES + 2 контрольные цифры + 4 банка + 4 филиала + 2 контрольные + 10 счета ES91 2100 0418 4502 0005 1332
Нидерланды Нидерланды 18 NL + 2 контрольные цифры + 4 банка + 10 счетов NL91 ABNA 0417 1643 00

API обслуживает все более 80 стран в реестре SWIFT IBAN. Вам не нужно поддерживать справочная таблица длин и форматов; конечная точка проверяет соответствие правильным правилам для каждый код страны.

Проверка формы React/Preact при размытии

Самая распространенная интеграция: проверка IBAN, когда пользователь выходит из поля ввода. Вызов размытия (а не при каждом нажатии клавиши) снижает использование API и позволяет избежать мигания. сообщения об ошибках, пока пользователь все еще печатает.

Компонент вызывает API, когда поле теряет фокус. Если IBAN действителен, он проходит проверку. анализируемые данные (код страны, форматированная строка) до родительской формы через onValidated. Родитель может затем автоматически заполнить валюту, настроить маршрутизацию или отобразить отформатированный номер IBAN как подтверждение.

Пакетная проверка номеров IBAN из CSV

Финансовым командам часто необходимо проверить список IBAN поставщиков или сотрудников, прежде чем запускать пакетная оплата. Этот сценарий читает CSV, проверяет каждый IBAN и помечает недействительные записи.

Сценарий завершается с кодом 1, если какой-либо номер IBAN недействителен, что позволяет использовать его в качестве шага CI или проверка перед загрузкой. Для больших файлов (более 1000 строк) добавьте небольшую задержку между запросами или используйте ключ API, чтобы получить более высокие ограничения скорости.

Регистрация в Stripe Connect

Приглашая продавцов или фрилансеров через Stripe Connect, вы собираете их банковские реквизиты, чтобы настроить выплаты. Проверка IBAN перед звонком stripe.accounts.createExternalAccount позволяет избежать обращения к API Stripe туда и обратно, которое в любом случае потерпит неудачу. Это также позволяет вам извлечь код страны, чтобы установить правильную валюту выплаты.

Схема проста: сначала проверьте, извлеките страну, сопоставьте ее с валютой, а затем создать внешнюю учетную запись. Если IBAN недействителен, пользователь сразу же увидит ошибку. ждать, пока Stripe отклонит его несколько секунд спустя.

Ключевые моменты

  • Один POST, четыре поля. Отправьте строку IBAN на /v1/validate/iban и получите срок действия, код страны, название страны и отформатированный номер.
  • 80+ стран. Конечная точка охватывает все страны в реестре SWIFT IBAN. Никакой логики, специфичной для конкретной страны, с вашей стороны.
  • Отлавливайте ошибки на уровне формы. Подтвердите размытие в платежной форме, чтобы предотвращайте попадание недействительных номеров IBAN в ваш банк или платежную систему.
  • Нет хранилища, нет журналирования. IBAN обрабатывается в памяти и отбрасывается. Ничего не сохраняется.
  • Доступен бесплатный уровень. Анонимный доступ при 5 запросах в минуту, 100 в день. Для разработки и тестирования не требуется ключ API.

FAQ

Проверяет ли этот API существование банковского счета?
Нет. Он проверяет структуру IBAN и контрольную сумму по модулю 97. Он подтверждает, что номер отформатирован правильно, но не связывается с каким-либо банком и не проверяет, открыт ли счет или пополнен ли он.
Сколько стран поддерживает проверка IBAN?
Более 80 стран, принявших стандарт IBAN, включая все страны-члены ЕС/ЕЭЗ, Великобританию, Швейцарию, Саудовскую Аравию и Бразилию. Полный список соответствует реестру SWIFT IBAN.
Могу ли я отправить IBAN с пробелами?
Да. Пробелы автоматически удаляются перед проверкой. «DE89 3704 0044 0532 0130 00» и «DE89370400440532013000» возвращают один и тот же результат.
Нужен ли мне ключ API для проверки номеров IBAN?
Нет. Анонимный доступ допускает 5 запросов в минуту с ограничением скорости на основе IP и 100 запросов в день. Для более высокой пропускной способности зарегистрируйтесь для получения ключа API на сайте botoi.com/api.
IBAN, который я отправляю, сохраняется или регистрируется?
Нет. Номер IBAN проверяется в памяти и немедленно удаляется. Ничего не сохраняется и не записывается в журнал.

Начните разработку с botoi

150+ API-эндпоинтов для поиска, обработки текста, генерации изображений и утилит для разработчиков. Бесплатный тариф, без банковской карты.