Разработать функционал промокодов
Для подписочного сервиса нужно добавить функционал промокодов.
Добавить на страницу оплаты поле промокода. И соответствующий раздел в админку.
Поля промокода (добавляются по одному в админку):
1. Сам код
2. Описание (по умолчанию пустое) – выводится на страницу оплаты
3. Пользователи, которым доступен (по умолчанию всем) по аналогии с пушами чтобы можно было выбрать несколько людей по почтам, которые могут воспользоваться
4. Галочка "только для новых пользователей". Если пользователь еще ничего не оплачивал и не было триала.
5. Шесть галочек для выбора тарифа на которые действует промо. Стартовый месяц, стартовый год, оптимальный месяц и т.д.
6. Выбрать, сколько процентов скидка (0-100). По умолчанию 0
7. Выбрать, сколько дней в подарок (0-365). По умолчанию 0
8. Срок действия промокода (дата окончания). По умолчанию до конца времен.
9. Сколько раз был применен промокод и ссылка на статистику по промокоду
Статистика по промокоду (таблица):
1. Дата и время использования
2. Имя пользователя со ссылкой на его карточку в админке
3. e-mail пользователя
4. Инвойс
5. Назначение платежа
На страницы платежей в админке и в карточке пользователя в табе платежей добавить колонку промокода (туда выводим сам код промокода).
ЛЮБОЙ ПРОМОКОД КОНКРЕТНЫЙ ПОЛЬЗОВАТЕЛЬ МОЖЕТ ИСПОЛЬЗОВАТЬ ТОЛЬКО ОДИН РАЗ. Промокод считается использованным, если по нему прошёл успешный платеж. Если платеж в ожидании или в другом статусе, можно его использовать снова.
Если промокод применяется к платежу для привязки карты, скидка или бонус идут к первому рекуррентному платежу.
Поведение страницы оплаты:
При успешном применении промокода под полем промокода выводится его описание (см. макет)
Если применён какой-то промокод и пользователь применяет еще один, активируется только последний.
:ду вашей примерной оценки по стоимости и срокам. В ответ вышлю ссылку на проект.