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

Материал из Megatec
Перейти к: навигация, поиск
[досмотренная версия][досмотренная версия]
 
(не показано 5 промежуточных версий 3 участников)
Строка 1: Строка 1:
 
Версия статьи от {{REVISIONDAY}}-{{REVISIONMONTH}}-{{REVISIONYEAR}}.
 
Версия статьи от {{REVISIONDAY}}-{{REVISIONMONTH}}-{{REVISIONYEAR}}.
 +
[[Файл: mb_030.png|left|Предупреждение]] <BR> Начиная с релиза 15.8 после 01.06.2023 работа с отдельными платежными шлюзами не поддерживается. Для работы необходимо использовать новую версию приложения [[Платежные web-сервисы:EntryPoint|EntryPoint (оплата картой в личном кабинете с выбором системы оплаты)]] с поддержкой Uniteller, Sberbank, Tinkoff, Alfabank, Assist, PayOnline, WebPay без установки сторонних библиотек и развертывания отдельных сервисов.<br />
 +
<br><br />
 
==Введение==
 
==Введение==
 +
[[Файл: mb_030.png|left|Предупреждение]] <BR> Перед началом работы с платежными системами необходимо удостовериться в соответствии оборудования и программного обеспечения [[Мастер-Тур(15):Системно-аппаратные требования|системно-аппаратным требованиям]]. Если версия операционной системы не соответствует рекомендуемой, то работа с платежными сервисами не гарантирована в связи с ограничениями протоколов безопасности операционной системы.<br />
 +
<br><br />
 
Данный модуль реализует возможность оплаты путевок через систему электронных платежей Assist.<BR>
 
Данный модуль реализует возможность оплаты путевок через систему электронных платежей Assist.<BR>
 
ASSIST - это мультибанковская система платежей по пластиковым и виртуальным картам через интернет, позволяющая в реальном времени производить авторизацию и обработку транзакций.
 
ASSIST - это мультибанковская система платежей по пластиковым и виртуальным картам через интернет, позволяющая в реальном времени производить авторизацию и обработку транзакций.
 +
 
==Установка==
 
==Установка==
 
Для установки дополнительного модуля '''Интеграция с платежной системой Assist''' нужно создать директорию '''Payments''' в каталоге <code>C:/inetpub/wwwroot</code> (корневом каталоге '''IIS''')  и выложить туда распакованные файлы из архива <code>payments-assist-9.2.20.XXХXX.zip</code>. Устанавливать дополнительный модуль необходимо в том же домене, где расположено основное приложение ПК «Мастер-Web».<br> Начиная с релиза '''9222SP0''', если используется [[Платежные web-сервисы: Выбор платежной системы (оплата картой в личном кабинете)|дополнительный модуль Выбор платежной системы (оплата картой в личном кабинете)]], то необходимо скопировать файл <code>Megatec.MasterWeb.PaymentSystem.Assist.dll</code> из '''<code>/Payments/bin/</code>''' и разместить в папке '''<code>/EntryPoint/bin/</code>'''.<br>
 
Для установки дополнительного модуля '''Интеграция с платежной системой Assist''' нужно создать директорию '''Payments''' в каталоге <code>C:/inetpub/wwwroot</code> (корневом каталоге '''IIS''')  и выложить туда распакованные файлы из архива <code>payments-assist-9.2.20.XXХXX.zip</code>. Устанавливать дополнительный модуль необходимо в том же домене, где расположено основное приложение ПК «Мастер-Web».<br> Начиная с релиза '''9222SP0''', если используется [[Платежные web-сервисы: Выбор платежной системы (оплата картой в личном кабинете)|дополнительный модуль Выбор платежной системы (оплата картой в личном кабинете)]], то необходимо скопировать файл <code>Megatec.MasterWeb.PaymentSystem.Assist.dll</code> из '''<code>/Payments/bin/</code>''' и разместить в папке '''<code>/EntryPoint/bin/</code>'''.<br>
Строка 93: Строка 98:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 +
|- style="vertical-align:text-top"
 +
| 6
 +
| Настройка, позволяющая производить оплату в новой вкладке браузера.<br>
 +
<font style="color:red">Внимание! Настройка обрабатывается, начиная с релиза '''9222SP0'''.</font>
 +
<br><font style="color:red">'''Важно!'''</font><br />
 +
Если данная настройка прописана в файле <code>web.config</code> основного приложения, то она должна быть прописана и в платежном сервисе с тем же значением.
 +
 +
|
 +
* '''false''' или '''отсутствие настройки''' - оплата производится в текущей вкладке браузера;
 +
* '''true''' - оплата производится в новой вкладке браузера.
 +
|<syntaxhighlight lang="xml" enclose="div">
 +
<add key="OpenPaymentInNewWindow" value="true" />
 +
</syntaxhighlight>
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
 
|}
 
|}
Строка 192: Строка 210:
 
Стоимость путевки - '''100 у.е.''' <br />
 
Стоимость путевки - '''100 у.е.''' <br />
 
В настройке указана комиссия - '''50%'''.<br />
 
В настройке указана комиссия - '''50%'''.<br />
Итоговая сумма платежа в системе «PayOnline» - '''200 у.е.'''<br />
+
Итоговая сумма платежа в системе «Assist» - '''200 у.е.'''<br />
 
<code>'''200 у.е.''' - '''50% * 200 у.е.''' = '''100 у.е.'''</code> (''стоимость путевки'').
 
<code>'''200 у.е.''' - '''50% * 200 у.е.''' = '''100 у.е.'''</code> (''стоимость путевки'').
 
|<syntaxhighlight lang="xml" enclose="div">
 
|<syntaxhighlight lang="xml" enclose="div">
Строка 204: Строка 222:
 
Комиссия указывается '''в процентах'''.<br />
 
Комиссия указывается '''в процентах'''.<br />
 
Сумма оплаты вычисляется следующим образом:<br />
 
Сумма оплаты вычисляется следующим образом:<br />
Если из ''конечной суммы'' платежа в системе «PayOnline» ''вычесть'' указанный процент - получится ''стоимость путевки''.<br />
+
Если из ''конечной суммы'' платежа в системе «Assist» ''вычесть'' указанный процент - получится ''стоимость путевки''.<br />
 
Пример:<br />
 
Пример:<br />
 
Стоимость путевки - '''100 у.е.''' <br />
 
Стоимость путевки - '''100 у.е.''' <br />
Строка 279: Строка 297:
 
|<syntaxhighlight lang="xml" enclose="div">
 
|<syntaxhighlight lang="xml" enclose="div">
 
<add key="AddPaymentsToMasterFinance" value="true" />
 
<add key="AddPaymentsToMasterFinance" value="true" />
либо может использоваться старая настройка:
+
</syntaxhighlight>
 +
''В версиях до релиза 9222SP0 может использоваться старая настройка'':
 +
<syntaxhighlight lang="xml" enclose="div">
 
<add key="paymentFactory" value="MasterSoft.Payments.PaymentFactoryWebPay, MasterSoft.Payments" />
 
<add key="paymentFactory" value="MasterSoft.Payments.PaymentFactoryWebPay, MasterSoft.Payments" />
</syntaxhighlight>
+
</syntaxhighlight>  
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
  

Текущая версия на 09:21, 12 января 2024

Версия статьи от 12-01-2024.

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


Начиная с релиза 15.8 после 01.06.2023 работа с отдельными платежными шлюзами не поддерживается. Для работы необходимо использовать новую версию приложения EntryPoint (оплата картой в личном кабинете с выбором системы оплаты) с поддержкой Uniteller, Sberbank, Tinkoff, Alfabank, Assist, PayOnline, WebPay без установки сторонних библиотек и развертывания отдельных сервисов.



Введение

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


Перед началом работы с платежными системами необходимо удостовериться в соответствии оборудования и программного обеспечения системно-аппаратным требованиям. Если версия операционной системы не соответствует рекомендуемой, то работа с платежными сервисами не гарантирована в связи с ограничениями протоколов безопасности операционной системы.



Данный модуль реализует возможность оплаты путевок через систему электронных платежей Assist.
ASSIST - это мультибанковская система платежей по пластиковым и виртуальным картам через интернет, позволяющая в реальном времени производить авторизацию и обработку транзакций.

Установка

Для установки дополнительного модуля Интеграция с платежной системой Assist нужно создать директорию Payments в каталоге C:/inetpub/wwwroot (корневом каталоге IIS) и выложить туда распакованные файлы из архива payments-assist-9.2.20.XXХXX.zip. Устанавливать дополнительный модуль необходимо в том же домене, где расположено основное приложение ПК «Мастер-Web».
Начиная с релиза 9222SP0, если используется дополнительный модуль Выбор платежной системы (оплата картой в личном кабинете), то необходимо скопировать файл Megatec.MasterWeb.PaymentSystem.Assist.dll из /Payments/bin/ и разместить в папке /EntryPoint/bin/.
В управлении IIS необходимо создать виртуальный каталог для папки Payments.

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

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

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

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

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

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

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

Настройка

После установки надстройка Интеграция с платежной системой Assist доступна в экранах «Список заявок» и «Информация о заказе».

Настройки ПК Мастер-Web

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

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

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

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

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

Ключи статусов из таблицы [Order_Status], при которых доступна оплата через Assist.
<add key="paymentsStatuses" value="7,37" />
3 Настройка, включающая механизм хэширования пароля пользователя, сохраняемого в файлах cookie, что позволяет усилить безопасность ПК «Мастер-Web».

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

  • false или отсутствие настройки - хэширование пароля в файлах cookie выключено;
  • true - хэширование пароля в файлах cookie включено.
<add key="HashPasswordForCookie" value="true" />
4 Настройка, определяющая партнеров в базе ПК «Мастер-Тур», которым разрешено осуществлять оплату путёвок онлайн.

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

  • Ключи партнеров таблицы [tbl_Partners], которым разрешена онлайн-оплата путёвок;
  • пустое значение или отсутствие настройки – онлайн-оплата путёвок доступна всем партнёрам.
<add key="allowedPaymentPartnerKeys" value="10764"/>
5 Настройка, позволяющая выводить предупреждающее сообщение о снятии комиссии при оплате.
  • true — сообщение отображается;
  • false или отсутствие настройки — сообщение не отображается.
<add key="askUserBeforePayment" value="true" />
6 Настройка, позволяющая производить оплату в новой вкладке браузера.

Внимание! Настройка обрабатывается, начиная с релиза 9222SP0.
Важно!
Если данная настройка прописана в файле web.config основного приложения, то она должна быть прописана и в платежном сервисе с тем же значением.

  • false или отсутствие настройки - оплата производится в текущей вкладке браузера;
  • true - оплата производится в новой вкладке браузера.
<add key="OpenPaymentInNewWindow" value="true" />

Настройки приложения «Система онлайн платежей»

Настройки задаются в секции <Assist> файла web.config приложения Система онлайн платежей.

Описание Значение Настройка
1 Ключ интернет-магазина Ключ магазина, который предоставляет Assist
<add key="shopID" value="326055"/>
2 Логин для авторизации в системе Assist Логин веб-сервиса для авторизации, который предоставляет Assist. Необходимо добавить обе настройки.
<add key="shopLogin" value="login"/><br />
<add key="webServiceLogin" value=" login "/>
3 Пароль для авторизации в системе Assist Пароль веб-сервиса, который предоставляет Assist
<add key="shopPassword" value="password"/>
4 Настройка, определяющая тип операции при проведении платежа Ключ операции из таблицы [PaymentOperations]
<add key="paymentOperationId" value="1"/>
5 Настройка, определяющая пользователя, к которому будет привязываться оплата Ключ пользователя из таблицы [UserList], к которому привязывается оплата
<add key="masterTourUser" value="100006"/>
6 Настройка, определяющая партнера, к которому будет привязываться оплата Ключ партнера из таблицы [tbl_Partners], к которому привязывается оплата
<add key="paymentFilialKey" value="1"/>
7 Настройка, определяющая отдел, к которому будет привязываться оплата Ключ отдела (кассы) из таблицы [PrtDeps], к которому привязывается оплата
<add key="departmentKey" value="2"/>
8 Настройка, определяющая код валюты, в которой будет совершаться платеж через платежную систему Assist Код валюты из таблицы [Rates], в которой будет совершаться платеж
<add key="assistPaymentsRate" value="рб" />
9 Логин для авторизации в веб сервисах Логин для авторизации, который предоставляет Assist
<add key="webServiceLogin" value="" />
10 Настройка, позволяющая задавать размер комиссии, которая будет включена в сумму оплаты (для агентств). Значение комиссии, которую необходимо включить в сумму платежа (целая часть отделяется запятой).

Комиссия указывается в процентах.
Сумма оплаты вычисляется следующим образом:
Если из конечной суммы платежа в системе «PayOnline» вычесть указанный процент - получится стоимость путевки.
Пример:
Стоимость путевки - 100 у.е.
В настройке указана комиссия - 50%.
Итоговая сумма платежа в системе «Assist» - 200 у.е.
200 у.е. - 50% * 200 у.е. = 100 у.е. (стоимость путевки).

<add key="addAgencyComission" value="3,627" />
11 Настройка, позволяющая задавать размер комиссии, которая будет включена в сумму оплаты (для частных лиц). Значение комиссии, которую необходимо включить в сумму платежа (целая часть отделяется запятой).

Комиссия указывается в процентах.
Сумма оплаты вычисляется следующим образом:
Если из конечной суммы платежа в системе «Assist» вычесть указанный процент - получится стоимость путевки.
Пример:
Стоимость путевки - 100 у.е.
В настройке указана комиссия - 50%.
Итоговая сумма платежа в системе «PayOnline» - 200 у.е.
200 у.е. - 50% * 200 у.е. = 100 у.е. (стоимость путевки).

<add key="addPersonalComission" value="5" />
12 Секретное слово из личного кабинета Секретное слово, которое указывается в личном кабинете в Assist
<add key="salt" value="" />
13 Боевой/тестовый адрес. Откуда получать ответ. Боевой адрес, который предоставляет Assist

либо белорусский тестовый сервис:
https://test.paysec.by/orderstate/orderstate.cfm
либо питерский тестовый сервис:
https://payments.demo.paysecure.ru/orderstate/orderstate.cfm

<add key="assistGetTransaction" value="" />

Настройки задаются в секции <appSettings> файла web.config приложения Система онлайн платежей

Описание Значение Настройка
1 Имя текущей установленной службы.

Внимание! Настройка обрабатывается только в версии Мастер-Тур 15.

Наименование службы, к которой может обращаться текущий клиент (по значению настройки acceptableServices в MasterTourService). По умолчанию настройка не заполнена. Значение настройки должно быть явно задано.
<add key="acceptableServices" value=""/>
2 Настройка, включающая механизм хэширования пароля пользователя, сохраняемого в файлах cookie, что позволяет усилить безопасность ПК «Мастер-Web».

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

  • false или отсутствие настройки - хэширование пароля в файлах cookie выключено;
  • true - хэширование пароля в файлах cookie включено.
<add key="HashPasswordForCookie" value="true" />
3 Включение режима записи нового платежа в систему «Мастер-Финанс». При этом в ПК «Мастер-Тур» платежи не сохраняются.
  • true - включена запись платежей в «Мастер-Финанс»;
  • false или отсутствие настройки - выключает запись платежей в «Мастер-Финанс».
<add key="AddPaymentsToMasterFinance" value="true" />

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

<add key="paymentFactory" value="MasterSoft.Payments.PaymentFactoryWebPay, MasterSoft.Payments" />
4 Настройка, включающая экран редактирования суммы к оплате.
  • true - экран корректировки суммы к оплате отображается;
  • false или отсутствие настройки - экран корректировки суммы к оплате не отображается.
<add key="allowCustomAmount" value="true" />
5 Боевой/тестовый адрес создания транзакции.
Боевой адрес, который предоставляет Assist

либо белорусский тестовый сервис:
https://test.paysec.by/orderstate/orderstate.cfm
либо питерский тестовый сервис:
https://payments.demo.paysecure.ru/orderstate/orderstate.cfm

<add key="paymentSystemLoginURL" value="" />


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

Оплату можно произвести по путевкам, статус которых указан в настройке paymentsStatuses.
Для возможности оплаты через платёжную систему Assist тип платёжной операции (PaymentOperation), ключ которой указан в настройке paymentOperationId, должен иметь бланки и иметь признак «Приходный» (PO_Type is null or PO_Type = 0).
В личном кабинете Assist необходимо указать URL-адрес уведомления магазина в формате: somesite/Payments/Payment.aspx?action=reply.

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

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

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

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


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


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

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

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

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

Оплата путевки

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


Оплата доступна только для путевок имеющих статус, ключ которого указан в настройке paymentsStatuses.


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

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

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

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

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

Для оплаты путевки через Assist необходимо нажать ссылку Оплатить для нужной путевки (или кнопку Оплатить on-line в экране Информация о заказе), после чего пользователь попадает в экран для ввода персональных данных.
Ep 238.png
После ввода данных необходимо нажать кнопку Подтвердить. Откроется экран для ввода данных банковской карты.
Ep 239.png
В данном экране необходимо заполнить информацию, необходимую для проведения оплаты путевки. Все поля являются обязательными к заполнению.
После того, как все поля заполнены, нужно нажать на кнопку Оплатить, по нажатию которой загрузится экран Информация о платеже.
Ep 240.png
Для того чтобы вернуться к списку заявок нужно нажать на кнопку Вернуться в магазин.
При успешном проведении платежа в базе автоматически создается проводка и у путевки прописывается сумма оплаты. Также в истории путевки добавляется запись об оплате через платежную систему Assist.