Проект Shopping_cart

компонент Shopping CartНазначение компонента Shopping Cart — организация работы корзины покупок. Он может стать основным элементом электронного магазина, причем компонент изначально ориентирован на работу как с материальными, так и с информационными товарами, а также с услугами.

Гибкие ценовые политики для каждого товара, соответствие стандартам ISO-4217, реализация на платформе EJB, подключаемые модули авторизации — лишь небольшая часть выдающихся качеств продукта, которые делают его уникальным в своей нише.

Продукт реализован с учетом всех требований индустриального программирования: документация разработчика, инструкции по развертыванию, поддержка технологии JDC. Использование данного компонента существенно ускоряет создание электронных магазинов и средств электронной коммерции любой сложности и масштаба.

Поддерживаются несколько способов оплаты:

  • Банковским переводом
  • С личного счёта — оплата производится перечислением финансовых средств с личного счёта клиента в системе.
  • Кредитной картой — оплата производится через процессинговый онлайновый центр (в текущей версии не поддерживается)
  • С электронного кошелька — оплата взимается с виртуального электронного кошелька клиента через онлайновый центр перевода денег (в текущей версии не поддерживается)
  • Почтовым переводом (в текущей версии не поддерживается)
  • Наложенным платежом - оплата взимается с клиента при получении им товара в почтовом отделении (в текущей версии не поддерживается)
  • Инвойсом — по предварительной договорённости клиенту выставляется счёт за оформленный заказ (в текущей версии не поддерживается)

Каждый способ оплаты предполагает индивидуальный интерфейс для взаимодействия компонента и внешнего финансового источника. В случае онлайновых оплат заказов, взаимодействие компонента и процессинговых центров происходит в автоматическом режиме, в то время как другие способы оплаты нуждаются в участии оператора.

Предусмотрено несколько вариантов выполнения заказов и методов работы с клиентами.

Условия начала обработки заказа

  • Соблюдены все ограничения политики оплаты и обработки
  • Товары присутствуют на складе в достаточном количестве

Способы доставки материальных товаров

  • Курьером
  • По почте
  • Самовывоз

Способы доставки информационных товаров

  • С помощью активной ссылки
  • По электронной почте
  • Очереди обработки
  • По мере поступления заказа

Заказы могут иметь различную продолжительность жизненного цикла.

Продолжительность жизненного цикла заказа

  • Единичный — заказ выполняется один раз.
  • Рекуррентный — заказ выполняется несколько раз с определённой периодичностью, оплата взимается отдельно за каждую итерацию.
  • Сессионный — выполнение заказа происходит непрерывно в течение некоторого промежутка времени, а оплата взимается непрерывно в течение всего времени выполнения заказа с личного счёта клиента (оплата другими способами невозможна).

Другие сервисные возможности компонента

  • Точность чисел при арифметических операциях принимается равной минимальной единице используемой валюты.
  • Предоставляется возможность настройки округления результатов операций.
  • Точность пересчета валют настраивается в пределах минимальной единицы используемой валюты.
  • Правила округления цен и валют имеют механизм настройки.

Системные требования

Поддержка приложениями J2EE.

Архитектура компонента

Ядро компонента составляет система управления корзиной, заказом, счетами и оплатой заказа.

Внешние интерфейсы

  • Получение цен
  • Определение группы пользователя
  • Определение региона

Внутренние интерфейсы

  • Возможность пользоваться корзиной как зарегистрированному, так и незарегистрированному пользователям.
  • Любой клиент может осуществлять любые манипуляции с корзиной, кроме оформления заказа. Оформлять заказ может только зарегистрированный клиент.

Манипуляция с товарами в корзине (добавление/удаление) товара

Клиент может по своему усмотрению добавлять или удалять товар из корзины.

Определение цен товаров - каждого и общей стоимости

  • Поддержка нескольких валют (в текущей версии не реализовано)
  • Учет ценовых модификаторов для клиента (группы клиентов).
  • Учет ценовых модификаторов для товара.
  • Учет цен в зависимости от количества товара, набора товаров в корзине и \ или общей суммы.

Хранение дополнительной информации о товаре

  • Возможность клиенту менять количество единиц товара
  • Также возможно хранение некой дополнительной информации, как то: разрешение картинки.

Выбор способа оплаты товара клиентом

Поддерживать несколько способов оплаты товара (расчет по кредитной карте, при получении, банковский перевод, по счету).

Выбор способа доставки товара клиенту

Хранение информации о продуктах корзины для пользователя (список товаров в корзине не 'пропадает', если покупатель временно покинул интернет-магазин)

Хранение информации о способах оплаты и доставки для пользователя

Оформление заказа для зарегистрированного пользователя

Оформление заказа возможно только для товаров, которые есть в наличии на складе.

Оформление заказа предполагает:

  • Выбор способа доставки
  • Выбор способа оплаты (или использование способов, ранее определенных пользователем, но с возможностью их изменить)
  • Если оплата по кредитной карте - процедура оплаты

Каждый оформленный, но неоплаченный заказ имеет срок действия, в течении которого он должен быть оплачен.

Оплата заказа зарегистрированным пользователем

Уведомление пользователя о смене статуса заказа

При подтверждении (и не подтверждении) оплаты пользователь уведомляется об отправке товара (или о том, что может его забрать) (в текущей версии не реализовано).

Ведение истории заказов пользователя

Клиент в любой момент может просмотреть все оформленные и выполненные заказы

Отмена заказа

Клиент имеет право отказаться от заказа. В случае неоплаченного заказа он просто отменяется (не выполняется). В случае оплаченного клиенту возвращается часть денег (на личный счет) с удержанием 'штрафа'.


Выпущена версия (0.1) Shopping cart

Реализуемые функции делают продукт уникальным в своей нише.

Введение в компонент Shopping_cart (.doc, 110 КБ)