Платежные web-сервисы: Сервис интеграции с платежной системой WebPay (оплата картой в личном кабинете) — различия между версиями
[досмотренная версия] | [досмотренная версия] |
Biryukov (обсуждение | вклад) |
Aefremov (обсуждение | вклад) |
||
(не показано 8 промежуточных версий 3 участников) | |||
Строка 10: | Строка 10: | ||
</table> | </table> | ||
<br /> | <br /> | ||
+ | [[Файл: mb_030.png|left|Предупреждение]] <BR> Начиная с релиза 15.8 после 01.06.2023 работа с отдельными платежными шлюзами не поддерживается. Для работы необходимо использовать новую версию приложения [[Платежные web-сервисы:EntryPoint|EntryPoint (оплата картой в личном кабинете с выбором системы оплаты)]] с поддержкой Uniteller, Sberbank, Tinkoff, Alfabank, Assist, PayOnline, WebPay без установки сторонних библиотек и развертывания отдельных сервисов.<br /> | ||
+ | <br><br /> | ||
==Введение== | ==Введение== | ||
− | Данный модуль реализует возможность оплаты путёвок в ПК «Мастер-Web» с помощью платежной карты через '''WebPay'''.<br> | + | [[Файл: mb_030.png|left|Предупреждение]] <BR> Перед началом работы с платежными системами необходимо удостовериться в соответствии оборудования и программного обеспечения [[Мастер-Тур(15):Системно-аппаратные требования|системно-аппаратным требованиям]]. Если версия операционной системы не соответствует рекомендуемой, то работа с платежными сервисами не гарантирована в связи с ограничениями протоколов безопасности операционной системы.<br /> |
+ | <br><br /> | ||
+ | Данный модуль реализует возможность оплаты путёвок в ПК «Мастер-Web» с помощью платежной карты через '''WebPay'''.<br> | ||
==Установка== | ==Установка== | ||
Строка 92: | Строка 96: | ||
Если данная настройка прописана в файле <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" /> | ||
Строка 109: | Строка 113: | ||
</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" | ||
|} | |} | ||
Строка 180: | Строка 197: | ||
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
| 7 | | 7 | ||
+ | | Режим тестирования | ||
+ | | <!--Режим тестирования - 1, боевой режим - 0--> | ||
+ | |<syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="isTest" value="0"/> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |- style="vertical-align:text-top" | ||
+ | | 8 | ||
+ | | Откуда получать ответ. | ||
+ | | Тестовый адрес: https://sandbox.webpay.by | ||
+ | |<syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="webPayGetTransaction" value="https://billing.webpay.by" /> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | |- style="vertical-align:text-top" | ||
+ | | 9 | ||
| Настройка, позволяющая задавать '''размер комиссии''', которая будет '''включена в сумму оплаты''' ('''для агентств''').<br> | | Настройка, позволяющая задавать '''размер комиссии''', которая будет '''включена в сумму оплаты''' ('''для агентств''').<br> | ||
− | Обрабатывается при включенной настройке ''' | + | Обрабатывается при включенной настройке '''AddPaymentsToMasterFinance'''. |
| '''Значение комиссии''', которую необходимо ''включить в сумму платежа'' (целая часть отделяется либо запятой, либо точкой). | | '''Значение комиссии''', которую необходимо ''включить в сумму платежа'' (целая часть отделяется либо запятой, либо точкой). | ||
Комиссия указывается '''в процентах'''.<br /> | Комиссия указывается '''в процентах'''.<br /> | ||
Строка 191: | Строка 226: | ||
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
− | | | + | | 10 |
| Настройка, позволяющая задавать '''размер комиссии''', которая будет '''включена в сумму оплаты''' ('''для частных лиц''').<br> | | Настройка, позволяющая задавать '''размер комиссии''', которая будет '''включена в сумму оплаты''' ('''для частных лиц''').<br> | ||
− | Обрабатывается при включенной настройке ''' | + | Обрабатывается при включенной настройке '''AddPaymentsToMasterFinance'''. |
| '''Значение комиссии''', которую необходимо ''включить в сумму платежа'' (целая часть отделяется либо запятой, либо точкой). | | '''Значение комиссии''', которую необходимо ''включить в сумму платежа'' (целая часть отделяется либо запятой, либо точкой). | ||
Комиссия указывается '''в процентах'''.<br /> | Комиссия указывается '''в процентах'''.<br /> | ||
Строка 223: | Строка 258: | ||
Если данная настройка прописана в файле <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" /> | ||
Строка 236: | Строка 271: | ||
* '''false''' или '''отсутствие настройки''' - выключает запись платежей в «Мастер-Финанс». | * '''false''' или '''отсутствие настройки''' - выключает запись платежей в «Мастер-Финанс». | ||
|<syntaxhighlight lang="xml" enclose="div"> | |<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" /> | <add key="paymentFactory" value="MasterSoft.Payments.PaymentFactoryWebPay, MasterSoft.Payments" /> | ||
− | </syntaxhighlight> | + | </syntaxhighlight> |
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
Строка 255: | Строка 294: | ||
Оплату можно произвести по путевкам, '''статус''' которых указан в настройке '''paymentsStatuses'''.<br /> | Оплату можно произвести по путевкам, '''статус''' которых указан в настройке '''paymentsStatuses'''.<br /> | ||
− | Для возможности оплаты через платёжную систему '''WebPay''' тип платёжной операции ('''PaymentOperation'''), ключ которой указан в настройке '''kindOfPay''', должен [[Мастер-Тур:Финансовый блок#Справочник типовых операций|иметь бланки]] и [[Мастер-Тур:Финансовый блок#Справочник типовых операций|иметь признак «Приходный»]] (PO_Type is null or PO_Type = 0). | + | Для возможности оплаты через платёжную систему '''WebPay''' тип платёжной операции ('''PaymentOperation'''), ключ которой указан в настройке '''kindOfPay''', должен [[Мастер-Тур:Финансовый блок#Справочник типовых операций|иметь бланки]] и [[Мастер-Тур:Финансовый блок#Справочник типовых операций|иметь признак «Приходный»]] (PO_Type is null or PO_Type = 0). <BR> |
+ | В личном кабинете '''WebPay''' необходимо указать URL для уведомлений в формате: ''домен/Payments/Payment.aspx?action=reply''. <BR> | ||
+ | Для платежного приложения '''WebPay''' может быть использован только порт *:80. | ||
==Работа в системе== | ==Работа в системе== |
Текущая версия на 09:25, 12 января 2024
Версия статьи от 12-01-2024.
Поддерживаемые версии: |
Начиная с релиза 15.8 после 01.06.2023 работа с отдельными платежными шлюзами не поддерживается. Для работы необходимо использовать новую версию приложения EntryPoint (оплата картой в личном кабинете с выбором системы оплаты) с поддержкой Uniteller, Sberbank, Tinkoff, Alfabank, Assist, PayOnline, WebPay без установки сторонних библиотек и развертывания отдельных сервисов.
Содержание
Введение
Перед началом работы с платежными системами необходимо удостовериться в соответствии оборудования и программного обеспечения системно-аппаратным требованиям. Если версия операционной системы не соответствует рекомендуемой, то работа с платежными сервисами не гарантирована в связи с ограничениями протоколов безопасности операционной системы.
Данный модуль реализует возможность оплаты путёвок в ПК «Мастер-Web» с помощью платежной карты через WebPay.
Установка
Для установки дополнительного модуля Сервис интеграции с платежной системой WebPay нужно создать директорию Payments в каталоге C:/inetpub/wwwroot
(корневом каталоге IIS) и выложить туда распакованные файлы из архива
payments-webpay-9.2.23.ХХXXX.zip
.
Устанавливать дополнительный модуль необходимо в том же домене, где расположено основное приложение ПК «Мастер-Web».
Начиная с релиза 9223SP1 или 15.3, если используется дополнительный модуль Выбор платежной системы (оплата картой в личном кабинете), то необходимо скопировать файл Megatec.MasterWeb.PaymentSystem.WebPay.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=пароль пользователя ПК «Мастер-Тур»"/>
Настройка
После установки надстройка Сервис интеграции с платежной системой WebPay доступна в экранах «Список заявок» и «Информация о заказе».
Настройки ПК «Мастер-Web»
Настройки задаются в секции <appSettings>
файла web.config
основного приложения ПК «Мастер-Web».
№ | Описание | Значение | Настройка |
---|---|---|---|
1 | Включение дополнительного модуля Система онлайн платежей.
Обязательная настройка. |
Путь к приложению «Система онлайн платежей». | <add key="paymentsLink" value="http://somesite/Payments" />
|
2 | Настройка, определяющая статусы путевок, при которых доступна возможность оплаты через WebPay.
Обязательная настройка. |
Ключи статусов из таблицы [Order_Status] , при которых доступна оплата через WebPay.
|
<add key="paymentsStatuses" value="7,37" />
|
3 | Настройка, позволяющая выводить предупреждающее сообщение о снятии комиссии при оплате. |
|
<add key="askUserBeforePayment" value="true" />
|
4 | Настройка, включающая механизм хэширования пароля пользователя, сохраняемого в файлах cookie , что позволяет усилить безопасность ПК «Мастер-Web».
По умолчанию хэширование включено. |
|
<add key="HashPasswordForCookie" value="true" />
|
5 | Настройка, определяющая партнеров в базе ПК «Мастер-Тур», которым разрешено осуществлять оплату путёвок онлайн. |
|
<add key="allowedPaymentPartnerKeys" value="10764"/>
|
6 | Настройка, позволяющая производить оплату в новой вкладке браузера. Внимание! Настройка обрабатывается, начиная с релиза 9222SP0.
|
|
<add key="OpenPaymentInNewWindow" value="true" />
|
Настройки приложения «Система онлайн платежей»
Настройки задаются в секции <WebPay>
файла web.config
приложения Система онлайн платежей.
№ | Описание | Значение | Настройка |
---|---|---|---|
1 | Публичный ключ клиента, который выдается платежной системой WebPay.
Обязательная настройка. |
Публичный ключ клиента | <add key="publicKey" value="публичный ключ клиента" />
|
2 | Приватный ключ клиента, который выдается платежной системой WebPay.
Обязательная настройка. |
Приватный ключ клиента | <add key="privateKey" value="приватный ключ клиента" />
|
3 | Определяет тип платежной операции. Тип платежной операции так же может задаваться в настройке SYSPaymentOperationId в таблице SystemSettings. В таком случае в настройке PaymentOperationId задается название настройки из таблицы SystemSettings. Обязательная настройка. |
Идентификатор типа операции - поле PO_Id из таблицы [PaymentOperations] .Либо название настройки SYSPaymentOperationId из таблицы [SystemSettings] .
|
<add key="PaymentOperationId" value="1" />
|
4 | Определяет пользователя ПК «Мастер-Тур», к которому будет привязываться оплата. Обязательная настройка. |
Ключ пользователя - поле US_KEY из таблицы [UserList] .
|
<add key="masterTourUser" value="90" />
|
5 | Настройка, определяющая партнера, к которому будет привязываться оплата.
Обязательная настройка. |
Ключ филиала, к которому привязывается оплата (Поле PR_KEY из таблицы [Partners] ).
|
<add key="paymentFilialKey" value="1" />
|
6 | Настройка, определяющая отдел, к которому будет привязываться оплата.
Обязательная настройка. |
Ключ отдела (кассы), к которому привязывается оплата (Поле PDP_KEY из таблицы [PrtDeps] ).
|
<add key="departmentKey" value="2" />
|
7 | Режим тестирования | <add key="isTest" value="0"/>
| |
8 | Откуда получать ответ. | Тестовый адрес: https://sandbox.webpay.by | <add key="webPayGetTransaction" value="https://billing.webpay.by" />
|
9 | Настройка, позволяющая задавать размер комиссии, которая будет включена в сумму оплаты (для агентств). Обрабатывается при включенной настройке AddPaymentsToMasterFinance. |
Значение комиссии, которую необходимо включить в сумму платежа (целая часть отделяется либо запятой, либо точкой).
Комиссия указывается в процентах. |
<add key="addAgencyComission" value="10.0" />
|
10 | Настройка, позволяющая задавать размер комиссии, которая будет включена в сумму оплаты (для частных лиц). Обрабатывается при включенной настройке AddPaymentsToMasterFinance. |
Значение комиссии, которую необходимо включить в сумму платежа (целая часть отделяется либо запятой, либо точкой).
Комиссия указывается в процентах. |
<add key="addPersonalComission" value="10.0" />
|
Настройки задаются в секции <appSettings>
файла web.config
приложения Система онлайн платежей
№ | Описание | Значение | Настройка |
---|---|---|---|
1 | Настройка, включающая механизм хэширования пароля пользователя, сохраняемого в файлах cookie , что позволяет усилить безопасность ПК «Мастер-Web».
По умолчанию хэширование включено. |
|
<add key="HashPasswordForCookie" value="true" />
|
2 | Включение режима записи нового платежа в систему «Мастер-Финанс». При этом в ПК «Мастер-Тур» платежи не сохраняются. |
|
<add key="AddPaymentsToMasterFinance" value="true" />
В версиях до релиза 9222SP0 может использоваться старая настройка: <add key="paymentFactory" value="MasterSoft.Payments.PaymentFactoryWebPay, MasterSoft.Payments" />
|
3 | Настройка, включающая экран редактирования суммы к оплате. |
|
<add key="allowCustomAmount" value="true" />
|
Подготовка данных
Оплату можно произвести по путевкам, статус которых указан в настройке paymentsStatuses.
Для возможности оплаты через платёжную систему WebPay тип платёжной операции (PaymentOperation), ключ которой указан в настройке kindOfPay, должен иметь бланки и иметь признак «Приходный» (PO_Type is null or PO_Type = 0).
В личном кабинете WebPay необходимо указать URL для уведомлений в формате: домен/Payments/Payment.aspx?action=reply.
Для платежного приложения WebPay может быть использован только порт *:80.
Работа в системе
Поиск путевки
Список заявок, забронированных в базе данных туроператора, доступен в экране «Список заказов» по адресу: http://ip-адрес сервера Мастер-Веб/MasterWebStandard/OrderList.aspx
.
Экран «Список заказов» доступен только для зарегистрированных и авторизованных в системе пользователей.
После ввода имени пользователя и пароля загрузится список заявок, оформленных на покупателя/агентство, указанного в поле «Партнер в БД МТ» при регистрации пользователя в Системе администрирования ПК «Мастер-Web», который сопоставлен имени текущего пользователя.
Для отбора путевок можно использовать фильтры:
- Поиск по номеру заявки;
- Поиск по фамилии туриста;
- Поиск по статусу документов на визу;
- Поиск по стране;
- Поиск по дате заявки;
- Дата тура с... и Дата тура по...;
- Путевки с наличием услуги «Виза»;
- Путевки с задолженностями.
Оплата путевки
Оплата доступна только для путевок имеющих статус, ключ которого указан в настройке paymentsStatuses.
Оплата путевок доступна в экранах «Список заявок» и «Информация о заказе».
Экран Список заказов доступен по адресу: http://ip-адрес сервера Мастер-Веб/MasterWebStandard/OrderList.aspx
.
Экран Информация о заказе доступен по адресу: http://ip-адрес сервера Мастер-Веб/MasterWebStandard/OrderInfo.aspx
.
Для оплаты путевки через WebPay необходимо нажать ссылку Оплатить для нужной путевки (или кнопку Оплатить on-line в экране Информация о заказе).
После успешной оплаты, WebPay позволяет распечатать чек и вернуться на страницу заказа ПК «Мастер-Web».