Валидация банковской карты

Проверка номера карты по алгоритму Луна

Реклама

Как устроен номер банковской карты

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

Стандартная длина — 16 цифр, но встречаются карты с 13, 15 и 19 цифрами в зависимости от платёжной системы.

Структура номера

  • Первые 6–8 цифр (BIN/IIN) — идентификатор банка-эмитента. По ним определяется платёжная система и банк
  • Средние цифры — номер счёта внутри банка
  • Последняя цифра — контрольная, рассчитывается по алгоритму Луна

Алгоритм Луна

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

Как работает алгоритм:

  1. Каждая чётная цифра (считая с конца) удваивается
  2. Если результат больше 9 — из него вычитается 9
  3. Все цифры суммируются
  4. Если сумма кратна 10 — номер корректен

Важно о приватности

Валидатор не отправляет номер карты на сторонние сервера и не сохраняет его. Тем не менее не вводите данные реальных карт без необходимости. Для тестирования используйте специальные тестовые номера, которые проходят алгоритм Луна, но не привязаны к реальным счетам.


Часто задаваемые вопросы

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