Дипломная работа: Автоматизация приема платежей в электронном магазине через пис WEBMONEY в ЗАО "Артур-фарм"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
64
2.3 Программное обеспечение задачи
2.3.1 Общие положения (дерево функций и сценарий диалога)
Дерево функций модуля приема платежей магазина приведено на рис. 2.5
Функции
Служебные
Основные
Проверка наличия
товаров в таблице
«Товары» и при
необходимости в
таблице «Корзины»
Проверка запросов от
Мерчант - сервиса
Перенаправление
на страницу оплаты
Формирование и
отправка страниц
пользователю
Изменение записей
таблиц «Товары» и
«Корзины»
Проверка ролей
пользователей
Создание и
изменение записей
в таблице «Заказы»
Формирование
сообщений о (не)
успешности
платежа для
отправки
пользователю
Выполнение реляционных запросов к базе
данных для построения страниц с
необходимой пользователю информацией
Изменение записей таблицы «Настройки
платежей» администратором сайта и выдача
уведомления о успешности сохранения настроек
Рисунок 2.5. Дерево функций модуля
Схема диалога модуля приема платежей интернет - магазина приведена на
рис. 2.6.
Главное меню
Выход
Операции
Настройки платежей
Корзина пользователя
Страницы
Помощь
Описание
Корзина
пользователя
Просмотр списка приобретенных
и не приобретенных товаров
Покупка выбранных
товаров с доставкой
Покупка выбранных
товаров без доставки
Изменение количества
выбранного товара
Удаление выбранных
товаров из корзины
Страницы
Перечня покупаемых
товаров с указанием
количества для
каждого товара,
номера и итоговой
цены заказа
Успешно проведенного
платежа
Не выполненного
платежа
Настройки
платежей
Просмотр и
изменение
кошелька
интернет –
магазина,
режима оплаты,
стоимости
доставки
Изменение секретного ключа интернет - магазина
Просмотр уведомления об успешно сохраненных настройках
Рис. 2.6. Схема диалога модуля приема платежей интернет - магазина
65
2.3.2 Характеристика базы данных
На рис. 2.7. представлена схема базы данных модуля приема платежей
интернет – магазина.
Рис. 2.7. Сема базы данных модуля приема платежей интернет – магазина
Структуры таблиц «Настройки», «Товары», «Пользователи», «Корзины»,
«Заказы» представлены в таблицах 2.3 – 2.7 соответственно.
Таблица 2.3
Структура таблицы настройки платежей «Настройки»
Наименование поля
Идентификатор
поля
Тип и длина
поля
Прочее
Идентификатор
id
int(1)
Первичный ключ. Необходим для
доступа к данным (id=1).
Кошелек продавца
purse
nvarchar(13)
Формат — буква и 12 цифр
Режим работы
платежа
mode
tinyint(1)
0 или отсутствует: для тестовых
платежей сервис будет имитировать
успешное выполнение; 1: сервис будет
имитировать выполнение с ошибкой
(платеж не выполнен); 2: Около 80%
запросов на платеж будут выполнены
успешно, а 20% — не выполнены.
Секретный ключ
продавца
secret
nvarchar(20)
Произвольная строка из 15 – 20
символов, для обеспечения
безопасности платежа
Стоимость доставки
deliveryCost
money(4,2)
Таблица 2.4
Структура таблицы «Товары»
Наименование поля
Идентификатор поля
Тип и длина
поля
Прочее
Идентификатор
id
int(7)
Код товара. Первичный ключ
Наименование
productName
nvarchar(60)
Статус отпуска по
рецепту
status
tinyint(1)
0 – без рецепта, 1 - по рецепту
Стоимость единицы
товара
sum
money(6,2)
Количество на складе
quantity
int(7)
Артикул
kode
nvarchar(20)
66
Таблица 2.5
Структура таблицы «Пользователи»
Наименование поля
Идентификатор поля
Тип и длина
поля
Прочее
Идентификатор
id
int(7)
Код клиента. Первичный
ключ
Логин
login
nvarchar(30)
Электронный адрес
email
nvarchar(30)
Телефон
phone
int(15)
Таблица 2.6
Структура таблицы «Корзины»
Наименование поля
Идентификатор
поля
Тип и длина
поля
Прочее
Идентификатор
id
int(7)
Код товара. Первичный ключ
Идентификатор заказа
orderID
int(7)
Индексируемое поле
Идентификатор клиента
clientID
int(7)
Индексируемое поле
Идентификатор товара
productID
int(7)
Индексируемое поле
Количество товара
quantity
int(7)
Таблица 2.7
Структура таблицы «Заказы»
Наименование поля
Идентификатор
поля
Тип и длина
поля
Прочее
Идентификатор
id
int(7)
Код товара. Первичный ключ
Сумма заказа
sum
money(6,2)
Время оплаты
created
int(11)
Отсутствует, если товар не
оплачен;
Статус заказа
status
tinyint(1)
0 – товар не выбран для оплаты, 1 –
платеж проверяется, 2 – оплачен
Доставки
delivery
tinyint(1)
0 – самовывоз, 1 - доставка
Источником данных для обеспечения работы модуля
автоматизированного приема платежей в интернет - магазине служит SQL-база
данных магазина, в которой происходит накапливание всей оперативной и
нормативно-справочной информации по работе магазина. Кроме того,
необходимо добавить в базу отдельную таблицу настроек, в которой будет
храниться специфическая для расчетов через платежную систему WebMoney
информация: номер кошелька и секретный ключ интернет - магазина, стоимость
доставки, режим работы платежа, режим тестирования.
Оператор интернет - магазина выполняет лишь оперативную поддержку
клиентов, консультирование и техническую поддержку – при необходимости.
67
2.3.3 Структурная схема пакета (дерево вызова процедур и
программ)
На рисунке 2.8 представлено дерево вызова программ разрабатываемого
модуля, а в таблице 2.8 – описание функций представленных модулей.
basket.php
Модуль «Корзина пользователя», представление контроллера
Wmoptions - показывает все заказы пользователя, содержит
кнопки для изменения и удаления заказов пользователя
WmModule.php
Главный модуль оплаты через Мерчант-сервис – загружает
необходимые модели, хранит переменные
main.php
Модуль настроек сайта – содержит настройки
для главного модуля оплаты
Wmoptions.php
Модель работы с таблицей
«wmoptions»
WmForm.php
Модель для проверки запросов
Мерчант-сервиса
WmoptionsController.php
Контроллер, содержащий методы для обработки
запросов пользователей и Мерчант-сервиса
update.php
Представление, содержащее форму
для внесения изменений в заказ
Basket.php
Подключаемая модель для работы
с таблицей «cms_basket»
_wmPayForm.php
Представление, формирующее форму
для отправки на Мерчант-сервис
updateSettings.php
Представление, содержащее форму для
изменения кошелька магазина, режима
тестирования и стоимости доставки
message.php
Представление для вывода сообщения об успешной
или неуспешной оплате пользователю
Order.php
Подключаемая модель для работы
с таблицей «cms_order»
Product.php
Подключаемая модель для работы
с таблицей «cms_product»
Рис. 2.8. Дерево вызова программ
Таблица 2.8
Описание функций модулей
№
п/п
Наименование
модуля
Функции модуля
1.
WmModule.php
Хранит в переменных наименования «моделей», «контроллера», вызываемого по
умолчанию, загружает необходимые модели на этапе инициализации, содержит
методы для обращения к этим моделям.
2. 2
main.php
Хранит настройки сайта, в том числе, и для модуля оплаты
3. 3
Wmoptions.php
Содержит переменные и методы для работы с таблицей «wmoptions», а также правила
для проверки соответствующей формы.
4.
WmForm.php
Содержит переменные, правила и методы для проверки запросов Мерчант - сервиса.
5.
Basket.php
Содержит переменные для хранения значений из таблиц «Товары» и «Заказы»,
методы для работы с таблицей «cms_basket», а также правила для проверки
соответствующей формы
6.
Order.php
Содержит методы для работы с таблицей «cms_order» и правила для сохранения
значений формы.
68
№
п/п
Наименование
модуля
Функции модуля
7.
Product.php
Содержит методы для работы с таблицей «cms_product» и правила для сохранения
значений формы.
8.
WmoptionsController.php
В соответствии с запросом выполняет тот или иной метод, называемый действием.
Содержит правила для доступа пользователей к определенным действиям, в
соответствии с их «ролями», также содержит вспомогательные функции, используемые
«действиями контроллера». В действии Basket выполняется запрос к таблице
«Корзина» посредством методов модели Basket, полученные данные передаются в
«представление» basket, в случае покупки товаров клиентом, вызывается
вспомогательный метод buy, для расчета стоимости покупки, изменения необходимых
значений в таблицах «Корзина», «Товары» и «Заказы», вызова представления
«_wmPayForm» с соответствующими параметрами. Оставшиеся «действия»
выполняют: формирование и выдачу сообщений о удачно или неудачно выполненном
платеже, проверку запросов от Мерчант - сервиса, изменение и удаление заказа по
запросу пользователя, добавление товара в корзину, изменение настроек оплаты, а
также вызов соответствующих им представлений.
9.
basket.php
Отображает все заказы пользователя, по 10 на страницу, в табличной форме,
содержит кнопки для изменения, удаления и покупки выбранных товаров.
10.
_wmPayForm.php
Формирует форму для отправки на Мерчант - сервис, поля которой скрыты от
пользователя, содержит также описание заказа для пользователя и кнопку
«сформировать платеж».
11.
update.php
Содержит форму для внесения изменений в заказ.
12.
message.php
Выводит сообщение об успешной или неуспешной оплате пользователю.
13.
updateSettings.php
Содержит форму для изменения кошелька магазина, режима тестирования и стоимости
доставки
Источник: https://baza.diplomsite.ru/previewfile/1998