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

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
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
запроса о выполненном платеже от Мерчант – сервиса, содержащего номер
заказа, сайт интернет – магазина изменяет статус заказа в таблице «Заказы» на
«оплачен».
Источник: https://baza.diplomsite.ru/previewfile/1998