Валидация банковской карты
Проверка номера карты
Реклама
Как устроен номер банковской карты
Номер карты — не случайный набор цифр. Это структурированный идентификатор, в котором зашита информация о платёжной системе, банке-эмитенте и самом счёте.
Стандартная длина — 16 цифр, но встречаются карты с 13, 15 и 19 цифрами в зависимости от платёжной системы.
Структура номера
- Первые 6–8 цифр (BIN/IIN) — идентификатор банка-эмитента. По ним определяется платёжная система и банк
- Средние цифры — номер счёта внутри банка
- Последняя цифра — контрольная, рассчитывается по алгоритму Луна
Алгоритм Луна
Все крупные платёжные системы используют алгоритм Луна для базовой проверки номера карты. Он позволяет мгновенно отсеять опечатки и случайные ошибки при вводе.
Как работает алгоритм:
- Каждая чётная цифра (считая с конца) удваивается
- Если результат больше 9 — из него вычитается 9
- Все цифры суммируются
- Если сумма кратна 10 — номер корректен
Важно о приватности
Валидатор не отправляет номер карты на сторонние сервера и не сохраняет его. Тем не менее не вводите данные реальных карт без необходимости. Для тестирования используйте специальные тестовые номера, которые проходят алгоритм Луна, но не привязаны к реальным счетам.
Часто задаваемые вопросы
- Что такое алгоритм Луна и зачем он нужен?
- Алгоритм Луна — простая математическая формула проверки контрольной цифры. Он позволяет обнаружить большинство опечаток при вводе номера карты ещё до отправки запроса в банк. Не является защитой от мошенничества — только от случайных ошибок.
- Если номер прошёл проверку, карта существует?
- Нет. Проверка по алгоритму Луна подтверждает только математическую корректность номера. Существование реальной карты с таким номером может проверить только банк при попытке авторизации.
- Что такое BIN карты?
- BIN (Bank Identification Number) — первые 6–8 цифр номера карты. Они идентифицируют банк-эмитент и платёжную систему. По BIN можно определить, кто выпустил карту, но не данные владельца.
- Карты МИР проверяются так же, как Visa и Mastercard?
- Да, алгоритм Луна универсален для всех международных и российских платёжных систем. Отличаются только диапазоны BIN: карты МИР начинаются с 2200–2204.