Найти в Дзене

При переводе денег по номеру карты не боюсь допустить опечатку. Рассказываю почему

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

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

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

Да, речь именно про такие карты
Да, речь именно про такие карты

Для начала давайте разберемся с форматом номера банковской карты. Для примера возьмем следующий номер карты, где цифры заменены буквами:

ABBB BBCC CCCC CCCD

В этом номере карты:

  • A - идентификатор финансовой организации (Visa/Mastercard/...)
  • BBBBB - идентификатор банка, выдавшего эту карту
  • CCCCCCCCC - порядковый номер клиента банка (т.е. вас)
  • D - контрольная сумма

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

При оформлении новой банковской карты, банк заполняет первые 3 поля (A,B,C), а поле контрольной суммы (D) вычисляется по алгоритму Луна. В итоге, проверка правильности введенного номера карты работает следующим образом:

  • Каждая цифра с нечетным порядковым номером удваивается
  • Если удвоенное значение больше 9, из этого результата вычитается 9
  • Суммируются результаты, полученные для цифр на нечетных позициях, с исходниыми цифрами, стоящими на четных позициях
  • Итоговая сумма должна быть кратна 10

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

А что вы думаете по этому поводу? Пишите свои умозаключения в комментариях! Подписывайтесь на БОРОДАТЫЙ ПРОГРАММИСТ, чтобы всегда быть в курсе событий!