Интернет-магазин Autotravelshop
Интернет-магазин для любителей автомобильного туризма, рыбалки, охоты и путешествий.
Этим небольшим кейсом мы хотели бы рассказать об успешном решении одной интересной задачи, с которой нам довелось столкнуться во время выполнения доработок и косметических правок сайта autotravelshop.ru. Мы реализовали и успешно внедрили режим отложенного платежа для заказов.
Задачи проекта
В UMI.CMS, как и во многих других системах управления интернет-магазином, шаги оформления заказа тесно связаны между собой и требуют последовательности действий от пользователя. Но что делать, если специфика бизнеса такова, что менеджер интернет-магазина должен проверить заказ, уточнив наличие, прежде чем пользователь сможет произвести оплату? Здесь и берет начало формулировка задачи.
Отложенная оплата заказа
Нам требовалось решить несколько небольших задач, ведущих к одной цели – внедрение оплаты заказа по принципу отложенного платежа:
- после выбора способа оплаты в форме оформления заказа, покупатель не переходит к оплате немедленно, а получает стандартное сообщение о том, что его заказ успешно оформлен и требует рассмотрения менеджером;
- как только Заказ прошёл модерацию и получил один из вариантов статуса Принят, оплата заказа становится доступна, о чем Покупатель получает соответствующее уведомление по электронной почте;
- в личном кабинете пользователя, у тех заказов, что нуждаются в оплате, появляется соответствующая кнопка, нажатие на которую ведет на форму оплаты.
Оформление заказа
Следует отметить, что процесс оформления заказа никак не изменился для Покупателя: привычное окошко с минимально возможным набором полей, выбор способов оплаты и доставки, кнопка «Отправить».
Но обработчик заказа, принимающий введенные Покупателем данные, претерпел кардинальные изменения. От него требовалось досрочно формировать заказ в завершенном виде, игнорируя отсутствующую оплату. Корзина должна быть пуста, почтовые уведомления отправлены, а список заказов покупателя пополнился новым. Нам удалось добиться всего этого, не вмешиваясь в основные рабочие процессы UMI.CMS и код классов ядра. Только кастомные классы и методы.
Оплата оформленного ранее заказа
Заказы, требующие оплаты, получили ожидаемую кнопку «Оплатить» и вывод дополнительных данных в детальном просмотре.
Кнопка «Оплатить» направляет Покупателя на страницу оплаты выбранным на этапе оформления заказа способом. Если была выбрана оплата с помощью квитанции, будет предложено скачать уже заполненную форму. Достаточно распечатать и отнести в банк. Во всех остальных случаях увидим форму, отправляющую запрос платежной системе.
Для корректной работы имеющихся в UMI.CMS способов оплаты, нам потребовалось переписать каждый из них с учетом изменившего алгоритма оформления заказа. Это избавило от повторных отправок уведомлений о смене статуса оплаты или статуса заказа.
свяжитесь с нами и мы дадим все необходимые комментарии