Интернет-магазин. Необходимо заключить договор с банком. Для проекта, написанного на 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 недели с момента начала работы.