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

Материал из Megatec
Перейти к: навигация, поиск
[досмотренная версия][досмотренная версия]
 
(не показано 18 промежуточных версий 7 участников)
Строка 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>.<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>
 
В '''управлении IIS''' необходимо создать виртуальный каталог для папки '''Payments'''.
 
В '''управлении IIS''' необходимо создать виртуальный каталог для папки '''Payments'''.
 
===Создание виртуального каталога===
 
===Создание виртуального каталога===
Строка 66: Строка 71:
 
Если данная настройка прописана в файле <code>web.config</code> основного приложения, то она должна быть прописана и в платежном сервисе с тем же значением.
 
Если данная настройка прописана в файле <code>web.config</code> основного приложения, то она должна быть прописана и в платежном сервисе с тем же значением.
 
|  
 
|  
* '''false''' - хэширование пароля в файлах <code>cookie</code> ''выключено'';
+
* '''false''' или '''отсутствие настройки''' - хэширование пароля в файлах <code>cookie</code> ''выключено'';
* '''true''' или '''отсутствие настройки''' - хэширование пароля в файлах <code>cookie</code> ''включено''.
+
* '''true''' - хэширование пароля в файлах <code>cookie</code> ''включено''.
 
|<syntaxhighlight lang="xml" enclose="div">
 
|<syntaxhighlight lang="xml" enclose="div">
 
<add key="HashPasswordForCookie" value="true" />
 
<add key="HashPasswordForCookie" value="true" />
Строка 75: Строка 80:
 
| 4
 
| 4
 
|Настройка, определяющая партнеров в базе ПК «Мастер-Тур», которым разрешено осуществлять оплату путёвок онлайн. <br>
 
|Настройка, определяющая партнеров в базе ПК «Мастер-Тур», которым разрешено осуществлять оплату путёвок онлайн. <br>
<font style="color:red">''Внимание!''</font> Настройка обрабатывается, начиная с релиза '''9222SP1'''
+
<font style="color:red">''Внимание!''</font> Настройка обрабатывается, начиная с релиза '''9223SP0'''
 
|  
 
|  
 
*'''Ключи партнеров''' таблицы [tbl_Partners], которым разрешена онлайн-оплата путёвок;
 
*'''Ключи партнеров''' таблицы [tbl_Partners], которым разрешена онлайн-оплата путёвок;
Строка 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"
 
|}
 
|}
  
 
===Настройки приложения «Система онлайн платежей»===
 
===Настройки приложения «Система онлайн платежей»===
Настройки задаются в секции <code><basic></code> файла <code>web.config</code> приложения '''Система онлайн платежей'''.
+
Настройки задаются в секции <code><Assist></code> файла <code>web.config</code> приложения '''Система онлайн платежей'''.
  
 
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
 
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
Строка 119: Строка 137:
 
| 2
 
| 2
 
| Логин для авторизации в системе Assist
 
| Логин для авторизации в системе Assist
| '''Логин''' для авторизации, который предоставляет Assist
+
| '''Логин''' веб-сервиса для авторизации, который предоставляет Assist. Необходимо добавить обе настройки.
 
| <syntaxhighlight lang="xml" enclose="div">
 
| <syntaxhighlight lang="xml" enclose="div">
<add key="shopLogin" value="login"/>
+
<add key="shopLogin" value="login"/><br />
 +
<add key="webServiceLogin" value=" login "/>
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Строка 127: Строка 146:
 
| 3
 
| 3
 
| Пароль для авторизации в системе Assist
 
| Пароль для авторизации в системе Assist
| '''Пароль''', который предоставляет Assist
+
| '''Пароль''' веб-сервиса, который предоставляет Assist
 
| <syntaxhighlight lang="xml" enclose="div">
 
| <syntaxhighlight lang="xml" enclose="div">
 
<add key="shopPassword" value="password"/>
 
<add key="shopPassword" value="password"/>
Строка 134: Строка 153:
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
 
| 4
 
| 4
| Максимальное время ожидания ответа от сервера Assist
+
| Настройка, определяющая тип операции при проведении платежа
| '''Время''' в миллисекундах
+
| '''Ключ операции''' из таблицы '''[PaymentOperations]'''
 
| <syntaxhighlight lang="xml" enclose="div">
 
| <syntaxhighlight lang="xml" enclose="div">
<add key="requestTimeout" value="1000"/>
+
<add key="paymentOperationId" value="1"/>
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
 
| 5
 
| 5
| Количество попыток соединения с сервером Assist
+
| Настройка, определяющая пользователя, к которому будет привязываться оплата
| '''Количество попыток''' подключения
+
| '''Ключ пользователя''' из таблицы '''[UserList]''', к которому привязывается оплата
 
| <syntaxhighlight lang="xml" enclose="div">
 
| <syntaxhighlight lang="xml" enclose="div">
<add key="requestAttempts" value="10"/>
+
<add key="masterTourUser" value="100006"/>
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
 
| 6
 
| 6
| Настройка, определяющая тип операции при проведении платежа
+
| Настройка, определяющая партнера, к которому будет привязываться оплата
| '''Ключ операции''' из таблицы '''[PaymentOperations]'''
+
| '''Ключ партнера''' из таблицы '''[tbl_Partners]''', к которому привязывается оплата
 
| <syntaxhighlight lang="xml" enclose="div">
 
| <syntaxhighlight lang="xml" enclose="div">
<add key="kindOfPay" value="1"/>
+
<add key="paymentFilialKey" value="1"/>
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
 
| 7
 
| 7
| Настройка, определяющая пользователя, к которому будет привязываться оплата
+
| Настройка, определяющая отдел, к которому будет привязываться оплата
| '''Ключ пользователя''' из таблицы '''[UserList]''', к которому привязывается оплата
+
| '''Ключ отдела (кассы)''' из таблицы '''[PrtDeps]''', к которому привязывается оплата
 
| <syntaxhighlight lang="xml" enclose="div">
 
| <syntaxhighlight lang="xml" enclose="div">
<add key="masterTourUser" value="100006"/>
+
<add key="departmentKey" value="2"/>
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
 
| 8
 
| 8
| Настройка, определяющая партнера, к которому будет привязываться оплата
+
| Настройка, определяющая код валюты, в которой будет совершаться платеж через платежную систему Assist
| '''Ключ партнера''' из таблицы '''[tbl_Partners]''', к которому привязывается оплата
+
| '''Код валюты''' из таблицы '''[Rates]''', в которой будет совершаться платеж
 
| <syntaxhighlight lang="xml" enclose="div">
 
| <syntaxhighlight lang="xml" enclose="div">
<add key="filialKey" value="1"/>
+
<add key="assistPaymentsRate" value="рб" />
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
 
| 9
 
| 9
| Настройка, определяющая отдел, к которому будет привязываться оплата
+
| Логин для авторизации в веб сервисах
| '''Ключ отдела (кассы)''' из таблицы '''[PrtDeps]''', к которому привязывается оплата
+
| '''Логин для авторизации''', который предоставляет Assist 
 
| <syntaxhighlight lang="xml" enclose="div">
 
| <syntaxhighlight lang="xml" enclose="div">
<add key="departmentKey" value="2"/>
+
<add key="webServiceLogin" value="" />
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
 +
 
| 10
 
| 10
| Настройка, определяющая статусы путевок, при которых доступна возможность оплаты через систему электронных платежей Assist
+
| Настройка, позволяющая задавать '''размер комиссии''', которая будет '''включена в сумму оплаты''' ('''для агентств''').
| '''Ключи статусов''' из таблицы '''[Order_Status]''', при которых доступна оплата через Assist
+
| '''Значение комиссии''', которую необходимо ''включить в сумму платежа'' (целая часть отделяется запятой).
 +
Комиссия указывается '''в процентах'''.<br />
 +
Сумма оплаты вычисляется следующим образом:<br />
 +
Если из ''конечной суммы'' платежа в системе «PayOnline» ''вычесть'' указанный процент - получится ''стоимость путевки''.<br />
 +
Пример:<br />
 +
Стоимость путевки - '''100 у.е.''' <br />
 +
В настройке указана комиссия - '''50%'''.<br />
 +
Итоговая сумма платежа в системе «Assist» - '''200 у.е.'''<br />
 +
<code>'''200 у.е.''' - '''50% * 200 у.е.''' = '''100 у.е.'''</code> (''стоимость путевки'').
 +
|<syntaxhighlight lang="xml" enclose="div">
 +
<add key="addAgencyComission" value="3,627" />
 +
</syntaxhighlight>
 +
 
 +
|- style="vertical-align:text-top"
 +
| 11
 +
| Настройка, позволяющая задавать '''размер комиссии''', которая будет '''включена в сумму оплаты''' ('''для частных лиц''').
 +
| '''Значение комиссии''', которую необходимо ''включить в сумму платежа'' (целая часть отделяется запятой).
 +
Комиссия указывается '''в процентах'''.<br />
 +
Сумма оплаты вычисляется следующим образом:<br />
 +
Если из ''конечной суммы'' платежа в системе «Assist» ''вычесть'' указанный процент - получится ''стоимость путевки''.<br />
 +
Пример:<br />
 +
Стоимость путевки - '''100 у.е.''' <br />
 +
В настройке указана комиссия - '''50%'''.<br />
 +
Итоговая сумма платежа в системе «PayOnline» - '''200 у.е.'''<br />
 +
<code>'''200 у.е.''' - '''50% * 200 у.е.''' = '''100 у.е.'''</code> (''стоимость путевки'').
 +
|<syntaxhighlight lang="xml" enclose="div">
 +
<add key="addPersonalComission" value="5" />
 +
</syntaxhighlight>
 +
 
 +
|- style="vertical-align:text-top"
 +
| 12
 +
| Секретное слово из личного кабинета
 +
| '''Секретное слово''', которое указывается в личном кабинете в Assist
 
| <syntaxhighlight lang="xml" enclose="div">
 
| <syntaxhighlight lang="xml" enclose="div">
<add key="paymentsStatuses" value="7,37" />
+
<add key="salt" value="" />
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
| 11
+
| 13
| Настройка, определяющая код валюты, в которой будет совершаться платеж через платежную систему Assist
+
| Боевой/тестовый адрес. Откуда получать ответ.
| '''Код валюты''' из таблицы '''[Rates]''', в которой будет совершаться платеж
+
| '''Боевой адрес''', который предоставляет Assist
 +
либо белорусский тестовый сервис:<br />
 +
''https://test.paysec.by/orderstate/orderstate.cfm''<br />
 +
либо питерский тестовый сервис:<br />
 +
''https://payments.demo.paysecure.ru/orderstate/orderstate.cfm<br />''
 
| <syntaxhighlight lang="xml" enclose="div">
 
| <syntaxhighlight lang="xml" enclose="div">
<add key="assistPaymentsRate" value="рб" />
+
<add key="assistGetTransaction" value="" />
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
|- style="vertical-align:text-top"
 +
|}
 +
 +
Настройки задаются в секции <code><appSettings></code> файла <code>web.config</code> приложения '''Система онлайн платежей'''
 +
<br /><br />
 +
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
 +
 +
|- style="background-color:#F2F2F2"
 +
 +
! width="2%" | №
 +
! width="28%" | Описание
 +
! width="35%" | Значение
 +
! width="35%" | Настройка
  
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
| 12
+
 
 +
| 1
 +
| Имя текущей установленной службы.
 +
<span style="color:red">Внимание!</span> Настройка обрабатывается только в версии Мастер-Тур 15.
 +
| Наименование службы, к которой может обращаться текущий клиент (по значению настройки [[Мастер-Тур(15):Установка#Установка службы MasterTourService|''acceptableServices'']] в ''MasterTourService''). По умолчанию настройка не заполнена. Значение настройки должно быть явно задано.<br />
 +
|<syntaxhighlight lang="xml" enclose="div">
 +
<add key="acceptableServices" value=""/>
 +
</syntaxhighlight>
 +
|- style="vertical-align:text-top"
 +
 
 +
 
 +
| 2
 
| Настройка, включающая '''механизм хэширования пароля пользователя''', сохраняемого в файлах <code>cookie</code>, что позволяет усилить безопасность ПК «Мастер-Web».
 
| Настройка, включающая '''механизм хэширования пароля пользователя''', сохраняемого в файлах <code>cookie</code>, что позволяет усилить безопасность ПК «Мастер-Web».
 
По умолчанию хэширование включено.<br />
 
По умолчанию хэширование включено.<br />
Строка 203: Строка 283:
 
Если данная настройка прописана в файле <code>web.config</code> платежного сервиса, то она должна быть прописана и в основном приложении с тем же значением.
 
Если данная настройка прописана в файле <code>web.config</code> платежного сервиса, то она должна быть прописана и в основном приложении с тем же значением.
 
|  
 
|  
* '''false''' - хэширование пароля в файлах <code>cookie</code> ''выключено'';
+
* '''false''' или '''отсутствие настройки''' - хэширование пароля в файлах <code>cookie</code> ''выключено'';
* '''true''' или '''отсутствие настройки''' - хэширование пароля в файлах <code>cookie</code> ''включено''.
+
* '''true''' - хэширование пароля в файлах <code>cookie</code> ''включено''.
| <syntaxhighlight lang="xml" enclose="div">
+
|<syntaxhighlight lang="xml" enclose="div">
 
<add key="HashPasswordForCookie" value="true" />
 
<add key="HashPasswordForCookie" value="true" />
 +
</syntaxhighlight>
 +
|- style="vertical-align:text-top"
 +
 +
| 3
 +
| Включение режима '''записи нового платежа''' в систему '''«Мастер-Финанс»'''. При этом в ПК «Мастер-Тур» платежи '''не сохраняются'''.
 +
|
 +
* '''true''' - включена запись платежей в «Мастер-Финанс»;
 +
* '''false''' или '''отсутствие настройки''' - выключает запись платежей в «Мастер-Финанс».
 +
|<syntaxhighlight lang="xml" enclose="div">
 +
<add key="AddPaymentsToMasterFinance" value="true" />
 +
</syntaxhighlight>
 +
''В версиях до релиза 9222SP0 может использоваться старая настройка'':
 +
<syntaxhighlight lang="xml" enclose="div">
 +
<add key="paymentFactory" value="MasterSoft.Payments.PaymentFactoryWebPay, MasterSoft.Payments" />
 +
</syntaxhighlight>
 +
|- style="vertical-align:text-top"
 +
 +
| 4
 +
| Настройка, '''включающая экран редактирования суммы к оплате'''.<br>
 +
|
 +
* '''true''' - экран корректировки суммы к оплате ''отображается'';
 +
* '''false''' или '''отсутствие настройки''' - экран корректировки суммы к оплате ''не отображается''.
 +
|<syntaxhighlight lang="xml" enclose="div">
 +
<add key="allowCustomAmount" value="true" />
 +
</syntaxhighlight>
 +
|- style="vertical-align:text-top"
 +
 +
| 5
 +
| Боевой/тестовый адрес создания транзакции.<br>
 +
| '''Боевой адрес''', который предоставляет Assist
 +
либо белорусский тестовый сервис:<br />
 +
''https://test.paysec.by/orderstate/orderstate.cfm''<br />
 +
либо питерский тестовый сервис:<br />
 +
''https://payments.demo.paysecure.ru/orderstate/orderstate.cfm<br />''
 +
|<syntaxhighlight lang="xml" enclose="div">
 +
<add key="paymentSystemLoginURL" value="" />
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
 
|}
 
|}
 +
<br />
  
 
==Подготовка данных==
 
==Подготовка данных==
 
Оплату можно произвести по путевкам, '''статус''' которых указан в настройке '''paymentsStatuses'''.<br />
 
Оплату можно произвести по путевкам, '''статус''' которых указан в настройке '''paymentsStatuses'''.<br />
Для возможности оплаты через платёжную систему Assist '''тип платёжной операции''' (PaymentOperation), ключ которой указан в настройке '''kindOfPay''', должен иметь бланки и иметь признак '''«Приходный»''' (PO_Type is null or PO_Type = 0).
+
Для возможности оплаты через платёжную систему Assist '''тип платёжной операции''' (PaymentOperation), ключ которой указан в настройке '''paymentOperationId''', должен иметь бланки и иметь признак '''«Приходный»''' (PO_Type is null or PO_Type = 0).<br />
 +
В личном кабинете '''Assist''' необходимо указать URL-адрес уведомления магазина в формате: ''somesite/Payments/Payment.aspx?action=reply''.
  
 
==Работа в системе==
 
==Работа в системе==
Строка 256: Строка 374:
 
<br />
 
<br />
  
Для оплаты путевки через '''Assist''' необходимо нажать ссылку '''Оплатить''' для нужной путевки (или кнопку '''Оплатить on-line''' в экране '''Информация о заказе'''), после чего пользователь попадает в экран выбора платежного средства.
+
Для оплаты путевки через '''Assist''' необходимо нажать ссылку '''Оплатить''' для нужной путевки (или кнопку '''Оплатить on-line''' в экране '''Информация о заказе'''), после чего пользователь попадает в экран для ввода персональных данных.
<br />
 
[[Файл:755.PNG]]<br />
 
<br />
 
После выбора платежного средства необходимо нажать кнопку '''Продолжить'''. Откроется экран для ввода персональных данных.
 
 
<br />
 
<br />
[[Файл:756.PNG]]<br />
+
[[Файл: ep_238.png|x500px]]<br />
В данном экране необходимо заполнить информацию, необходимую для проведения оплаты путевки. Поля, отмеченные звездочками (<span style="color:red">'''*'''</span>), являются обязательными к заполнению.<BR>
+
После ввода данных необходимо нажать кнопку Подтвердить. Откроется экран для ввода данных банковской карты.<br />
 +
[[Файл: ep_239.png|x500px]]<br />  
 +
В данном экране необходимо заполнить информацию, необходимую для проведения оплаты путевки. Все поля являются обязательными к заполнению.<BR>
 
После того, как все поля заполнены, нужно нажать на кнопку '''Оплатить''', по нажатию которой загрузится экран '''Информация о платеже'''.
 
После того, как все поля заполнены, нужно нажать на кнопку '''Оплатить''', по нажатию которой загрузится экран '''Информация о платеже'''.
 
<BR>
 
<BR>
[[Файл:757.PNG]]<BR>
+
[[Файл: ep_240.png|x500px]]<br />
 
Для того чтобы вернуться к списку заявок нужно нажать на кнопку '''Вернуться в магазин'''.<br />
 
Для того чтобы вернуться к списку заявок нужно нажать на кнопку '''Вернуться в магазин'''.<br />
 
При успешном проведении платежа в базе автоматически создается проводка и у путевки прописывается сумма оплаты. Также в истории путевки добавляется запись об оплате через платежную систему '''Assist'''.
 
При успешном проведении платежа в базе автоматически создается проводка и у путевки прописывается сумма оплаты. Также в истории путевки добавляется запись об оплате через платежную систему '''Assist'''.
  
 
[[Category:Платежные web-сервисы]]
 
[[Category:Платежные web-сервисы]]

Текущая версия на 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.