Корзина и Чекаут
Перед совершением покупки важно корректно организовать процесс оформления заказа на сайте.
На каждое действие пользователя, которое может повлиять на итоговую стоимость заказа и состав позиций, необходимо формировать актуальную версию потенциального заказа и отправлять её на расчёт:
- переход на страницу оформления заказа
- обновление страницы оформления заказа
- ввод промокода
- добавление товара в корзину
- изменение характеристик товара в корзине
- удаление товара из корзины
- ввод количества бонусных баллов к списанию
- любые другие действия, влияющие на состав/стоимость заказа
Для расчёта используйте метод POST расчёта корзины в API Sailplay (метод: marketing-actions/calc).
В ответ на каждый новый запрос возвращаются параметры, которые рекомендуется отображать на странице оформления заказа, например:
- пересчитанная стоимость позиции:
new_price - итоговая стоимость заказа с учётом применённых акций:
total_price - список применённых акций к корзине:
marketing_actions_applied - бонусные баллы, доступные к списанию:
total_dicsount_points_max - потенциальное начисление бонусов за заказ:
total_points - потенциальное начисление бонусов по каждой позиции:
points - дополнительная информация по потенциальному заказу
Списание бонусных баллов

На странице оформления заказа реализуйте возможность списания бонусных баллов в счёт стоимости заказа.
Для этого отобразите:
- поле ввода количества баллов
- кнопку применения
Перед тем как клиент начнёт вводить бонусы к списанию, ограничьте ввод доступным максимумом.
Максимально доступное количество баллов для списания возвращается в параметре total_dicsount_points_max.
Потенциальное начисление бонусов за покупку

Sailplay позволяет начислять бонусные баллы за совершённые заказы.
Информируйте клиента о том, сколько бонусов он получит за покупку в случае оформления заказа.
Потенциальное начисление бонусов возвращается в параметре points_delta.
Ввод промокода

Чтобы поддержать использование промокодов в заказе:
- Добавьте поле ввода и кнопку применения.
- Организуйте “буфер” (состояние) на странице заказа, в котором хранится применённый промокод.
- При нажатии «Применить» проверьте доступность промокода через метод поиска промокода в API Sailplay (метод:
promocodes/search). - Если промокод валиден, передавайте его в каждом последующем запросе расчёта корзины (метод:
marketing-actions/calc) в параметреpromocodes.