Главная/WordPress Fullstack/Блупринты/WooCommerce/Разработка накопительной бонусной системы и списания баллов в чекауте (Cart Fee API)
К карточкам раздела «WooCommerce»WooCommerce(ТЗ 43 из 54)
ТЗ: Разработка накопительной бонусной системы и списания баллов в чекауте (Cart Fee API)Трудозатраты~12 рабочих часов
Фриланс вилка~$540 – $900 (€480 – €840)
Оценка веб-студии~$1,140 – $1,920 (€1080 – €1800)
ТЗ заказчика (исходный бриф):
«Хотим запустить бонусную систему для постоянных клиентов: 5% от каждой успешной покупки начисляется баллами (1 балл = 1 рубль). На чекауте покупатель видит свой баланс и может ввести, сколько баллов списать в счет заказа (но не более 30% от чека). При отмене заказа баллы должны автоматически возвращаться обратно на баланс!»
Ключевые требования:
- •Хранение бонусного баланса пользователя в User Meta с историей транзакций (начисления, списания)
- •Интерактивный блок в чекауте: отображение баланса пользователя и поле ввода суммы баллов для списания
- •Применение скидки через $cart->add_fee() с отрицательным значением и динамическим пересчетом налогов
- •Ограничение: списание не более 30% от промежуточной суммы корзины (Subtotal)
- •Списание баллов только при успешном создании заказа и автоматический возврат баллов при статусах «Отменен» или «Возвращен»
Ограничения проекта:
- •Защита от состояния гонки (Race Condition): блокировка баланса во время оформления заказа
- •Не начислять бонусы на часть заказа, оплаченную баллами
- •Запрет списания баллов для гостей (неавторизованных пользователей)
Критерии приёмки (KPI):
- 100% точность баланса без дублирующих списаний при повторных кликах
- Корректный учет скидки в чеках и фискальных отчетах онлайн-касс
- Мгновенный AJAX-пересчет итога корзины при вводе баллов
Пошаговое практическое руководство по ТЗ
Подробный разбор архитектуры, код реализации и советы эксперта по каждому этапу: