Платежные web-сервисы: Сервис интеграции с платежной системой Assist (оплата картой в личном кабинете) — различия между версиями
Admin (обсуждение | вклад) м (Admin переименовал страницу Платежные web-сервисы: Сервис интеграции с платежной системой Assist в [[Платежные web-сервисы: Сервис интеграции с …) |
Aefremov (обсуждение | вклад) |
||
(не показано 16 промежуточных версий 6 участников) | |||
Строка 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-сервисы: Выбор платежной системы|дополнительный модуль Выбор | + | Для установки дополнительного модуля '''Интеграция с платежной системой 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 | + | * '''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> Настройка обрабатывается, начиная с релиза ''' | + | <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>< | + | Настройки задаются в секции <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 | ||
− | | | + | | Настройка, определяющая тип операции при проведении платежа |
− | | ''' | + | | '''Ключ операции''' из таблицы '''[PaymentOperations]''' |
| <syntaxhighlight lang="xml" enclose="div"> | | <syntaxhighlight lang="xml" enclose="div"> | ||
− | <add key=" | + | <add key="paymentOperationId" value="1"/> |
</syntaxhighlight> | </syntaxhighlight> | ||
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
| 5 | | 5 | ||
− | | | + | | Настройка, определяющая пользователя, к которому будет привязываться оплата |
− | | ''' | + | | '''Ключ пользователя''' из таблицы '''[UserList]''', к которому привязывается оплата |
| <syntaxhighlight lang="xml" enclose="div"> | | <syntaxhighlight lang="xml" enclose="div"> | ||
− | <add key=" | + | <add key="masterTourUser" value="100006"/> |
</syntaxhighlight> | </syntaxhighlight> | ||
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
| 6 | | 6 | ||
− | | Настройка, определяющая | + | | Настройка, определяющая партнера, к которому будет привязываться оплата |
− | | '''Ключ | + | | '''Ключ партнера''' из таблицы '''[tbl_Partners]''', к которому привязывается оплата |
| <syntaxhighlight lang="xml" enclose="div"> | | <syntaxhighlight lang="xml" enclose="div"> | ||
− | <add key=" | + | <add key="paymentFilialKey" value="1"/> |
</syntaxhighlight> | </syntaxhighlight> | ||
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
| 7 | | 7 | ||
− | | Настройка, определяющая | + | | Настройка, определяющая отдел, к которому будет привязываться оплата |
− | | '''Ключ | + | | '''Ключ отдела (кассы)''' из таблицы '''[PrtDeps]''', к которому привязывается оплата |
| <syntaxhighlight lang="xml" enclose="div"> | | <syntaxhighlight lang="xml" enclose="div"> | ||
− | <add key=" | + | <add key="departmentKey" value="2"/> |
</syntaxhighlight> | </syntaxhighlight> | ||
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
| 8 | | 8 | ||
− | | Настройка, определяющая | + | | Настройка, определяющая код валюты, в которой будет совершаться платеж через платежную систему Assist |
− | | ''' | + | | '''Код валюты''' из таблицы '''[Rates]''', в которой будет совершаться платеж |
| <syntaxhighlight lang="xml" enclose="div"> | | <syntaxhighlight lang="xml" enclose="div"> | ||
− | <add key=" | + | <add key="assistPaymentsRate" value="рб" /> |
</syntaxhighlight> | </syntaxhighlight> | ||
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
| 9 | | 9 | ||
− | | | + | | Логин для авторизации в веб сервисах |
− | | ''' | + | | '''Логин для авторизации''', который предоставляет Assist |
| <syntaxhighlight lang="xml" enclose="div"> | | <syntaxhighlight lang="xml" enclose="div"> | ||
− | <add key=" | + | <add key="webServiceLogin" value="" /> |
</syntaxhighlight> | </syntaxhighlight> | ||
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
+ | |||
| 10 | | 10 | ||
− | | Настройка, | + | | Настройка, позволяющая задавать '''размер комиссии''', которая будет '''включена в сумму оплаты''' ('''для агентств'''). |
− | | ''' | + | | '''Значение комиссии''', которую необходимо ''включить в сумму платежа'' (целая часть отделяется запятой). |
+ | Комиссия указывается '''в процентах'''.<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=" | + | <add key="salt" value="" /> |
</syntaxhighlight> | </syntaxhighlight> | ||
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
− | | | + | | 13 |
− | | | + | | Боевой/тестовый адрес. Откуда получать ответ. |
− | | ''' | + | | '''Боевой адрес''', который предоставляет 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=" | + | <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" | ||
− | | | + | |
+ | | 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 | + | * '''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), ключ которой указан в настройке ''' | + | Для возможности оплаты через платёжную систему 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 /> | <br /> | ||
− | [[Файл: | + | [[Файл: ep_238.png|x500px]]<br /> |
− | В данном экране необходимо заполнить информацию, необходимую для проведения оплаты путевки. | + | После ввода данных необходимо нажать кнопку Подтвердить. Откроется экран для ввода данных банковской карты.<br /> |
+ | [[Файл: ep_239.png|x500px]]<br /> | ||
+ | В данном экране необходимо заполнить информацию, необходимую для проведения оплаты путевки. Все поля являются обязательными к заполнению.<BR> | ||
После того, как все поля заполнены, нужно нажать на кнопку '''Оплатить''', по нажатию которой загрузится экран '''Информация о платеже'''. | После того, как все поля заполнены, нужно нажать на кнопку '''Оплатить''', по нажатию которой загрузится экран '''Информация о платеже'''. | ||
<BR> | <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
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».
По умолчанию хэширование включено. |
|
<add key="HashPasswordForCookie" value="true" />
|
4 | Настройка, определяющая партнеров в базе ПК «Мастер-Тур», которым разрешено осуществлять оплату путёвок онлайн. Внимание! Настройка обрабатывается, начиная с релиза 9223SP0 |
|
<add key="allowedPaymentPartnerKeys" value="10764"/>
|
5 | Настройка, позволяющая выводить предупреждающее сообщение о снятии комиссии при оплате. |
|
<add key="askUserBeforePayment" value="true" />
|
6 | Настройка, позволяющая производить оплату в новой вкладке браузера. Внимание! Настройка обрабатывается, начиная с релиза 9222SP0.
|
|
<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 | Настройка, позволяющая задавать размер комиссии, которая будет включена в сумму оплаты (для агентств). | Значение комиссии, которую необходимо включить в сумму платежа (целая часть отделяется запятой).
Комиссия указывается в процентах. |
<add key="addAgencyComission" value="3,627" />
|
11 | Настройка, позволяющая задавать размер комиссии, которая будет включена в сумму оплаты (для частных лиц). | Значение комиссии, которую необходимо включить в сумму платежа (целая часть отделяется запятой).
Комиссия указывается в процентах. |
<add key="addPersonalComission" value="5" />
|
12 | Секретное слово из личного кабинета | Секретное слово, которое указывается в личном кабинете в Assist | <add key="salt" value="" />
|
13 | Боевой/тестовый адрес. Откуда получать ответ. | Боевой адрес, который предоставляет Assist
либо белорусский тестовый сервис: |
<add key="assistGetTransaction" value="" />
|
Настройки задаются в секции <appSettings>
файла web.config
приложения Система онлайн платежей
№ | Описание | Значение | Настройка |
---|---|---|---|
1 | Имя текущей установленной службы.
Внимание! Настройка обрабатывается только в версии Мастер-Тур 15. |
Наименование службы, к которой может обращаться текущий клиент (по значению настройки acceptableServices в MasterTourService). По умолчанию настройка не заполнена. Значение настройки должно быть явно задано. |
<add key="acceptableServices" value=""/>
|
2 | Настройка, включающая механизм хэширования пароля пользователя, сохраняемого в файлах cookie , что позволяет усилить безопасность ПК «Мастер-Web».
По умолчанию хэширование включено. |
|
<add key="HashPasswordForCookie" value="true" />
|
3 | Включение режима записи нового платежа в систему «Мастер-Финанс». При этом в ПК «Мастер-Тур» платежи не сохраняются. |
|
<add key="AddPaymentsToMasterFinance" value="true" />
В версиях до релиза 9222SP0 может использоваться старая настройка: <add key="paymentFactory" value="MasterSoft.Payments.PaymentFactoryWebPay, MasterSoft.Payments" />
|
4 | Настройка, включающая экран редактирования суммы к оплате. |
|
<add key="allowCustomAmount" value="true" />
|
5 | Боевой/тестовый адрес создания транзакции. |
Боевой адрес, который предоставляет Assist
либо белорусский тестовый сервис: |
<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 в экране Информация о заказе), после чего пользователь попадает в экран для ввода персональных данных.
После ввода данных необходимо нажать кнопку Подтвердить. Откроется экран для ввода данных банковской карты.
В данном экране необходимо заполнить информацию, необходимую для проведения оплаты путевки. Все поля являются обязательными к заполнению.
После того, как все поля заполнены, нужно нажать на кнопку Оплатить, по нажатию которой загрузится экран Информация о платеже.
Для того чтобы вернуться к списку заявок нужно нажать на кнопку Вернуться в магазин.
При успешном проведении платежа в базе автоматически создается проводка и у путевки прописывается сумма оплаты. Также в истории путевки добавляется запись об оплате через платежную систему Assist.