Платежные web-сервисы: Выбор платежной системы (оплата картой в личном кабинете) — различия между версиями

Материал из Megatec
Перейти к: навигация, поиск
[досмотренная версия][досмотренная версия]
(Введение)
(Настройки в файле WEB.CONFIG)
Строка 159: Строка 159:
 
|<syntaxhighlight lang="xml" enclose="div">
 
|<syntaxhighlight lang="xml" enclose="div">
 
<add key="sberbankPaymentApplicationUrl" value="http://somesite/sberbank"/>
 
<add key="sberbankPaymentApplicationUrl" value="http://somesite/sberbank"/>
 +
</syntaxhighlight>
 +
|- style="vertical-align:text-top"
 +
| 2
 +
| Настройка, включающая механизм хэширования пароля пользователя, сохраняемого в файлах cookie, что позволяет усилить безопасность ПК "Мастер-Web". По умолчанию хэширование включено. '''Значение настройки должно совпадать со значением в файле web.config ПК "Мастер-Web"'''.
 +
|'''false''' - хэширование пароля в файлах cookie выключено; '''true''' или '''отсутствие настройки''' - хэширование пароля в файлах cookie включено.
 +
|<syntaxhighlight lang="xml" enclose="div">
 +
<add key="HashPasswordForCookie" value="true" />
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|}
 
|}

Версия 16:00, 31 июля 2020

Введение

Модуль Выбор платежной системы предоставляет возможность покупателю/агентству выбрать способ оплаты путевок. Оплата путевок может осуществляться в экранах «Список заявок» (OrderList.aspx) и «Путевка» (OrderInfo.aspx).
В данный момент доступны следующие способы оплаты:

Для полноценной работы плагина нужно установить соответствующие платежные приложения или Сервис интеграции с платежной системой (оплата через терминалы).

Установка

Для установки дополнительного модуля Выбор платежной системы нужно создать директорию EntryPoint в каталоге C:/inetpub/wwwroot (корневом каталоге IIS) и выложить туда распакованные файлы из архива
mw-paymentsSystem-entryPoint-9.2.2X.XXXXX.zip.
Начиная с релиза 9222SP0, необходимо копировать dll-файлы используемых платёжных систем (например, Megatec.MasterWeb.PaymentSystem.Sberbank.dll, Megatec.MasterWeb.PaymentSystem.Uniteller.dll) из папки соответствующего платёжного приложения и размещать их по пути: \\EntryPoint\bin\.
В управлении IIS необходимо создать виртуальный каталог для папки EntryPoint.

Создание виртуального каталога

По умолчанию корневым каталогом IIS является C:/Inetpub/wwwroot. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия:
1 Зайти в Пуск (Start) → Настройки (Settings) → Панель управления (Control Panel) → Администрирование (Administrative Tools)
Панель управления

2 Диспетчер служб IIS
Администрирование - Диспетчер служб IIS

3 В открывшемся дереве каталогов выбрать Web Sites – Default Web Site. В открывшемся списке найти папку, для которой нужно создать виртуальный каталог, кликнуть по ней правой кнопкой мыши и выбрать Преобразовать в приложение
Преобразовать в приложение

4 В открывшемся окне нужно нажать кнопку ОК
Добавить приложение

Подключение к базе данных ПК «Мастер-Тур»

В файле web.config, расположенном в папке EntryPoint пропишите необходимые параметры подключения (красным цветом выделены значения, которые необходимо ввести). Строка подключения к базе данных ПК «Мастер-Тур»:
<add key = "connectionString" value = "Data Source=ip-адрес сервера базы данных ПК «Мастер-Тур»;Initial Catalog=название базы данных ПК «Мастер-Тур»;User ID=логин пользователя ПК «Мастер-Тур»;Password=пароль пользователя ПК «Мастер-Тур»"/>

Настройки в файле WEB.CONFIG

Настройки задаются в секции <appSettings> файла web.config основного приложения ПК «Мастер-Web».

Описание Значение Настройка
1 Включение дополнительного модуля Выбор платежной системы.

Обязательная настройка.

- true - модуль Выбор платежной системы включен

- false или отсутствие настройки - модуль Выбор платежной системы выключен

<add key="usePaymentEntryPoint" value="true"/>
2 Включение дополнительного модуля Выбор платежной системы.

Обязательная настройка.

- Путь к приложению «Выбор платежной системы».
 <add key="paymentsLink" value="http://somesite/EntryPoint" />
3 Настройка, определяющая статусы путевок, при которых доступна возможность оплаты через систему электронных платежей.

Обязательная настройка.

- ключи статусов из таблицы [Order_Status], при которых доступна оплата через систему электронных платежей.
<add key="paymentsStatuses" value="7,37" />
4 Настройка, позволяющая выводить предупреждающее сообщение о снятии комиссии при оплате. true — сообщение отображается;

false или отусутствие настройки — сообщение не отображается.

<add key="askUserBeforePayment" value="true" />
5 Настройка, определяющая дату, на которую будет подбираться курс валют для пересчета суммы к оплате.

Обработка настройки, начиная с релиза 9220SP31.

  • FixationDate или отсутствие настройки - курс на дату последней фиксации путевки на момент совершения платежа, а если путевка не зафиксирована, то на дату совершения платежа;
  • ConfirmDate — курс на дату последнего подтверждения заявки (если подтверждения путевки еще не было, либо курс на дату подтверждения не заведен, то будет отображаться курс на момент совершения платежа);
  • OrderDate — дата оформления заявки;
  • PaymentDate - курс на дату совершения платежа.

Обработка настройки до релиза 9220SP31.

  • OrderDate — дата оформления заявки;
  • Today — курс на текущую дату;
  • ConfirmDate — курс на дату подтверждения заявки (если подтверждения путевки еще не было, либо курс на дату подтверждения не заведен, то будет отображаться курс на текущую дату).
 <add key="courseExchangeDate" value="OrderDate" />
6 Настройка, определяющая партнеров в базе ПК «Мастер-Тур», которым разрешено осуществлять оплату путёвок онлайн.

Внимание! Настройка обрабатывается, начиная с релиза 9223SP0.

  • Ключи партнеров таблицы [tbl_Partners], которым разрешена онлайн-оплата путёвок;
  • пустое значение или отсутствие настройки – онлайн-оплата путёвок доступна всем партнёрам.
<add key="allowedPaymentPartnerKeys" value="10764"/>
7 Включение режима записи нового платежа в систему «Мастер-Финанс». При этом в ПК «Мастер-Тур» платежи не сохраняются.
  • true - включена запись платежей в «Мастер-Финанс»;
  • false или отсутствие настройки - выключает запись платежей в «Мастер-Финанс».
<add key="AddPaymentsToMasterFinance" value="true" />

В версиях до релиза 9222SP0 может использоваться старая настройка:

<add key="paymentFactory" value="MasterSoft.Payments.PaymentFactoryWebPay, MasterSoft.Payments" />

Если используется интеграция с платёжной системой Sberbank, то необходимо задать настройки в секции <Sberbank> файла web.config приложения EntryPoint.

Описание Значение Настройка
1 Указание пути к платежному приложению Sberbank

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

Путь к установленному платежному приложению Sberbank
<add key="sberbankPaymentApplicationUrl" value="http://somesite/sberbank"/>
2 Настройка, включающая механизм хэширования пароля пользователя, сохраняемого в файлах cookie, что позволяет усилить безопасность ПК "Мастер-Web". По умолчанию хэширование включено. Значение настройки должно совпадать со значением в файле web.config ПК "Мастер-Web". false - хэширование пароля в файлах cookie выключено; true или отсутствие настройки - хэширование пароля в файлах cookie включено.
<add key="HashPasswordForCookie" value="true" />

Формат настроек в web.config

Секция описания способов оплаты в платежных системах:

<paymentMethods>
    <add code="1" name="PayPal" paymentSystem="PayPal" link="http://paypal.com/pay.aspx?sum=%DGPRICE%&comment=%DGCODE%" skipDescriptionPage="false" />	
</paymentMethods>
  • code="1" - идентификатор платежного метода, должен быть уникальным. Используется в других секциях, для ссылки на данный метод оплаты;
  • name="PayPal" - название, которое будет отображаться на кнопке оплаты;
  • paymentSystem="PayPal" - название платежной системы. Одно из предопределенных значений:
  • totalFee="2.3" - комиссия платёжной системы, которую необходимо переложить на агента;
  • link="" - ссылка на платежную систему, по которой доступен данный способ оплаты;
  • skipDescriptionPage - true/false - пропускать на экран оплаты или сразу выполнять платеж с текущими значениями.
Предупреждение


Начиная с релиза 9.2.23.0 и 15.2 существует возможность работы с фискализацией платежей. Для этого необходимо 
раскомментировать секцию <add code="5" name="Банковская карта" totalFee="5.0" fee1="1.5" fee2="3.5" 
maximumAmount="1000000" paymentSystem="Uniteller" с включенной фискализацией платежей, а также заполнить настройки 
UseFiscalization, TaxMode и TaxRateCode, расположенние в конфигурационной файле


Секция описания доступных способов оплаты, заданных в секции paymentMethods, текущему пользователю:

<paymentAvailabilities>
    <add code="1" paymentMethodCode="1" countryCode="7" filialCode="1" consumerCode="Person" isAvailable="false" priority="100"  paymentConditionCode="2" />
</paymentAvailabilities>
  • code - идентификатор доступности способа оплаты, должен быть уникальным;
  • paymentMethodCode - идентификатор способа оплаты (code) из секции paymentMethod;
  • countryCode - ограничение доступности метода оплаты по ключу страны (cn_key из таблицы tbl_country). Может быть пустым - доступен для всех стран;
  • filialCode - ограничение доступности метода оплаты по коду партнера-филиала из его карточки. Может быть пустым - доступен для всех филиалов;
  • consumerCode - ограничение по типу забронировавшего: турист или агентство. Person - для частных лиц, Agency - для турагентств;
  • isAvailable - включено или выключено это ограничение. Значение false равносильно отсутствию строки в секции;
  • priority - приоритет при выборе нескольких доступных вариантов оплаты;
  • paymentConditionCode - идентификатор (code) из секции paymentConditions

Секция описания условий платежей:

<paymentConditions>
    <add  code="1"	feePayer="Customer" paymentSummMTkey="1000" paymentTotalFeeMTkey="1001" paymentFee1MTkey="1002" paymentFee2MTkey="1003"/>
</paymentConditions>

Настройка стилей

В папке приложения EntryPoint есть файл Views\Shared\ _Layout.cshtml. В тегах <div> можно разместить информацию в Нeader и Footer. Если Header и Footer не нужны, можно в этом же файле их убрать, удалив теги <div>.

<div id="header">
    Header
  </div>
  . . .
  <div id="footer">
    Footer
  </div>

Подготовка данных

Оплату можно произвести по путевкам, статус которых указан в настройке paymentsStatuses.
Перед использованием приложения Выбор платежной системы необходимо в таблице tbl_Country в поле CN_RateKey проставить ключи национальных валют для стран, в которых зарегистрированы филиалы продающие путевки.

Работа в системе

Поиск путевки

Список заявок, забронированных в базе данных туроператора, доступен в экране «Список заказов» по адресу: http://ip-адрес сервера Мастер-Веб/MasterWebStandard/OrderList.aspx.

Предупреждение


Экран «Список заказов» доступен только для зарегистрированных и авторизованных в системе пользователей.


После ввода имени пользователя и пароля загрузится список заявок, оформленных на покупателя/агентство, указанного в поле «Партнер в БД МТ» при регистрации пользователя в Системе администрирования ПК «Мастер-Web», который сопоставлен имени текущего пользователя.

Экран «Список заказов»

Для отбора путевок можно использовать фильтры:

  • Поиск по номеру заявки;
  • Поиск по фамилии туриста;
  • Поиск по статусу документов на визу;
  • Поиск по стране;
  • Поиск по дате заявки;
  • Дата тура с... и Дата тура по...;
  • Путевки с наличием услуги «Виза»;
  • Путевки с задолженностями.

Способ оплаты

Предупреждение


Модуль "Выбор платежной системы" доступен только для путевок имеющих статус, ключ которого указан в настройке paymentsStatuses.


Способ оплаты доступен из в экранов «Список заявок» и «Информация о заказе».

Экран Список заказов доступен по адресу: http://ip-адрес сервера Мастер-Веб/MasterWebStandard/OrderList.aspx.

Оплата путевок в экране «Список заказов»

Экран Информация о заказе доступен по адресу: http://ip-адрес сервера Мастер-Веб/MasterWebStandard/OrderInfo.aspx.

Оплата путевок в экране «Информация о заказе»

Для выбора способа оплаты необходимо нажать ссылку Оплатить для нужной путевки (или кнопку Оплатить on-line в экране Информация о заказе), после чего пользователь попадает в экран, в котором указывается номер заказа и способы оплаты.

Оплата «Способ оплаты»

Выбрав способ оплаты, открывается экран оплаты, в котором указывается способ оплаты, ссылка на изменение способа (если их несколько), номер путевки, стоимость путевки к оплате, оплаченная сумма, курс валюты, сумма к оплате с учетом комиссии:

Оплата «Параметры платежа»

Сумму к оплате можно изменить, при этом необходимо учитывать правила оплаты, которые выводятся из файла, путь к которому указан в настройке:

<add key="agreementText" value="templates/AgreementText.htm"/>

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

После нажатия кнопки «Оплатить» определяются параметры для выбранной платежной системы (из соответствующей секции описанной в web.config) и формируется ссылка для передачи параметров платежа платежной системе. Затем осуществляется переход по сформированной ссылке. Параметры и способ формирования ссылки к платежной системе определены в отдельном классе для каждой платежной системы, при необходимости можно добавить новые платежные системы.