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