Доработка joomla membership component
Необходимо разработать компонент для CMS Joomla! на базе OSE Joomla Membership Control Manager http://membership.opensource-excellence.com/
1. Регистрация пользователя.
2. Логин пользователя.
3. Редактирование профиля.
4. Возможность настроить в админке несколько активных планов.
5. Основные параметры плана: дата окончания, повторяющийся(чекбокс), срок действия(если дата окончания не указана)(выполняет функцию периода повтора для повторяющегося), стоимость, уровень доступа к элементам сайта.
Примеры:
Если указана дата окончания, срок действия плана ограничен календарными датами. Применение - промоушен-акции.
Если указан срок действия плана и снят чекбокс "повторяющийся" и указана стоимость 0 - free trial.
Если указан срок действия и установлен чекбокс "повторяющийся" и указана стоимость - подписка
Если указан срок действия плана и снят чекбокс "повторяющийся" и указана стоимость - единовременный план
Если не указан срок действия плана и снят чекбокс "повторяющийся" и указана стоимость - пожизненный план
6. Аккаунт на сайте активируется только в случае успешной транзакции (кроме бесплатного). В случае подписки аккаунт блокируется, если платеж не прошел успешно. Пользователю посылается емэйл о неудачной транзакции. При этом у пользователя есть возможность произвести оплату повторно. Аккаунт активируется в случае успеха.
7. После окончания действия плана, доступ к сайту снижается до уровня "гость", однако он имеет доступ к своему профилю с возможностью его редактировать и к возможности сменить план.
8. В случае подписки Каждый раз система инициализирует платеж в платежной системе, используя полученный в первый раз токен платежной системы, чтобы пользователю не пришлось каждый раз вводить платежные данные. Хранить платежные данные на стороне разрабатываемой системы невозможно.
9. История положительно завершенных транзакций сохраняется в разрабатываемой системе. Пользователь может просмотреть ее в любое время в своем профиле.
10. Возможность выбирать доступные для просмотра и использования элементы сайта (компоненты\модули\плагины\sections\categories) отдельно для каждого типа пользователей.
11. Поддержка Paypal, Authorize.net, GoogleCheckout?. Возможность использования нескольких вариантов на выбор пользователя. Оплата (регистрация) должна происходить в 1 шаг.
12. Возможность приостановить повторяющийся план пользователем. При этом аккаунт блокируется. Пользователю посылается емэйл об отказе. У пользователя есть возможность восстановить доступ, оплатив план.
13. Возможность изменить план на другой пользователем или администратором.
14. Администратор может указывать поля для регистрации/профиля пользователя.
15. Напоминание пользователя об окончании подписки. В админке указывается количество дней до окончания подписки, тело письма и опция вкл./выкл.
16. Возможность изменения даты окончания периода плана для каждого пользователя администратором.
17. Интеграция с CRM OfficeAutoPilot. При регистрации/редактировании профиля должен сохраняться User profile, дата последнего платежа, тип плана, дата начала подписки. Есть необходимые api-функции
18. Система купонов. Одноразовые и без срока окончания (действует только при регистрации). % или тотал.
19. Профиль пользователя может быть публичным. Определяется настройками.