Валидатор Карт


Бесплатный валидатор карт для разработчиков и тестирования. Выполняет проверку Luhn (Mod-10), определяет бренд и читает эмитента, страну и тип карты из БИН.

РЕКЛАМА
ВАЛИДАТОР КАРТ
РЕКЛАМА

Что такое Валидатор Карт?

Валидатор кредитных карт проверяет, корректно ли сформирован номер карты. Он выполняет контрольную сумму Luhn (Mod-10), сверяет длину и префикс с правилами, которые публикует каждая сеть, и читает первые шесть цифр (БИН), чтобы определить банк-эмитента, бренд, страну и тип карты.

Это инструмент для разработчиков и аналитиков, а не платёжный инструмент. Он работает полностью вне любого платёжного шлюза, поэтому вы можете быстро проверить номер из формы, строки лога или тестовой фикстуры, не отправляя его туда, куда не нужно.

Как использовать Валидатор Карт?

Три шага.

  • Шаг 1. Вставьте номер карты в поле ввода. Длина может быть от 12 до 19 цифр. Пробелы и дефисы удаляются автоматически, а значок определённого бренда появляется по мере ввода.
  • Шаг 2. Решите CAPTCHA. Она нужна, чтобы отсечь автоматизированные злоупотребления, а не мешать вам.
  • Шаг 3. Нажмите ПРОВЕРИТЬ. Номер проходит проверку длины, контрольную сумму Luhn, извлечение БИН и поиск в базе за один цикл.

Вы получаете статус Luhn (ВЕРНО или НЕВЕРНО), бренд, банк-эмитента, тип карты (кредитная, дебетовая, предоплаченная) и страну, а также исходный БИН. Откройте модальные окна для полной записи, скопируйте любое поле или экспортируйте весь результат в JSON, CSV или TXT.

Как работает Валидатор Карт?

Валидатор выполняет короткий конвейер: очистка ввода, проверка длины, Luhn, извлечение БИН, поиск в базе и возврат результата. Часть этого происходит в вашем браузере для мгновенной обратной связи, остальное на сервере. Номер карты не сохраняется в нашей базе приложения после возврата ответа.

1. Очистка ввода и проверка длины

Сначала инструмент очищает ввод, удаляя все нецифровые символы (пробелы, дефисы, точки и т. д.), оставляя только цифры. Затем проверяет, что длина номера карты находится в допустимом диапазоне 12-19 цифр, что покрывает все основные бренды от Maestro (12 цифр) до стандартных карт (16 цифр) и расширенных форматов (19 цифр).

Проверка пустого ввода

Проверяет, что номер карты введён до обработки, не допуская отправку пустых полей.

Удаление символов

Автоматически удаляет пробелы, дефисы и символы форматирования, извлекая только цифры.

Проверка длины

Проверяет, что длина номера карты от 12 до 19 цифр, отклоняя номера вне этого диапазона.

Определение бренда в реальном времени

По мере ввода инструмент анализирует первые цифры, определяет бренд карты и сразу показывает его.

2. Извлечение БИН (идентификационный номер банка)

Первые 6 цифр любого номера карты образуют банковский идентификационный номер (БИН), также известный как идентификационный номер эмитента (ИИН). Этот уникальный идентификатор показывает эмитента, бренд, тип и страну происхождения карты. Валидатор Карт извлекает этот код БИН и использует его для поиска в базе и определения бренда.

Извлечение БИН

Автоматически извлекает первые 6 цифр из очищенного номера карты как код БИН, который служит основным идентификатором для запросов к базе.

Идентификация MII

Первая цифра (идентификатор основной отрасли) указывает отраслевую категорию карты, например банковскую/финансовую (4, 5), путешествия/развлечения (3) или другие отрасли (1, 2, 6, 7, 8, 9).

Идентификация эмитента

Полный 6-значный БИН однозначно определяет финансовое учреждение, платёжную сеть, тип карты и географический регион выпуска.

Ключ поиска в базе

Извлечённый БИН становится ключом поиска. Один запрос к базе БИН возвращает эмитента, тип карты, страну и контактные метаданные в одном ответе.

3. Проверка алгоритма Luhn (Modulus 10)

Алгоритм Luhn, также известный как алгоритм Modulus 10 или Mod-10, это математическая формула контрольной суммы для проверки идентификационных номеров, включая номера кредитных карт. Разработанный учёным IBM Hans Peter Luhn в 1954 году, он выявляет ошибки в одной цифре и большинство перестановок соседних цифр.

Разберём процесс по шагам на примере номера карты 4417 1234 5678 9113.

Шаг 1: Разверните номер

Первый шаг: прочитайте номер карты в обратном порядке, справа налево. Это важный подготовительный шаг алгоритма. Например, номер 4417 1234 5678 9113 при чтении справа налево становится 3119 8765 4321 7144.

Шаг 2: Сложите цифры на чётных позициях

Используя развёрнутый номер, суммируем все цифры на чётных позициях. В этом примере складываем 3 + 1 + 8 + 6 + 4 + 2 + 7 + 4 и получаем сумму 35.

Шаг 3: Удвойте и сложите цифры на нечётных позициях

Далее обрабатываем цифры на нечётных позициях. Удваиваем каждую, а если результат двузначный, суммируем его цифры. Итоговая сумма всех обработанных значений равна 35.

Шаг 4: Финальная проверка Modulo 10

Наконец складываем две суммы: 35 + 35 = 70. Затем выполняем операцию modulo 10: 70 MOD 10 = 0. Поскольку результат 0, номер карты корректен.

Эта математическая проверка гарантирует, что номер карты соответствует структуре формата, которую используют все крупные эмитенты. Номер, не прошедший проверку Luhn, не может быть корректным номером карты, независимо от того, существует ли счёт.

4. Определение бренда карты

Инструмент определяет бренд карты, анализируя диапазоны идентификационного номера эмитента (ИИН). У каждого крупного бренда есть свои диапазоны ИИН по стандартам платёжной индустрии:

Visa

Начинается с цифры 4. Стандартная длина: 16 цифр (для некоторых вариантов 13 или 19).

Mastercard

Начинается с 51-55 или 2221-2720. Стандартная длина: 16 цифр.

American Express

Начинается с 34 или 37. Стандартная длина: 15 цифр.

Discover

Начинается с 6011, 622126-622925, 644-649 или 65. Длина: 16-19 цифр.

JCB

Начинается с 3528-3589. Длина: 16-19 цифр.

China UnionPay

Начинается с 62. Длина: 16-19 цифр.

Инструмент поддерживает определение более 30 брендов, включая Diners Club, Maestro, RuPay, Mir, Troy и многие региональные схемы. Определение бренда выполняется на стороне клиента (для мгновенной обратной связи) и на сервере (для точной проверки).

5. Поиск в базе БИН

Имея БИН, инструмент запрашивает базу БИН. Один поиск возвращает полную запись эмитента для этого диапазона:

Код БИН

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

Банк/учреждение-эмитент

Конкретное финансовое учреждение или кредитный союз, выпустивший карту.

Бренд карты

Бренд платёжной сети (Visa, Mastercard, American Express и т. д.).

Тип карты

Является ли карта кредитной, дебетовой, предоплаченной или виртуальной.

Страна выпуска

Название страны выпуска, указывающее географическое расположение эмитента.

Страна ISO A2

Код страны ISO 3166-1 alpha-2 (две буквы) для страны выпуска (например, "US", "GB", "CA").

Страна ISO A3

Код страны ISO 3166-1 alpha-3 (три буквы) для страны выпуска (например, "USA", "GBR", "CAN").

Сайт банка

Официальный URL сайта банка-эмитента или финансового учреждения (если доступен).

Контакт эмитента

Контактный телефон банка-эмитента или финансового учреждения (если доступен).

6. Сбор и отображение результатов

Результаты возвращаются одним ответом и отображаются в макете, который можно просмотреть за секунду. Вы получаете:

Сводка проверки

Цветную карточку статуса с ВЕРНО (зелёный) или НЕВЕРНО (красный), с иконками, подтверждением номера карты и описанием проверки.

Панель быстрой информации

Бренд, тип и страну выпуска рядом, каждый со своей иконкой, чтобы быстро просмотреть результат.

Статус Luhn и checksum

Отдельные значки с результатами проверки алгоритма Luhn и контрольной суммы (ВЕРНО/НЕВЕРНО).

Модальное окно деталей карты

Полную запись карты: номер, эмитент (бренд), статус Luhn, статус контрольной суммы и формат карты (длина в цифрах).

Модальное окно деталей БИН

Полную информацию БИН: код БИН, банк-эмитент, тип карты, страна ISO (название), ISO A2, ISO A3, сайт эмитента и контактный телефон эмитента.

Функция экспорта

Экспорт полных результатов проверки в нескольких форматах: JSON (структурированные данные), CSV (совместим с таблицами) или TXT (простой текст) со всеми деталями БИН, статусом проверки и метками времени.

Разбор номера кредитной карты

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

Диаграмма структуры формата номера кредитной карты
  • Первая цифра (MII): Определяет платёжную сеть (например, 4 для Visa, 5 для Mastercard, 3 для Amex/Diners Club).
  • Идентификационный номер эмитента (ИИН/БИН): Первые 6 цифр (или больше) определяют банк или финансовое учреждение, выпустившее карту.
  • Идентификатор счёта: Следующие 9-12 цифр уникальны для вашего счёта и связывают карту с финансовыми данными.
  • Контрольная цифра: Последняя цифра, рассчитанная алгоритмом Luhn, проверяет весь номер, чтобы предотвратить ошибки и мошенничество.

Справочная таблица идентификационного номера эмитента (ИИН) и банковского идентификационного номера (БИН) ниже перечисляет каждый бренд, который распознаёт валидатор, с диапазонами префиксов, ожидаемой длиной, активным статусом и методом проверки. Используйте её, чтобы определить карту вручную или подтвердить ожидаемый формат для бренда.

СЕТЬ ДИАПАЗОНЫ ИИН/БИН СТАТУС ДЛИНА ПРОВЕРКА РЕГИОН
American Express34, 37Активный15LUHNGlobal
Bankcard5610, 560221–560225Неактивный16LUHNAustralia (defunct)
BORICA2205Активный16LUHNBulgaria
China T-Union31Активный19LUHNChina
China UnionPay62, 81 (8100–8171, Discover-routed)Активный16, 19LUHNChina (Global acceptance)
Dankort5019Активный16LUHNDenmark
Dankort (Visa co-brand)4571Активный16LUHNDenmark
Diners Club enRoute2014, 2149Неактивный15NONENorth America (defunct)
Diners Club International30, 36, 38, 39Активный14, 16, 19LUHNGlobal
Diners Club US & Canada55Активный16LUHNUnited States, Canada
Discover Card6011, 644–649, 65Активный16, 19LUHNGlobal
GPN (Gerbang Pembayaran Nasional)1946 (BNI cards), 50, 56, 58, 60–63Активный16, 18, 19LUHNIndonesia
Humo9860Активный16LUHNUzbekistan
InstaPayment637–639Активный16LUHNGlobal
InterPayment636Активный16, 19LUHNGlobal
JCB3088–3094, 3096–3102, 3112–3120, 3158–3159, 3337–3349, 3528–3589Активный16, 19LUHNGlobal (Japan-based)
LankaPay357111 (JCB co-branded)Активный16LUHNSri Lanka
Laser6304, 6706, 6771, 6709Неактивный16, 19LUHNIreland (defunct)
Maestro5018, 5020, 5038, 5893, 6304, 6759, 6761, 6762, 6763Выводится12, 19LUHNGlobal (EU sunset)
Maestro (UK)6759, 676770, 676774Активный12, 19LUHNUnited Kingdom
Mastercard2221–2720, 51–55Активный16LUHNGlobal
Mir2200–2204Активный16, 19LUHNRussia
Napas9704Активный16, 19LUHNVietnam
NPS Pridnestrovie6054740–6054744Неактивный16LUHNPridnestrovian Moldavian Republic
RuPay60, 65, 81, 82, 508Активный16LUHNIndia
RuPay (JCB co-brand)353, 356Активный16LUHNIndia
Solo6334, 6767Неактивный16, 18, 19LUHNUnited Kingdom (defunct)
Switch4903, 4905, 4911, 4936, 564182, 633110, 6333, 6759Неактивный16, 18, 19LUHNUnited Kingdom (defunct)
Troy65 (Discover co-branded), 9792Активный16LUHNTurkey
UATP1Активный15LUHNGlobal (Airline travel)
UkrCard60400100–60420099Активный16, 19LUHNUkraine
UzCard8600, 5614Активный16LUHNUzbekistan
Verve506099–506198, 650002–650027, 507865–507964Активный16, 18, 19LUHNNigeria
Visa4Активный13, 16, 19LUHNGlobal
Visa Electron4026, 417500, 4508, 4844, 4913, 4917Неактивный16LUHNGlobal

Смахните в сторону, чтобы увидеть все столбцы.

Источник: Wikipedia

Зачем важна проверка карты

Проверка формата - самый дешёвый фильтр перед платёжным шлюзом. Она ловит опечатки, мусорные вставки и сломанные интеграции до того, как это обойдётся вам в сетевой round-trip, комиссию процессора или недовольного клиента. Сама по себе это не защита от мошенничества, но первый полезный шаг в любом checkout pipeline.

Ловите опечатки до шлюза

Номер, не прошедший Luhn, всегда провалится на шлюзе. Перехват в форме даёт пользователю понятное сообщение об ошибке вместо общего «транзакция отклонена» через две секунды.

Снижайте шум в сигнале мошенничества

Номера, не прошедшие проверку Luhn, не являются реальными номерами карт. Фильтрация на границе позволяет команде рисков сосредоточиться на попытках, которые действительно могут авторизоваться.

Более плавный checkout, меньше отказов

Обратная связь по формату inline (по мере ввода, до отправки) - самый дешёвый выигрыш UX в checkout. Пользователь исправляет опечатку на месте, а не уходит.

Меньше платных вызовов API

Каждая попытка авторизации на шлюзе имеет стоимость, даже при отказе. Предварительная проверка сокращает бессмысленные вызовы и связанные с ними комиссии.

Фикстура для тестов

Если вы пишете платёжный код, валидатор - удобный способ убедиться, что форма, токенизатор и маршрутизация БИН согласны в значении конкретного номера.

Гигиена данных в духе PCI

Проверка ввода - базовая привычка качества данных для платёжных форм. Она не доказывает, что карта активна или авторизована, но уменьшает мусор в потоке карточных данных.

Кто использует

Короткий честный список. Если ваша работа связана с просмотром номера карты на экране, этот инструмент для вас.

Инженеры платежей и checkout

Используйте его при настройке checkout-формы, отладке токенизатора или быстрой проверке, почему конкретный номер не проходит на шлюзе. Быстрее, чем поднимать sandbox.

Контроль качества и автоматизация тестов

Убедитесь, что форма принимает поддерживаемые бренды и отклоняет остальные, и проверяйте фикстуры перед регрессионным прогоном. Сочетайте с генератором тестовых номеров карт на главной странице для симулированных последовательностей проверки.

Аналитики мошенничества и рисков

Быстро проверьте номер из помеченной транзакции или ручной проверки. Модальное окно БИН показывает эмитента, страну и тип карты без входа куда-либо.

Инженеры поддержки

Когда клиент говорит, что карта отклоняется, 10-секундная проверка Luhn и БИН покажет, опечатка ли это, неверный бренд или вопрос, на который должен ответить шлюз.

Студенты и преподаватели

Разберите алгоритм Luhn по шагам на занятии или используйте справочную таблицу БИН как наглядный пример того, как платёжные сети структурируют нумерацию.

Часто Задаваемые Вопросы (FAQ)

Нет. Вставленный номер обрабатывается в памяти на время запроса, затем удаляется. Мы не сохраняем его в базе приложения. Обработка карточных данных описана в Политике Конфиденциальности.

Алгоритм Luhn (также Mod-10) - простая контрольная сумма, которую Hans Peter Luhn разработал в IBM в 1954 году. Каждая крупная карточная сеть требует, чтобы её номера его проходили. Проверка ловит опечатки в одной цифре и большинство перестановок соседних цифр: самая дешёвая sanity-проверка перед checkout-формой.

Номер, не прошедший Luhn, не является реальным номером карты, точка. Номер, прошедший Luhn, может быть неактивным, отменённым или поддельным, поэтому не считайте зелёную галочку доказательством, что карта работает.

Нет. Зелёный значок ВЕРНО означает, что номер корректно сформирован и проходит Luhn. Он не говорит вам следующее:

  • Что за ним существует счёт
  • Что карта активна и не отменена
  • Что на ней есть средства
  • Что она не заявлена как утерянная или украденная
  • Что CVV или срок действия верны
  • Что держатель что-либо авторизовал

Всё из этого списка требует реального платёжного процессора или банка-эмитента. Относитесь к инструменту как к первой линии проверки, а не как к доказательству, что карта авторизуется.

Практически все. Валидатор распознаёт:

  • Основные сети. Visa, Mastercard, American Express, Discover
  • Региональные бренды. JCB (Япония), China UnionPay, RuPay (Индия), Mir (Россия), Troy (Турция)
  • Дебетовые сети. Maestro, Visa Electron, Interac
  • Другие бренды. Diners Club, Diners Club International, Diners Club enRoute
  • Предоплаченные и виртуальные. Распространённые предоплаченные диапазоны и виртуальные номера карт

Длина может быть от 12 цифр (некоторые Maestro) до 19 (расширенные форматы). Если бренда нет в таблице, вы всё равно получите результат Luhn и то, что база БИН знает об эмитенте.

По самому номеру: контрольную сумму Luhn (Mod-10), длину, бренд карты и 6-значный БИН.

Из поиска БИН: банк-эмитент, тип карты (кредитная, дебетовая, предоплаченная, виртуальная), страна выпуска и сайт эмитента, если он есть у нас в базе.

Что не проверяется: CVV или CVC, срок действия, баланс счёта, статус активации, имя держателя, платёжный адрес и всё остальное, что зависит от активного счёта.

Да, с одной оговоркой. Он отлично подходит для частей стека, которым не нужен live gateway: проверка формы, определение бренда, маршрутизация БИН, сообщения об ошибках и очистка ввода.

Для всего, что должно авторизовать или симулировать отказ, используйте тестовые карты, которые публикует ваш процессор (см. руководство по тестированию Stripe, sandbox-карты PayPal и аналогичную документацию). Эти номера вызывают конкретные симулированные ответы в sandbox процессора.

Честный ответ: обычно верно, никогда не идеально. Мы регулярно обновляем набор данных, но диапазоны БИН меняются. Эмитенты добавляют новые диапазоны, снимают старые, сливаются с другими банками или передают портфель другому БИН-спонсору.

Если БИН не совпадает с записью в базе, валидатор всё равно выполняет Luhn и переходит к определению бренда по префиксу. Для любых коммерческих действий подтвердите у эмитента или по собственным данным БИН карточной сети.

Достаточно безопасно для своей задачи. Номер обрабатывается в памяти и удаляется, запросы идут по HTTPS, reCAPTCHA фильтрует автоматизацию, CSRF-токены защищают каждую отправку формы, и мы никогда не вызываем платёжный шлюз.

Как правило, вставляйте тестовые номера карт или номера, которыми вы готовы поделиться. Если проверяете свои production-карты, безопаснее делать это в своей среде с теми же правилами Luhn и БИН.