Задание: Fullstack. Реферальная система с начислением % от стоимости покупки по ссылке. (Дистанционная работа)
Техническое задание:
Нужно создать реферальную систему, где у каждого пользователя есть своя уникальная ссылка. Когда новый клиент переходит по этой ссылке и совершает покупку, человеку, который поделился ссылкой, начисляется процент от суммы заказа на его внутренний счёт. Этим счётом пользователь сможет расплачиваться при следующих покупках.
Реферальная ссылка
У каждого пользователя должна быть персональная ссылка.
При переходе по этой ссылке система должна определять, от какого пользователя пришёл клиент. Если по ссылке заходит новый клиент, он автоматически привязывается к тому, кто поделился ссылкой.
Пользователи
Система должна хранить данные о пользователях и информацию о том, кто кого пригласил.
У каждого пользователя должен быть внутренний баланс и история начислений.
Заказы
Система должна работать с двумя типами заказов: обычные покупки через сайт и индивидуальные заказы по выставлении банковской ссылки на оплату. Для индивидуальных заказов нужен инструмент, в котором менеджер вводит данные клиента, сумму заказа и при необходимости указывает реферала.
После этого система должна создать заказ и сформировать ссылку на оплату через платёжный сервис.
Менеджер передаёт эту ссылку клиенту.
После успешной оплаты система получает уведомление от платёжного сервиса.
Система должна найти соответствующий заказ и начислить процент рефералу.
Повторные начисления должны быть исключены.
Личный кабинет пользователя
Личный кабинет может быть реализован в виде Telegram-бота или веб-страницы.
Пользователь должен видеть свою ссылку, текущий баланс и историю начислений.
Инструмент для менеджера
Менеджеру нужен интерфейс, где он сможет:
— создавать заказы;
— вводить данные клиента и сумму;
— указывать реферала при необходимости;
— получать ссылку на оплату;
— просматривать статусы заказов.
Логика начислений
Процент от суммы заказа начисляется рефералу только после подтверждённой оплаты.
Нужно исключить повторное начисление при повторных уведомлениях от платёжного сервиса.
Требования к разработчику
— Умение работать с API и webhook.
— Опыт создания серверной логики и работы с базами данных.
— Желательно умение работать с Telegram-ботами.
— Готовность выполнить проект под ключ.