← Все статьи WOLLMER · ИТ
Форма, которая не даёт ошибиться
Разбор05

Форма, которая не даёт ошибиться

Форма возврата не принимает кривой расчётный счёт и карту: проверки ЦБ и алгоритм Луна.

Постановка

Прошлые попытки сделать онлайн-форму сворачивали из-за одного аргумента: клиент напишет чушь, а мы получим ошибку в платеже. Аргумент справедливый.

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

Что проверяется

Расчётный счёт. У счёта есть контрольный ключ — он считается из самого счёта и БИК по алгоритму Центробанка. Ошибся в одной цифре — ключ не сойдётся, форма не пропустит.

Заодно это ловит частую ошибку: клиенты присылают не расчётный счёт, а корреспондентский счёт банка. Внешне похоже, платёж уходит в никуда.

Номер карты. Алгоритм Луна — тот же, что у банков. Опечатка не проходит.

ИНН банка — формат и контрольная сумма.

Сумма прописью формируется из числа сама. Раньше писали руками, и расхождение было отдельным поводом вернуть заявление.

Главное

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

Когда говорят «люди будут ошибаться, поэтому оставим как есть» — это почти всегда неверный вывод. Правильный: значит, надо убрать саму возможность ошибки.

Разница между «просим внимательно проверить» и «неправильное не сохраняется» — это разница между инструкцией и решением.

Михаил Аймаутов, ИТ Wollmer

Telegram @AymautovMikhail · +7 950 270-05-56