hardclient scroll to top
hardclient telegram
Подписывайтесь на мой новый канал: рассказываю об интересных фичах из мира e-commerce каждый день

ОПЛАТА КАРТОЙ ОНЛАЙН

ЛУЧШИЕ ПРАКТИКИ UX/UI В E-COMMERCE
129
ГАЙДЛАЙНОВ
В этой статье мы разберем, что стоит учесть, чтобы предоставить лучший клиентский опыт при оплате заказа онлайн с помощью банковской карты. Как всегда, детально и с примерами.

Есть идеи по дополнениям – обязательно пишите, буду рад обсудить. Подпишитесь на выход новых статей в Telegram и делитесь этим постом с друзьями и коллегами.
Автор сайта HardClient.com
СТРУКТУРА СТАТЬИ
Для удобства статью я разбил на блоки. Так будет легче для восприятия. Каждый из блоков содержит в себе детальный чек-лист.
29 детальных чек-листов по e-commerce доступны в моем Telegram.

1. ОБЩИЕ ТРЕБОВАНИЯ

Страница быстро загружается

Базовый момент: чем дольше клиент ждет загрузки страницы, тем выше его недовольство – и шанс отмены покупки.

Без вторичных элементов

Не располагайте на странице ввода данных карты какие-либо вторичные элементы: фокус клиента должен быть только на форме.
hardclient

Без встроенных интерфейсов

Не размещайте сторонний интерфейс в основном интерфейсе магазина. Особенно если в обоих окнах предполагается прокрутка.

Мобильная оптимизация

Сделайте так, чтобы формой было удобно пользоваться как на ПК, так и на мобильных устройствах.

Горизонтальная ориентация экрана

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

Содержит сумму заказа

В интерфейсе должна содержаться общая сумма заказа, чтобы клиенту не требовалось переходить обратно для ее проверки.
hardclient

Магазин виден по умолчанию

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

Перекликается с дизайном карты

Чтобы сделать интерфейс более привычным для клиента, сделайте так, чтобы он перекликался с дизайном самой банковской карты.
hardclient

Расположение полей

Для облегчения восприятия поля ввода можно расположить в тех же местах, где они расположены на банковской карте.
hardclient

Размер полей vs. данные

Подстраивайте размер полей под размер вводимых данных. Нет смысла делать поле ввода срока действия слишком широким, если в нем будет всего 4 цифры.
hardclient

Поля выделяются на фоне

Поля ввода должны выделяться в рамках интерфейса – за счет другого цвета фона, обводки или тени.

Быстрая оплата

Возможность быстрой оплаты с помощью Yandex.Pay, Apple Pay, Google Pay позволяет клиенту не тратить время на повторный ввод данных.
hardclient

Кнопки быстрой оплаты в начале

Разместите кнопки быстрой оплаты до ввода данных карты, т.к. это более простое для клиента действие, требующее меньше сил и времени.
hardclient

Возврат в магазин

Предусмотрите возможность возврата в магазин до оплаты, чтобы клиент в случае проблем не уходил из интерфейса полностью.
hardclient

На языке клиента

По умолчанию локализуйте форму ввода карты под язык клиента, установленный на устройстве клиента.
hardclient

Возможность изменить язык

При этом у клиента должна быть возможность изменить язык формы, если ему более удобно работать с интерфейсом на другом языке.
hardclient

Пометка про ограничения VPN

Если интерфейс оплаты недоступен через VPN-соединение, лучше сказать об этом на более ранних шагах, чтобы лучше управлять ожиданиями клиента.
hardclient

2. ТИПЫ КАРТ

Поддерживаемые типы

По возможности поддерживайте максимально широкий спектр типов карт: Visa, MasterCard, Maestro, МИР, JCB, Amex, China Union Pay.

Отображаются сразу

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

В виде иконок

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

Визуально вторичны

При этом логотипы систем должны быть визуально вторичны и не должны восприниматься, как кнопки, на которые можно нажать.
hardclient

Иконки цветные

При этом иконки платежных систем лучше отображать в цвете. Иначе у некоторых клиентов могут возникнуть проблемы с восприятием (например, MasterCard vs. Maestro).
hardclient

В хорошем качестве

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

3. PLACEHOLDER'Ы

Добавлены

Placeholder’ы в полях позволяют облегчить восприятие и упростить клиенту ввод данных карты.
hardclient

Отличаются от вводимого текста

Placeholder’ы должны визуально отличаться от вводимого текста, чтобы клиенту легче различить то, что уже введено, от того, что еще нужно заполнить.
hardclient

Визуально вторичны

Чаще всего placeholder выполняют в полувыцветшем цвете относительно вводимых значений.

Достаточно контрастны

При этом цвет placeholder’а все же должен быть достаточно контрастным для того, чтобы его легко было прочитать на фоне поля.
hardclient

Дополняют заголовки

Если вы используете заголовки полей, placeholder’ы могут их дополнять и содержать шаблон ввода: например, «ММ/ГГ» для срока экспирации.
hardclient

Содержат названия полей

Иногда, чтобы разгрузить интерфейс, placeholder’ы сами могут выполнять роль заголовков и содержать названия полей.

Не дублируют заголовки

При этом если текст placeholder'ов дублирует текст заголовков, смысла отображать и то, и то нет.
hardclient

Не пропадают при активации

Placeholder’ы не должны пропадать при активации поля ввода. Любое изменение их вида должно происходить лишь при начале ввода.
hardclient

Видны при вводе

Если placeholder’ы содержат названия полей, при вводе они могут уменьшаться, но быть видимыми. Так клиент всегда сможет понять, что это за поле.

Локализованы

К примеру, если на устройстве клиента выбран русский язык, в качестве placeholder’а отображайте ММ/ГГ, а не MM/YY.

Видны полностью

Сделайте так, чтобы placeholder’ы не обрезались и были видны полностью. Особенно если пустое место позволяет это сделать.
hardclient

Видны при очистке поля

При полной очистке поля placeholder должен появляться / возвращаться в исходное положение.

Частичная видимость

Если placeholder содержит шаблон ввода, при вводе текста недостающую часть шаблона можно отображать: например, «12/ГГ», когда введен только месяц.
Будьте в курсе выхода новых статей – подпишитесь на мой канал в Telegram

4. ВВОД ДАННЫХ

Активация по умолчанию

Если ввод данных карты – единственное целевое действие на странице, активируйте поле ввода ее номера по умолчанию – сэкономите клиенту 1 клик.

Авто-подстановка

Авто-подстановка данных сохраненными в браузере значениями карты сократит время на ввод и поможет оплатить покупку, если карты не оказалось под рукой.
hardclient

Корректная маркировка

Предложение вставить какие-либо другие данные при вводе карты вызовет лишь недоумение. В Яндексе вместо номера карты предлагают вставить ID клиента:
hardclient

Реакция на наведение

Поля ввода должны реагировать на наведение курсора, давая тем самым дополнительную визуальную обратную связь.

Highlight активного поля

Подсвечивайте активное поле на фоне остальных, чтобы сместить на него фокус внимания клиента.
hardclient

Быстрая очистка

Если клиент ввел данные с ошибкой и хочет ввести их заново, быстрая очистка поля поможет ему избежать стирания текста посимвольно.
hardclient

Очистка видна только при вводе

Нет смысла отображать кнопки очистки полей, если они пусты. Кнопки должны появляться, если уже есть введенные значения.

Отступы в номере карты

Маска с отступами между блоками цифр помогает упростить проверку номера карты. Проверить 4 блока по 4 цифры легче, чем одно 16-значное число.
hardclient

Номер карты – одно поле

При этом не стоит разбивать номер карты на 4 отдельных поля, особенно если авто-переключение между полями не предусмотрено.

Логотип платежной системы

При вводе первых цифр номера карты появление логотипа платежной системы сыграет роль подтверждения корректности ввода данных.
hardclient

Логотип банка

Из данных номера карты можно подтягивать и банк-эмитент. Это дополнительно подтвердит, что клиент на правильном пути при вводе данных.
hardclient

Обновление (?) дизайна

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

Слэш в сроке экспирации

Не утруждайте клиента вводом слэша между месяцем и годом экспирации – добавляйте его автоматически.

Оптимизация ввода года

Спроектируйте ввод года экспирации в сокращенном формате. Это позволит сократить действия по вводу данных на 2 символа.

Оптимизация ввода месяца

Если клиент вводит месяц одним символом (например, 5), нуль можно подставить автоматически – сэкономим клиенту еще 1 действие.

Без выпадающих списков

Ввод месяца и года лучше не производить через выпадающие списки. Это менее удобно и требует от клиента больше действий.
hardclient

Курсор в конце строки

По умолчанию курсор при вводе данных должен находиться в конце строки. Иначе мы рискуем получить ошибочный ввод. Fun Craft, спасибо за пример.

Реакция масок на стирание

При стирании номера карты или срока убирайте пробелы в отступах и слэш (в дате) автоматически – не заставляйте клиента делать это самостоятельно.

Без имени владельца

В большинстве случаев имя владельца не требуется. Упразднив его ввод, вы значительно экономите клиенту время и повышаете вероятность оплаты.
hardclient

Без запроса доп.контактов

Воздержитесь от запроса дополнительных контактных данных в интерфейсе оплаты – особенно если клиент вам их и так предоставил на предыдущем шаге.
hardclient

Имя владельца в caps lock

Если имя владельца все же требуется ввести, автоматически переводите текст в верхний регистр по аналогии с самой картой, чтобы его легче было проверить.
hardclient

Латиница по умолчанию

Так как имя владельца нужно вводить строго на латинице, можно вне зависимости от раскладки учитывать именно ввод латинских символов.

Транслитерация

В некоторых случаях также встречается транслитерация кириллического текста на латиницу, если у клиента на клавиатуре включена русская раскладка.

Подсказки по CVV/CVC-коду

Поиск CVV/CVC кода может вызвать у части клиентов затруднения. Поэтому его ввод можно снабдить подсказкой о том, как его найти.
hardclient

5. ПЕРЕКЛЮЧЕНИЕ МЕЖДУ ПОЛЯМИ

Поддержка табуляции

При нажатии на клавишу Tab должна происходить активация следующего поля в рамках формы ввода.

Порядок переключения

Убедитесь, что поля в рамках табуляции расположены в корректном порядке: номер – дата экспирации – CVC-код.

Нажатие на return

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

Текст return при переключении

В некоторых браузерах можно задавать текст клавиши return. Для переключения между полями выберите значение Next.

Текст return для последнего поля

При этом в последнем поле ввода (CVC-код) текст клавиши можно изменить на Done, Enter или Go.

Авто-переключение

Переключаться к следующему полю можно и без нажатия прочих кнопок – просто при достижении требуемого количества символов в поле ввода.

Сокращение числа полей

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

Переключение назад

Авто-переключение может работать и в обратном режиме: при нажатии на backspace в пустом поле можно активировать предыдущее.

6. ОГРАНИЧЕНИЕ ВВОДА И ВАЛИДАЦИЯ

Фиксация клавиатуры

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

Номер – только числа

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

Номер – платежная система есть

Платежная система должна определяться на основе первых цифр номера карты. Если не определяется – выдаем ошибку.

Номер – банк-эмитент есть

Банк-эмитент также должен определяться на основании номера карты. Не определяется – предлагаем перепроверить.

Номер – алгоритм Луна

Номера большинства карт можно проверить по специальному алгоритму Луна (Luhn Algorithm). Это позволяет сократить риски опечаток при вводе.

Номер – число символов

В зависимости от платежной системы, номер карты должен быть определенной длины. В примере, хоть система и MasterCard, клиент может ввести 19 символов, а не 16:
hardclient

Срок – только числа

Ограничьте ввод в поле только числами. Смысла давать клиенту вводить в поле что-либо еще нет.

Срок – дата в будущем

В противном случае клиент пытается ввести просроченную карту, которая фактически не сработает.
hardclient

Срок – месяц существует

Значения месяца должны быть в промежутке от 01 до 12. Если клиент уже ввел 1 в качестве первого символа, позволяйте ввести лишь 0, 1 и 2.
hardclient

Срок – число символов

Поле должно содержать ровно 4 символа (если год указываем двумя символами). Если нет – выдаем ошибку.

CVV/CVC-код – только числа

Как и в случае с номером и сроком, ограничьте ввод CVV/CVC-кода только числовыми значениями.

CVV/CVC-код – число символов

В большинстве случаев код – это ровно 3 символа. Исключение – American Express с кодом, состоящим из 4 символов.
hardclient

Имя владельца – латиница

Практически во всех картах, которыми мы пользуемся, имя владельца указано именно латиницей.

Обработка корректного ввода

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

7. ОБРАБОТКА ОШИБОК

При деактивации поля

Сообщение об ошибке должно появляться сразу при деактивации конкретного поля, а не когда клиент ввел все поля и пытается подтвердить ввод данных.

Не во время ввода

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

Привлекает внимание

Если требуется скорректировать какое-то из полей, привлеките к нему внимание – например, за счет появления обводки красного цвета.
hardclient

Ошибка видна на мобильных

Сообщение об ошибке должно быть видно без необходимости прокрутки на стороне клиента. Реализовать его можно в формате небольшого popup'а.

Вибро-отклик

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

Поддержка дальтоников

Чтобы повысить удобство работы для людей с дальтонизмом, снабдите текст ошибки релевантной иконкой (например, восклицательным знаком в кружке).
hardclient

Поддержка незрячих

Если у клиента проблемы со зрением и он использует voice over, убедитесь, что события перехода от поля к полю корректно отрабатываются и зачитываются.

Текст ошибки есть

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

Текст рядом с полем

Разместите текст об ошибке рядом с соответствующим полем. Так клиенту легче будет понять, где именно она произошла.
hardclient

На языке клиента

При локализации интерфейсов учитывайте и тексты подсказок об ошибке. Вот такого встречаться не должно:
hardclient

Текст не дублируется

В дублировании текста подсказок нет никакого смысла. От подобных механик лучше отказаться:
hardclient

В тексте есть конкретика

Вместо того, чтобы просто сообщать об ошибке, поясняйте, в чем именно она заключается и как ее исправить.
hardclient

Целевое действие

Текст ошибки должен не просто констатировать ее факт, а отталкиваться от целевого действия и призывать к ее корректировке.
hardclient

Текст легок для понимания

Сделайте текст об ошибке максимально простым и кратким, уберите из него все жаргонизмы.

Поля не стираются

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

Пропадает при корректировке

При корректировке поля сообщение должно исчезать. Иначе это введет клиента в заблуждение («я же поправил – почему снова ошибка?»).

Корректировка при ошибках сервера

В случае ошибок на стороне сервера не стирайте введенные данные, а дайте клиенту возможность их скорректировать и повторить оплату.
hardclient
Будьте в курсе выхода новых статей – подпишитесь на мой канал в Telegram

8. ЗАЩИТА ДАННЫХ

Безопасное соединение

Базовый момент: ввод данных банковской карты должен происходить на странице, доступной через защищенное соединение.
hardclient

Платформа оплаты

Сам сайт, на котором производится оплата, должен быть достаточно известен и внушать доверие. Иначе есть риск, что клиент «отвалится» на последнем шаге.
hardclient

Сообщение о защите данных

Иногда при вводе данных карты можно встретить отдельный текст, в явной форме поясняющий, что передача данных защищена.
hardclient

Иконки систем безопасности

Иконки систем защиты (Verified by Visa, Mastercard Secure Code, PCI DSS Compliant и т.д.) также могут повысить доверие клиента к форме ввода данных.
hardclient

Иконка замка

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

Скрытие CVC/CVV-кода

Предусмотрите возможность скрывать символы CVC-кода, если клиент вводит его в людном месте, и отображать при необходимости для проверки.
hardclient

9. СКАНИРОВАНИЕ КАРТЫ

Функция доступна

Реализуйте возможность сканирования карты камерой на мобильном, чтобы избавить клиента от необходимости ручного ввода всех данных.

Функция понятна

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

Быстрое сканирование

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

Сканирование корректно

Распознавание данных карты должно происходить корректно – даже если значения на карте частично стерлись. Иначе получим раздражение и негатив.

10. СОХРАНЕНИЕ ДАННЫХ КАРТЫ

Функция доступна

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

Без сохранения по умолчанию

Сохранение данных карты по умолчанию, особенно если элемент визуально вторичен и плохо заметен, может быть расценено, как dark pattern.
hardclient

Защита данных

Предложение сохранить карту может быть воспринято с недоверием. Поэтому его можно снабдить доп.сообщением о том, что данные будут защищены.
hardclient

Подстановка в 1 клик

В случае если у клиента уже есть сохраненная карта, у него в рамках интерфейса должна быть возможность вставить ее данные в 1 клик.

11. КНОПКА ОПЛАТЫ

Контрастна

Так как это ключевая кнопка СТА, она должна привлекать к себе основной фокус внимания. Первое, за счет чего этого можно достичь – ее контрастность.

Достаточно большая

Сделайте кнопку оплаты достаточно большой, чтобы на нее легко было нажать. В том числе и на мобильных устройствах.
hardclient

По ширине экрана

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

Целевое действие

Текст кнопки оплаты должен отталкиваться от целевого действия, а не от факта: «Оплатить», а не «Оплата».
hardclient

Текст хорошо читается

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

Реакция на наведение

Сделайте кнопку оплаты интерактивной, чтобы она реагировала на наведение курсора и давала визуальную обратную связь.

Сумма к оплате

Иногда в рамках кнопки можно поместить сумму к оплате. Это сделает кнопку более информативной.
hardclient

Сумма в правильном формате

Если в кнопке есть сумма, убедитесь, что она будет отображаться корректно. В этом примере и валюта расположена не там, и сумма прилипает к тексту:
hardclient

Защита данных

Чтобы подсветить, что данные защищены, и повысить доверие клиента, кнопку можно снабдить релевантной иконкой замка.

Текст в случае пустых полей

По умолчанию при загрузке страницы текст кнопки может призывать к заполнению полей.
hardclient

Действие при клике по кнопке

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

Неактивна после первого клика

После первого клика pointer events в кнопке лучше отключить, чтобы клиент не послал по ошибке 2 запроса, повторно кликнув по ней.

Индикатор ожидания

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

12. СОГЛАСИЕ С УСЛОВИЯМИ

Визуально вторично

Если вы размещаете согласие с условиями сервиса, сделайте его визуально вторичным, чтобы оно не отвлекало на себя внимание.
hardclient

Не требует действий

Реализуйте согласие с политиками по умолчанию при нажатии на кнопку. В идеале – просто в виде подписи с текстом согласия под кнопкой оплаты.

Условия в новой вкладке

Ссылка на условия должна открываться в новой вкладке, чтобы не уводить клиента со страницы оформления заказа полностью.
TO BE CONTINUED...
Итак, в этой статье мы разобрали интерфейс ввода данных банковской карты. Как видим, не все так просто, как кажется на первый взгляд, а причины успехов и фэйлов, как всегда, кроются в деталях.
Следующие статьи будут с таким же уровнем детализации. Продолжаем создавать крупнейшую открытую русскоязычную базу лучших практик UX/UI в eCommerce.
Не забудьте подписаться на канал в Telegram и поделиться постом с друзьями и коллегами по цеху. Будем на связи.
Все статьи по e-commerce