Август 2018 — Заметка №10

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

1. Все поля для ввода данных кредитки должны иметь прописанные autocomplete и name атрибуты, чтобы браузер мог автоматически заполнить все. Автоматически вставлятся должен не только сохраненный номер карты, но еще и штуки типа даты и имени. Должна работать автоматическая вставка всех полей из штук типа 1Password.

2. Поля должны позволять вставлять данные из буфера обмена (Cmd+C, Cmd+V). Если вставка запрещена — это ужасно неудобно.

3. При вставке номера карточки из буфера обмена (Сmd+V), надо автоматически убирать из ввода пробелы перед и после, любые символы “не цифры”. То есть можно вставить и 4111111111111111 и 4111-1111-1111-1111 и 4111 1111 1111 1111 и Карточка: 4111-1111-1111-1111. Вставка таких штук не должна вызывать ошибку.

4. Не надо спрашивать тип (Visa/Mastercard) карты. Его всегда можно определить автоматически из номера.

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

6. Даты окончания действия карточки надо показывать так, как они отображены на самой карточке (например 01/22). Это значит нужен ведущий ноль у месяцев, не нужны полные года (2022 — плохо), не нужно месяц писать текстом (Февраль — плохо). Стоит учесть, что некоторые карточки действуют 10 лет, поэтому год должен позволять ввести такое значение.

7. На мобиле поля должны показывать цифровую клавиатуру.

8. Выбор даты должен и давать ввести все с клавиатуры и быстро выбрать мышкой (дроп-даун). (примечание — это спорный момент и наш дизайнер-продакт Денис со мной тут не согласен про дроп-дауны)

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

10. После ввода номера карточки ее надо проверить алгоритмом Луна. Это позволяет найти опечатки при вводе.

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

12. Для US рынка важно называть все это не просто “Credit Card”, а “Credit or Debit Card”. А то некоторые могут не понять, что можно вводить и debit cards.

13. Надо объяснять где найти СVV/CVC. Лучше даже картинкой. Но важно учесть, что у Amex карт СVV/CVC это 4 цифры (а не 3) и находятся они спереди карты, а не сзади. Надо адаптировать подсказку, если ввели Amex.