Оформление заказа должно сохранять выбранные товары, показывать итог и объяснять состояние операции. Проверять нужно успешный путь и ошибки: изменение остатка, недоступную доставку, прерванную оплату и повторное нажатие кнопки.
Сохраните состав корзины
В корзине должны быть видны товар, вариант, количество и цена. Изменение количества пересчитывает итог понятным образом. Если цена или доступность изменились после добавления, объясните это до подтверждения.
Не полагайтесь только на значения в браузере. Сервер повторно проверяет позиции и условия при создании заказа. Это необходимо и для согласованности данных, и для защиты от подмены суммы.
Покажите, из чего состоит итог
Разделите товары, доставку и другие известные составляющие. Если какой-то расчёт зависит от адреса, запросите его на соответствующем шаге. Пользователь должен видеть актуальную сумму перед подтверждением действия.
| Состояние | Что объяснить покупателю |
|---|---|
| Способ доставки выбран | Условия и стоимость для заказа |
| Адрес не обслуживается | Доступная альтернатива либо причина |
| Товар закончился | Какие позиции нужно изменить |
| Промокод не применился | Причина и сохранённый состав заказа |
| Цена обновилась | Изменение и новый итог |
Форма должна сохранять уже введённые данные при переходах между шагами. Ошибка одного поля не должна очищать весь заказ.
Разделите создание заказа и оплату
У заказа нужен собственный идентификатор и состояние. Оплата может завершиться позже создания или потребовать повторной попытки. Возврат пользователя на страницу «Успех» не является достаточным доказательством оплаты.
Состояние платежа подтверждается через предусмотренный провайдером серверный механизм. Если уведомление пришло повторно, обработка не должна повторно выдавать товар или создавать новую запись об оплате. Детали интеграции проверяют по документации выбранного провайдера.
Продумайте повторные действия
Представьте, что пользователь нажал кнопку, но ответ задержался. Он нажмёт снова или обновит страницу. Система должна позволять понять, создан ли заказ, и продолжить его обработку без случайного дубликата.
Одной отключённой кнопки недостаточно: запрос может повториться на уровне сети. Правила повторной обработки согласуют для создания заказа, оплаты и отправки уведомлений отдельно.
Пройдите набор проверок
До запуска проверьте:
- Один обычный заказ.
- Заказ с несколькими вариантами товара.
- Изменение количества в корзине.
- Недоступную позицию.
- Ошибку адреса доставки.
- Задержанный ответ сервера.
- Повторную попытку оплаты.
- Получение заказа сотрудником магазина.
Используйте тестовый режим оплаты и заранее обозначенные обращения. У каждого сценария должен быть ожидаемый результат и подтверждение в системе, а не только в интерфейсе.
При разработке магазина включите эти сценарии в приёмку. Они помогают оценивать оформление по сохранности заказа и понятности действий покупателя.
