Ответвление от этой темы (что бы не мешать, возможно если не получится этот вариант будет реализован тот)
/forum/thread31257-1.html
Цель: создать базу для внесения различного функционала по оплате на базе данного компонента, подключения его сторонними разработчиками к своим коммерческим компонентам для внесения оплаты за товары, услуги (это если возможно по текущему ТЗ)
Компонент должен иметь модульную структуру, с тем что бы сторонние разработчики могли добавлять свои способы монетизации "Действия" (см. ТЗ) или платежные системы (см. ТЗ)
На данный момент это только проект ТЗ, все вопросы обсуждаются и уточняются.
Если есть потенциальные желающие, предлагайте корректировки ТЗ, (при желании можно указать и сумму участия).
Настоятельная просьба обсуждать в теме только конкретные, варианты развития этого ТЗ.
ТЗ (пока не полное и обсуждается) для модульного компонента оплаты интегрированного в ИнстантCMS
В компоненте по умолчанию установлен и реализован только один вариант "Тестовая оплата" остальные добавляются и реализовываются сторонними разработчиками.
ПОКА система предполагает только работу в качестве магазина с корзиной.
Но в дальнейшем при добавлении соответствующих модулей, возможна оплата цифровых товаров, а так же (возможно при доработки ТЗ) любых других вариантов (оплата в объявлениях, подписок, и пр.)
I. Примерная легенда при тестовой оплате:
Действия "Тестовой оплаты" при включенном чекбоксе "Товар" (см. ниже описание вкладок) и выбранном чекбоксе "Тестовая оплата" (см. ниже описание вкладок):
1) В записи у поля цена появляется кнопка "В корзину" и "поле количество" (вот здесь конечно вопрос, а где будет задаваться количество так как оно должно учитывать количество товара на складах). Соответственно при нажатии товар в нужном количестве оказывается в корзине.
В корзине:
При пересчете "И того" ниже кнопка "оформление заказа" с переходом на страницу "Оформления заказа и выбора оплаты".
2) При переходе на страницу "Оформление заказа и выбора оплаты" находятся поля оформления заказа, которые подтягиваются из следующей вкладки в админке "Оформление заказа" (см. ниже описание вкладок)
3) После заполнения полей "Оформление заказа" надо Выбрать способы доставки которые доступны на вкладке в админке "Способы доставки" (см. ниже описание вкладок) По умолчанию в системе только один способ доставки "Курьер". При выборе которого к цене заказа добавляется цена за доставку, указанная в модуле доставки "Курьер".
4) После заполнения полей из "Оформление заказа" и "Доставка" ниже предлагаются доступные способы оплаты из вкладки админки "Способы оплаты" (см. ниже описание вкладок) после выбора которых кнопка "Оплатить".
II. В админке компонента следующие вкладки и функции:
1. Вкладка "Общие настройки":
Чекбокс: Режим работы компонента
1)"Товар"
2)"Цифровой"
При включении одного или другого чекбокса появляется (здесь же во вкладке) перечень доступных при этом выборе модулей из вкладки "Действия", если доступно несколько модулей, выбрать можно только один.
2. Вкладка "Действия" чекбоксом отмечается на нужном:
Все действия имеют модульную структуру первый модуль "Тестовая оплата" идет по умолчанию в системе, остальные могут добавляться разработчиками. Действия могут быть "Цифровое" или "Товар". Действие применяется к полю "Цена" и выполняет то что надо с ней сделать (например Перекинуть Цену в Корзину или перекинуть Цену сразу на Оформление заказа в случае если "Цифровой")
3. Вкладка "Оформление заказа" чекбоксом отмечается на нужном:
Имеет модульную структуру добавления способов "Оформления заказа". При "Тестовой оплате" имеется только один.
В модуле имеются нужные поля для для заполнения (имя, фамилия, адрес, телефон и т.д.). В случае если Гость, поле Имя используется как ник, а поле e-mail (которое показывается и предлагается для заполнения только Гостю) как e-mail пользователя, данные Имя и e-mail заносятся в базу как данные для регистрации пользователя.
После заполнения "Оформление заказа" и нажатие на кнопку "Оплатить" на странице "Оформление заказа и выбора оплаты" для Гостя высылается письмо с просьбой подтвердить адрес.
4. Вкладка "Способы доставки" чекбоксами отмечаются те что будут активны в оформлении:
Имеет модульную структуру добавления способов "Способов доставки". По умолчании можно выбрать только "Курьер" в котором указана цена за доставку, и которая выводится на странице "Оформление заказа и выбора оплаты".
5. Вкладка "Способы оплаты" чекбоксами отмечаются те что будут активны в оформлении:
Имеет модульную структуру добавления способов. По умолчанию модуль (его концепт) оплата наличными.
6. Вкладка "Заказы":
Имеет подвкладки:
1) Лог всех заказов
2) Модульная система добавления "Способы обработки заказов"
По умолчанию при тестовом оформлении только один. Имеет возможность сортировать (и перекидывать при нажатии на соответствующий знак или автоматически в другую категорю) все заказы из "Лога заказов" на три категории:
1) Заказ поступил: при этом отправляется письмо из вкладки "Письма" о поступлении заказа.
2) Заказ обрабатывается: при этом отправляется письмо из вкладки "Письма" о обработке заказа.
3) Заказ выполнен: при этом отправляется письмо из вкладки "Письма" о закрытии заказа.
7. Вкладка "Письма" чекбоксами отмечаются те что будут активны в оформлении (вот здесь возможно не надо отмечать)
По умолчанию имеются шаблоны писем:
1) о поступлении заказа,
2) о обработке заказа,
3) о закрытии заказа,
4) и возможно отдельное о регистрации в магазине то что будет использоваться при регистрации Гостя в магазине.
Для добавления новых писем (в определенном формате) имеется возможность скачать уже существующее письмо (для егог редактирования) и закачать новый шаблон письма (после его редактирования и изменении имени.
8. Вкладка "Склады" чекбоксами отмечаются те что будут активны в оформлении:
Имеет возможность (вот тут пробел, как это должно быть и взаимодействовать, как вариант возможно это вообще может быть сторонний компонет).
9. Владка "Кнопки оплаты" (см. описание виджета "виджет действий оплаты" и описании "Интеграции в систему") чекбоксами отмечаются те что будут активны:
1) По умолчанию при тестовой оплате или другой из "Действий" необходимых для оформления через "Корзину" имеет чекбокс "не выводить виджетом" (значит использовать интеграцию в систему) может:
а) Выводится виджетом кнопка "В корзину" (не путать название кнопки с надписью на ней они могут отличаться) которая добавляет товар в карзину.
или
б) Выводится при включенном чекбоксе в поле "Цена" рядом с ценой (см. интеграцию в систему).
Имеет возможность указать надпись на кнопке ("В корзину" или "Оплатить").
2) Так как система модульная, будет возможность добавить другую кнопку например "Купить цифровой товар" с надписью на кнопке "Оплатить" и выбором "Действия" например "цифровой товар" (которого по умолчанию нет, но в дальнейшем при добавлении соответствующего модуля)
III. Виджеты:
1) "Кнопки оплаты" Выводит кнопки заданные на вкладке в админке "Кнопки оплаты".
2)"Корзина" обычно располагается вверху страницы, показывает количество уже добавленных товаров и имеет возможность перейти на страницу оформления. Работает только с теми модулями "Действие" в которых предусмотрено оформление заказа.
IV. Интеграция с системой:
У поля "Цена" доступны чекбоксы с перечислением доступных (активных) кнопок из вкладки "Кнопки оплаты".
При включенном чекбоксе возле цены в записи появляется кнопка с соответствующей надписью (при Тестовой оплате "В корзину".) при нажатии на которую выполняется действие заложенное в модуль кнопки на вкладке "Кнопки оплаты".
Как вариант можно использовать новое-отдельное поле цена, устанавливаемое вместе с компонентом с интеграцией в платежный компонент.
ЗЫ: Писал ТЗ быстро, поэтому прошу строго не судить...
Некоторые вопросы возможно упустил.
Короткое ТЗ (для кого многа букафф)):
В админе в компоненте есть стандартные вкладки ( что на них не меняется)
а есть для добавления модулей, модулей действий (например "оплата товара" или "Оплата цифрового товара"), модулей систем оплат (с этим все понятно), кнопок выполнения действий (подключают то или иное действие из доступных модулей действий) и т.д..
То есть можно добавлять разные модули и менять конфигурацию (установив соответствующие чекбоксы).
По умолчанию из коробки можно реализовать простейший магазин, с любым типом контента, оплатой наличными и доставкой курьером.
Для складчины важны любые суммы, даже не большие.