Для проекта, написанного на CMS DLE (PHP + JS, функциональный аналог WordPress), требуется создать модуль для эквайринга и управления промокодами:
1. Подключаемый сервис эквайринга Robokassa
2. Предмет оплаты:
2.1. Тарифные планы, отличающиеся стоимостью и периодом подписки (их на данный момент три)
2.2. Индивидуальные единицы платного контента (это не товары, а именно виртуальный контент)
3. Возможность генерировать и гасить промокоды на оплату (в процентах от стоимости)
4. Результат успешной оплаты перевод пользователя из "бесплатной" группы в "платную группу" (простое значение в таблице данных пользователя) или открытие доступа к конкретной единице платного контента
5. Основные функции и задачи плагина:
5.1. Клиентские функции (фронтальная часть сайта):
5.1.1. Ввод промокода с перерасчетом стоимости тарифного плана или единицы платного контента (промокод гасится только в случае успешной оплаты, даже если был введен)
5.1.2. Оплата средствами, предлагаемыми Robokassa
5.1.3. Сохранение данных банковских карт пользователя (безопасная токенизация через Robokassa)
5.1.4. Вывод и выбор (переключение) известных средств оплаты (токенизированных банковских карт) в профиле пользователя
5.1.5. Удаление данных привязанной банковской карты пользователя
5.1.6. Переключатель "Автопродление" (при наличии привязанной банковской карты) с автоматическим списанием средств при продлении тарифа (подписка для тарифных планов)
5.1.7. Ежедневная проверка на оставшееся количество времени подписки: если подписка закончилась, происходит либо автопродление (если выставлен флаг в профиле пользователя и оплата с указанной карты успешно списалась), либо возврат пользователя в "бесплатную" группу (во всех других случаях)
5.1.8. Ежедневная проверка на оставшееся количество времени доступа к каждой приобретенной пользователем единице платного контента: если срок истек, доступ к этой единице контента закрывается
5.1.9. Отображение списка приобретенных единиц платного контента с указанием оставшегося срока доступа к ним
5.1.10. Начните отклик со слов Alice Merton, чтобы было понятно, что вы прочитали это задание внимательно. Остальные отклики будут игнорироваться
5.2. Административные функции (backend для администратора):
5.2.1. Управление промокодами:
5.2.1.1. Генерация (эмиссия): имя группы, количество, период начала, период окончания, процент от стоимости, тип (подписка на любой тарифный план/любая единица платного контента/конкретный тарифный план)
5.2.1.2. Действия (включая массовые): отключить, удалить (за исключением уже погашенных)
5.2.1.3. Просмотр списка промокодов: имя группы, код, тип, дата эмиссии, период начала, период окончания, процент от стоимости, дата погашения, пользователь-владелец, тарифный план или единица контента, итоговая стоимость
5.2.1.4. Поиск по названию группы, коду и имени пользователя
5.2.1.5. Фильтр/сортировка: имя группы, погашен/не погашен, тип, период начала, период окончания, итоговая стоимость
5.2.2. Управление оплатами:
5.2.2.1. Список оплат: дата, сумма, тарифный план или единица контента, пользователь, сумма без скидки, фактическая сумма, промокод (если есть), дата начала тарифа, дата окончания тарифа/доступа к единице контента, статус ("действующий" или "возврат {datetime}")
5.2.2.2. Действие: возврат средств (с подтверждением, доступно только старшему администратору). При возврате средств пользователь должен переводиться в группу "бесплатных" пользователей (в случае с тарифом) или перестать получать доступ к оплаченной единице контента
5.2.2.3. Поиск: период оплаты (с.. по..), тарифный план или единица контента, пользователь, промокод, статус (действующий или возврат)
6. Прочая информация:
6.1. Шаблон для клиентской части сделан в Figma и частично сверстан (работы там не много, но она есть)
6.2. Административные функции должны быть реализованы средствами DLE (система по функциям аналогична WordPress, также написана на PHP, есть поддерживаемая документация)
6.3. У разработчика должен быть опыть интеграции платежных систем и токенизации банковских карт для сохранения их в профиле как средств оплаты
6.4. Над проектом уже работает программист, который будет содействовать и подсказывать по особенностям системы DLE в случае необходимости
6.5. Частично данные задачи, возможно, получится решить средствами самой DLE и/или установленных плагинов, но это вопрос на данный момент для изучения
7. Сроки 2 недели с момента начала работы
Разделы:
Опубликован:
07.08.2025 | 18:15 [поднят: 07.08.2025 | 18:15] [последние изменения: 06.08.2025 | 19:48]