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

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
54
2.1.3 Организационно-правовые и программно-аппаратные
средства обеспечения информационной безопасности и защиты
информации
Поскольку разрабатываемый модуль создается с использованием тех же
технологий, что и исходный сайт, а так же из-за того, что рассматриваемый
модуль станет частью сайта компании, для разрабатываемого модуля будет
действовать внутренняя и внешняя политика безопасности компании,
рассмотренная ранее. Описание разграничения прав пользователей
разрабатываемого модуля приведено в таблице 2.2.
Таблица 2.2
Разграничение прав пользователей.
Группы пользователей
Модуль «Корзина»
Файлы сайта
(исходный код)
Модуль «Управление
настройками модуля»
Клиенты компании
Чтение/изменение/удаление
Отсутствует
Отсутствует
Администратор
Отсутствует
Полный
Чтение/изменение
Система сайта
Полный
Отсутствует
Чтение/изменение
55
2.2 Информационное обеспечение задачи
2.2.1 Информационная модель и её описание
Информационная модель представляет собой описание информационных
потоков, которые определяют основное содержание деятельности органа
управления и должностных лиц [4]. Информационная модель рассматриваемого
модуля представлена на рис. 2.4.
ИС
ПИС Webmoney
Добавление товаров
в таблицу «Корзины»
Т «Корзины»
Т «Товары»
Изменение или
удаление записей в
таблице «Корзины»
Переход к оплате
выбранных
товаров
Т* «Корзины»
Т** «Корзины»
Т «Заказы»
С «Форма оплаты»
Клиент
Т* «Заказы»
Т* «Товары»
Т*** «Корзины»
Нажатие на кнопку
«Сформировать
платеж»
Спр.
«Настройки»
Администратор сайта
Изменение
настроек «по
умолчанию»
Спр.*
«Настройки»
С «Форма
оплаты»
Рис. 2.4. Информационная модель модуля приема платежей
В разрабатываемом модуле таблицы «Корзины», «Товары» уже
сформированы сайтом, таблица «Заказы» формируется модулем.
Этапы оплаты заказа клиентом интернет - магазина с помощью системы
автоматического приема платежей WebMoney:
1) После добавления клиентом выбранных товаров в корзину, клиент
может изменить для каждого товара в корзине количество (товаров для
покупки).
2) При нажатии на кнопки «Купить выбранные товары с доставкой»
или кнопки «Купить выбранные товары без доставки», интернет – магазин
проверяет количество выбранных товаров в таблице «Товары».
3) В случае если сумма заказанных товаров отлична от нуля создается
новая запись в таблице «Заказы», идентификационный номер которой
56
помещается в записи выбранных товаров в таблице «Корзины». У выбранных
товаров при этом изменяется статус в таблице «Корзины», не позволяющий
клиенту изменить количество товара, а в таблице «Товары» количество для
выбранных товаров соответственно уменьшается.
4) Если количества выбранных товаров в таблице «Товары»
недостаточно, проверяется наличие необходимого количества в таблице
«Корзины», одновременно удаляются простроченные записи. Затем сайт
изменяет в таблице «Корзины» количество выбранных товаров на имеющееся
количество.
5) Сразу после проверки наличия заказанных товаров, для клиента
формируется страница:
в верхней части клиент предупреждается соответствующим
сообщением о необходимости оплаты в течение 10 минут;
после предупреждения клиенту предоставляется перечень
выбранных товаров с указанием наименования, количества и
цены для каждого товара;
ниже перечня выбранных товаров указывается номер заказа,
общая цена и стоимость доставки, включаемой в общую цену;
в нижней части располагается форма оплаты для Мерчант -
сервиса, поля которой скрыты от пользователя. Форма содержит
кнопку «Сформировать платеж», видимую для пользователя.
6) После нажатия на кнопку «Сформировать платеж» клиент
перенаправляется на сайт Мерчант - сервиса, на котором проходит авторизацию
и оплату со своего кошелька.
7) В случае неудачной оплаты, клиент перенаправляется Мерчант -
сервисом на страницу неуспешно выполненного платежа на сайте магазина.
8) Перед фактическим произведением оплаты Мерчантсервис
запрашивает магазин о корректности платежа. В случае корректности сервис
получает ответ «Yes» и производит оплату. После проведения оплаты Мерчант –
сервис информирует магазин о факте заказа на определенную сумму, интернет –
магазин проверяет достоверность уведомления и изменяет статус проверенного
заказа на «оплачен» в таблице «Заказы».
57
9) Клиент после проведения оплаты автоматически перенаправляется
на страницу успешно выполненного платежа на сайте магазина Мерчант -
сервисом, где может убедиться в успешности оплаты.
58
2.2.2 Характеристика нормативно-справочной, входной и
оперативной информации
Работа с платежной системой WebMoney подразумевает использование
некоторых соглашений, которые будут описаны ниже. Основными позициями,
используемыми при обмене данными с Мерчант – сервисом, являются [16]:
- LMI_PAYMENT_AMOUNT - поле, которое содержит сумму платежа.
Дробная часть отделяется точкой, для целой части используется 6 символов, для
дробно – 2 символа.
- LMI_PAYMENT_DESC_BASE64 - поле, которое содержит примечание
платежа, закодированное в кодировке UTF-8. Должно содержать текст,
желательно - наименование товара или услуги, которая продается.
Максимальная длина - 255 символов.
- LMI_PAYMENT_NO – номер заказа интернет – магазина,
необязательный параметр, используемый магазином для проверки платежей.
Максимальная длина 9 символов.
- LMI_MODE - флаг тестового режима: 0реальный режим, 1 – тестовый
режим.
- LMI_PAYEE_PURSEкошелек интернет - магазина. Должен состоять
из буквы (Z-, R- и т.д.) и 12 цифр. По значению этого поля Мерчант – сервис
распознает, в пользу какого продавца (иначе говоря, на чей кошелек)
производится платеж.
- LMI_HASH - контрольная подпись продавца.
- LMI_SYS_TRANS_DATE - дата и время совершения платежа с
точностью до секунд.
- LMI_SYS_INVS_NO - внутренний номер счета в системе WebMoney
Transfer.
- LMI_SYS_TRANS_NO - внутренний номер платежа в системе
WebMoney Transfer.
- LMI_PAYER_PURSE - кошелек покупателя, аналогичен кошельку
интернет – магазина.
59
Заметим, что поля LMI_PAYMENT_AMOUNT, LMI_PAYEE_PURSE,
LMI_PAYMENT_DESC_BASE64, LMI_PAYMENT_NO отправляются на
Мерчант – сервис для оплаты, поэтому должны называться именно так, и никак
иначе, остальные поля присылаются Мерчант – сервисом для проверки
корректности платежа перед его проведением.
Для обеспечения работы интернет - магазина и поддержки модуля
автоматизированного приема платежей необходимо наличие в базе данных
ключевых таблиц, содержащих нормативно-справочную информацию:
Таблица «Товары» должна содержать обязательные сведения о товаре:
- идентификатор товара
- наименование товара
- артикул
- стоимость единицы товара
- статус отпуска по рецепту
- количество на складе
Для поля «наименование товара» определена максимальная длина в 60
символов, поля «артикул» - 20. Поле «стоимость единицы товара» имеет
«денежный» тип: для целой части используется 6 символов, для дробной части –
2, поле «количество на складе» имеет целочисленный тип длиной в 7 символов, а
поле «статус отпуска по рецепту» - 1 символ.
Таблица «Пользователи» содержит сведения о пользователях интернет -
магазина, прошедших регистрацию (для автоматической работы модуля):
- идентификатор клиента
- логин
- ФИО
- электронный адрес
- телефон для связи
Для поля «fio» (фамилия, имя, отчество соответственно) определена
максимальная длина поля 127 символов, этого должно быть достаточно для
большинства потенциальных покупателей, излишнее увеличение связано с тем,
что иногда пользователи вводят и имя, и фамилию в одном поле. Для поля
60
«login» (уникальный псевдоним) определена максимальная длина в 30 символов.
Поле «email» определено длиной 30 символа, поскольку большинство адресов не
превышают 15-30 символов. Поле «phone» (номер телефона для подтверждения
заказа) используется для хранения, как номера телефона, так и кода
города/страны (например, 7-(812)-312-00-00), если пользователь ввел эту
информацию.
В рассматриваемой задаче таблица «Пользователи» заполняется данными
при регистрации пользователей на сайте компании, таблица «Товары»
заполняется сотрудниками фирмы по мере оприходования партий товаров.
Указанные таблицы уже созданы, содержат необходимые сведения, и
используются на сайте.
Таблица «Корзины» заполняется сайтом компании, при подаче заявки на
товары клиентами. Формируется на основе таблиц «Товары» и «Пользователи» и
содержит следующие сведения:
идентификатор корзины (первичный ключ)
идентификатор заказа
идентификатор пользователя
идентификатор товара
количество
Поле «количество» имеет тот же тип и длину, что и поле «количество на
складе» таблицы «Товары». Поля «идентификатор корзины», «идентификатор
заказа», «идентификатор пользователя» и «идентификатор товара» имеют
целочисленный тип длиной 7 символов.
Таблица «Корзины» использует преимущества реляционной модели,
позволяющей посредством связей между таблицами получать необходимые
данные не только сайту интернет – магазина, но и сотрудникам фирмы в их
работе.
Для осуществления платежа рассматриваемый модуль создает записи
также в таблице «Заказы», используя и изменяя записи в таблицах «Корзины» и
«Товары». Кроме того для формирования таблицы «Заказы» используется
идентификатор пользователя из таблицы «Пользователи» посредством метода
61
предоставляемого Yii фреймворком, который используется на сайте интернет -
магазина.
Таблица «Заказы» содержит следующие сведения:
идентификатор заказа
сумма
время
статус
доставка
Для поля «сумма» целая часть имеет максимальную длину 6 символов,
дробная – 2 символа, поле «доставка» имеет целочисленный тип длиной 1
символ. Поля «время» и «идентификатор» имеют целочисленный тип длиной 7
символов, а поле «статус» - 1 символ.
Таблицы «Корзины» и «Заказы» изменяются при покупке клиентом
выбранных товаров, поэтому они необходимы сотрудникам фирмы для отгрузки
товаров.
Кроме того, для работы модуля используется таблица «Настройки»,
которая может быть изменена при необходимости администратором сайта и
содержит сведения, относящиеся непосредственно к платежу:
идентификатор
кошелек продавца
режим работы платежа
секретный ключ продавца
стоимость доставки
Для поля идентификатор определена длина в 1 символ, так как в записи
под номером 1 хранятся все необходимые настройки, для поля «стоимость
доставки» целая часть имеет длину в 4 символа, дробная – 2 символа, поле
«секретный ключ продавца» для обеспечения безопасности определено длиной в
20 символов, а поле «кошелек продавца» имеет длину 13 символов.
Информация о справочнике «Настройки» приведена в таблице 2.3.
62
Таблица 2.3
Сводная таблица справочника «Настройки»
Название справочника
«Настройки»
Ответственный за ведение справочника
Администратор сайта
Средний объём справочника в записях
Одна запись
Среднюю частоту актуализации
Редко, раз в один – два года
Средний объем актуализации (в записях
или в процентах)
100%
63
2.2.3 Характеристика результатной информации
На основе таблиц «Заказы», «Корзины», «Товары» и справочника
«Настройки» формируется страница с описанием покупаемых товаров,
элементом которой является форма со скрытыми полями, содержащими
информацию о заказе, для отправки POST запросом на Мерчант – сервис.
Указанная выше форма имеет следующие поля:
LMI_PAYMENT_AMOUNT – общая сумма заказа
LMI_PAYMENT_DESC_BASE64 – описание платежа в
международной кодировке UTF-8
LMI_PAYMENT_NO – номер заказа на сайте интернет – магазина
LMI_PAYEE_PURSE – кошелек интернет – магазина
LMI_SIM_MODE – режим тестирования: отсутствует – реальный
платеж, 0 – 100% успех, 1 – неудачный платеж, 2: 80% - успешные
платежи, 20% неудачно выполненные платежи.
Описанная форма формируется каждый раз, когда пользователь нажимает
на кнопку «Купить выбранные товары с доставкой» или кнопку «Купить
выбранные товары без доставки», а отправляется Мерчант – сервису, после
нажатия кнопки «Сформировать платеж». После проверки ответного POST
запроса о выполненном платеже от Мерчант – сервиса, содержащего номер
заказа, сайт интернет – магазина изменяет статус заказа в таблице «Заказы» на
«оплачен».

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)