Платежные web-сервисы: Сервис интеграции с платежной системой Uniteller (оплата картой в личном кабинете) — различия между версиями
Rogozhin (обсуждение | вклад) (→Настройки приложения «Система онлайн платежей») |
Biryukov (обсуждение | вклад) |
||
Строка 295: | Строка 295: | ||
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
+ | |||
| 14 | | 14 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
| Адреса конечных точек [[Мастер-Тур:Установка#Установка службы подписи путевок и платежей|сервиса]].<BR> | | Адреса конечных точек [[Мастер-Тур:Установка#Установка службы подписи путевок и платежей|сервиса]].<BR> | ||
''Только'' для релиза 2009.2.21 данные настройки являются обязательными. | ''Только'' для релиза 2009.2.21 данные настройки являются обязательными. | ||
Строка 328: | Строка 309: | ||
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
− | | | + | | 15 |
| Настройка, включающая '''механизм хэширования пароля пользователя''', сохраняемого в файлах <code>cookie</code>, что позволяет усилить безопасность ПК «Мастер-Web». | | Настройка, включающая '''механизм хэширования пароля пользователя''', сохраняемого в файлах <code>cookie</code>, что позволяет усилить безопасность ПК «Мастер-Web». | ||
По умолчанию хэширование включено. | По умолчанию хэширование включено. | ||
Строка 339: | Строка 320: | ||
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
− | | | + | | 16 |
|<font style="color:red">Настройку необходимо указывать с релиза 9220SP16 по 9220SP30 включительно''</font><br /> | |<font style="color:red">Настройку необходимо указывать с релиза 9220SP16 по 9220SP30 включительно''</font><br /> | ||
Определяет '''тип платежной системы''' при сохранении платежей. | Определяет '''тип платежной системы''' при сохранении платежей. | ||
Строка 352: | Строка 333: | ||
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
− | | | + | | 17 |
| Включение функционала фискализации платежей.<br /> | | Включение функционала фискализации платежей.<br /> | ||
После включения необходимо заполнить настройки '''Код системы налогообложения''' ('''TaxMode''') и '''Код ставки налогообложения''' ('''TaxRateCode''').<br /> | После включения необходимо заполнить настройки '''Код системы налогообложения''' ('''TaxMode''') и '''Код ставки налогообложения''' ('''TaxRateCode''').<br /> | ||
Строка 365: | Строка 346: | ||
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
− | | | + | | 18 |
| Код системы налогообложения, его значение должно соответствовать режимам налогообложения, сконфигурированным в ККМ при регистрации. Данная настройка необходима для работы фискализации платежей. | | Код системы налогообложения, его значение должно соответствовать режимам налогообложения, сконфигурированным в ККМ при регистрации. Данная настройка необходима для работы фискализации платежей. | ||
<span style="color:red">Обрабатывается с релиза 9.2.23.0 и 15.2.</span> | <span style="color:red">Обрабатывается с релиза 9.2.23.0 и 15.2.</span> | ||
Строка 381: | Строка 362: | ||
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
− | | | + | | 19 |
| Код ставки налогообложения. Данная настройка необходима для работы фискализации платежей. | | Код ставки налогообложения. Данная настройка необходима для работы фискализации платежей. | ||
<span style="color:red">Обрабатывается с релиза 9.2.23.0 и 15.2.</span> | <span style="color:red">Обрабатывается с релиза 9.2.23.0 и 15.2.</span> | ||
Строка 397: | Строка 378: | ||
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
− | | | + | | 20 |
| Настройка, определяющая, что для генерации параметров будет использоваться стратегия из кастомной сборки. Работает в паре с настройкой ''paymentFilialToShopIdMappings''. | | Настройка, определяющая, что для генерации параметров будет использоваться стратегия из кастомной сборки. Работает в паре с настройкой ''paymentFilialToShopIdMappings''. | ||
| Название кастомной сборки | | Название кастомной сборки | ||
Строка 405: | Строка 386: | ||
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
− | | | + | | 21 |
| Настройка, создающая правила отправки оплаты на определенный ShopID. Отправка денежных средств на тот или иной ShopID зависит от филиала, на который создается проводка. Работает в паре с настройкой ''parametersGenerator''. | | Настройка, создающая правила отправки оплаты на определенный ShopID. Отправка денежных средств на тот или иной ShopID зависит от филиала, на который создается проводка. Работает в паре с настройкой ''parametersGenerator''. | ||
|* '''filial1,filial2:shopId1/login1/password1 | filial3,filial4:shopId2/login2/password2 | filial6:shopId5/login5/password5''' | |* '''filial1,filial2:shopId1/login1/password1 | filial3,filial4:shopId2/login2/password2 | filial6:shopId5/login5/password5''' | ||
Строка 469: | Строка 450: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 5 | ||
+ | | Настройка, определяющая '''дату''', на которую будет '''подбираться курс валют''' для пересчета '''суммы к оплате'''. | ||
+ | | | ||
+ | <font style="color:red">''Обработка настройки, начиная с релиза 9220SP31.''</font><br /> | ||
+ | * '''FixationDate''' или '''отсутствие настройки''' - курс на дату последней фиксации путевки на момент совершения платежа, а если путевка не зафиксирована, то на дату совершения платежа; | ||
+ | * '''ConfirmDate''' — курс на дату последнего ''подтверждения заявки'' (если '''подтверждения''' путевки еще '''не было''', либо '''курс''' на дату подтверждения '''не заведен''', то будет отображаться курс на '''момент совершения платежа'''); | ||
+ | * '''OrderDate''' — дата оформления заявки; | ||
+ | * '''PaymentDate''' - курс на дату совершения платежа. | ||
+ | |||
+ | <font style="color:red">''Обработка настройки до релиза 9220SP31.''</font><br /> | ||
+ | |||
+ | * '''OrderDate''' — дата оформления заявки; | ||
+ | * '''Today''' — курс на текущую дату; | ||
+ | * '''ConfirmDate''' — курс на дату подтверждения заявки (если подтверждения путевки еще не было, либо курс на дату подтверждения не заведен, то будет отображаться курс на текущую дату). | ||
+ | |<syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="courseExchangeDate" value="FixationDate" /> | ||
+ | </syntaxhighlight> | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
|} | |} | ||
Версия 10:16, 12 сентября 2019
Версия статьи от 12-09-2019
Содержание
Введение
Данный модуль реализует возможность оплаты путевок через систему электронных платежей «Uniteller».
«Uniteller» - это мультибанковская система платежей по пластиковым и виртуальным картам через интернет, позволяющая в реальном времени производить авторизацию и обработку транзакций.
Установка
Для установки дополнительного модуля Сервис интеграции с платежной системой «Uniteller» нужно создать директорию Uniteller в каталоге C:/inetpub/wwwroot
(корневом каталоге IIS) и выложить туда распакованные файлы из архива
payments-uniteller-X.X.XX.XXXXX.zip
.
Устанавливать дополнительный модуль необходимо в том же домене, где расположено основное приложение ПК «Мастер-Web».
Начиная с релиза 9222SP0, если используется дополнительный модуль Выбор платежной системы (оплата картой в личном кабинете), то необходимо скопировать файл Megatec.MasterWeb.PaymentSystem.Uniteller.dll
из /Payments/bin/
и разместить в папке /EntryPoint/bin/
.
В управлении IIS необходимо создать виртуальный каталог для папки Uniteller.
Создание виртуального каталога
По умолчанию корневым каталогом IIS является C:/Inetpub/wwwroot
. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия:
1 Зайти в Пуск (Start) → Настройки (Settings) → Панель управления (Control Panel) → Администрирование (Administrative Tools)
2 Диспетчер служб IIS
3 В открывшемся дереве каталогов выбрать Web Sites – Default Web Site. В открывшемся списке найти папку, для которой нужно создать виртуальный каталог, кликнуть по ней правой кнопкой мыши и выбрать Преобразовать в приложение
4 В открывшемся окне нужно нажать кнопку ОК
Подключение к базе данных ПК «Мастер-Тур»
В файле web.config
, расположенном в папке Uniteller пропишите необходимые параметры подключения (красным цветом выделены значения, которые необходимо ввести).
Строка подключения к базе данных ПК «Мастер-Тур»:
<add key = "connectionString" value = "Data Source=ip-адрес сервера базы данных ПК «Мастер-Тур»;Initial Catalog=название базы данных ПК «Мастер-Тур»;User ID=логин пользователя ПК «Мастер-Тур»;Password=пароль пользователя ПК «Мастер-Тур»"/>
Настройка
После установки надстройка Сервис интеграции с платежной системой Uniteller доступна в экранах «Список заявок» и «Информация о заказе».
Настройки ПК «Мастер-Web»
Настройки задаются в секции <appSettings>
файла web.config
основного приложения ПК «Мастер-Web».
№ | Описание | Значение | Настройка |
---|---|---|---|
1 | Включение дополнительного модуля Система онлайн платежей.
Обязательная настройка. |
Путь к приложению «Система онлайн платежей». | <add key="paymentsLink" value="http://somesite/Uniteller" />
|
2 | Настройка, определяющая статусы путевок, при которых доступна возможность оплаты через систему электронных платежей «Uniteller».
Обязательная настройка. |
Ключи статусов из таблицы [Order_Status] , при которых доступна оплата через «Uniteller».
|
<add key="paymentsStatuses" value="7,37" />
|
3 | Настройка, позволяющая выводить предупреждающее сообщение о снятии комиссии при оплате. |
|
<add key="askUserBeforePayment" value="true" />
|
4 | Настройка, включающая механизм хэширования пароля пользователя, сохраняемого в файлах cookie , что позволяет усилить безопасность ПК «Мастер-Web».
По умолчанию хэширование включено. |
|
<add key="HashPasswordForCookie" value="true" />
|
5 | Настройка, определяющая партнеров в базе ПК «Мастер-Тур», которым разрешено осуществлять оплату путёвок онлайн. Внимание! Настройка обрабатывается, начиная с релиза 9223SP0 |
|
<add key="allowedPaymentPartnerKeys" value="10764"/>
|
Настройки приложения «Система онлайн платежей»
Настройки задаются в секции <basic>
файла web.config
приложения Система онлайн платежей.
№ | Описание | Значение | Настройка |
---|---|---|---|
1 | Точки продажи (shopIDP)
Обязательная настройка. |
Uniteller Point ID из раздела Точки продажи ЛК «Uniteller». | <add key="shopIDP" value="00005432"/>
|
2 | Логин
Обязательная настройка. |
Login из раздела Параметры авторизации ЛК «Uniteller». | <add key="login" value="2281" />
|
3 | Пароль
Обязательная настройка. |
Password из раздела Параметры авторизации ЛК «Uniteller». | <add key="password" value="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" />
|
4 | Настройка, определяющая валюту, в которой будет совершаться платеж через систему «Uniteller».
Обязательная настройка. |
|
<add key="currencyToPay" value="Contract" />
|
5 | Настройка, определяющая код валюты, в которой будет совершаться платеж через платежную систему «Uniteller» при значении DefinedBySettings настройки currencyToPay. | Код валюты (Поле RA_CODE из таблицы [Rates] ).
Код валюты из ПК «Мастер-Тур» должен быть сопоставлен с кодом валюты в системе «Uniteller». Данное сопоставление задается в секции <currencyMap>
<add key="рб" value="RUB"/>
<add key="грн" value="UAH"/>
<add key="azn" value="AZN"/>
<add key="тг" value="KZT"/>
</currencyMap>
|
<add key="currency" value="рб" />
|
6 | Настройка, определяющая тип операции при проведении платежа.
Обязательная настройка. |
Ключ операции (Поле PO_ID из таблицы [PaymentOperations] ).
|
<add key="kindOfPay" value="6" />
|
7 | Настройка, определяющая пользователя ПК «Мастер-Тур», к которому будет привязываться оплата.
Обязательная настройка. |
Ключ пользователя, к которому привязывается оплата (Поле US_KEY из таблицы [UserList] ).
|
<add key="masterTourUser" value="80" />
|
8 | Настройка, определяющая партнера, к которому будет привязываться оплата.
Обязательная настройка. |
Ключ филиала, к которому привязывается оплата (Поле PR_KEY из таблицы [Partners] ).
|
<add key="paymentFilialKey" value="1" />
|
9 | Настройка, определяющая отдел, к которому будет привязываться оплата.
Обязательная настройка. |
Ключ отдела (кассы), к которому привязывается оплата (Поле PDP_KEY из таблицы [PrtDeps] ).
|
<add key="departmentKey" value="2" />
|
10 | Настройка, позволяющая задавать размер комиссии, которая будет включена в сумму оплаты (для агентств). | Значение комиссии, которую необходимо включить в сумму платежа (целая часть отделяется запятой).
Комиссия указывается в процентах. |
<add key="addAgencyComission" value="3,627" />
|
11 | Настройка, позволяющая задавать размер комиссии, которая будет включена в сумму оплаты (для частных лиц). | Значение комиссии, которую необходимо включить в сумму платежа (целая часть отделяется запятой).
Комиссия указывается в процентах. |
<add key="addPersonalComission" value="5" />
|
12 | Платёжная система кредитной карты. |
|
<add key="meanType" value="" />
|
13 | Тип электронной валюты. |
|
<add key="eMoneyType" value="" />
|
14 | Адреса конечных точек сервиса. Только для релиза 2009.2.21 данные настройки являются обязательными. |
В тегах endpoint указываются сервер и порт сервиса. По умолчанию указан локальный компьютер и стандартный порт. Если служба установлена на другом компьютере, то необходимо указать его ip-адрес и порт. Если на компьютере, где устанавливается сервис, стандартный порт 8080 занят, то необходимо указать другой свободный порт. | <endpoint address="http://localhost:8080//PaymentSignatureServiceHost/SignService/"
--/>
<endpoint address="http://localhost:8080//PaymentSignatureServiceHost/PaymentService/"
--/>
подробное описание блока для подключения к службе подписи путевок и платежей |
15 | Настройка, включающая механизм хэширования пароля пользователя, сохраняемого в файлах cookie , что позволяет усилить безопасность ПК «Мастер-Web».
По умолчанию хэширование включено. |
|
<add key="HashPasswordForCookie" value="true" />
|
16 | Настройку необходимо указывать с релиза 9220SP16 по 9220SP30 включительно Определяет тип платежной системы при сохранении платежей.
Информация о типе платежной системы записывается в историю по путевке. |
Название платежной системы | <add key="PaymentSystem" value="Uniteller"/>
|
17 | Включение функционала фискализации платежей. После включения необходимо заполнить настройки Код системы налогообложения (TaxMode) и Код ставки налогообложения (TaxRateCode). |
|
<add key="UseFiscalization" value="true"/>
|
18 | Код системы налогообложения, его значение должно соответствовать режимам налогообложения, сконфигурированным в ККМ при регистрации. Данная настройка необходима для работы фискализации платежей.
Обрабатывается с релиза 9.2.23.0 и 15.2. |
|
<add key="TaxMode" value=""/>
|
19 | Код ставки налогообложения. Данная настройка необходима для работы фискализации платежей.
Обрабатывается с релиза 9.2.23.0 и 15.2. |
|
<add key="TaxRateCode" value=""/>
|
20 | Настройка, определяющая, что для генерации параметров будет использоваться стратегия из кастомной сборки. Работает в паре с настройкой paymentFilialToShopIdMappings. | Название кастомной сборки | <add key="parametersGenerator" value="Megatec.Plugins.KurortiYuga.FilialKeyGetter.KYParametersGeneratorStrategy, Megatec.Plugins.KurortiYuga.FilialKeyGetter"/>
|
21 | Настройка, создающая правила отправки оплаты на определенный ShopID. Отправка денежных средств на тот или иной ShopID зависит от филиала, на который создается проводка. Работает в паре с настройкой parametersGenerator. | filial3,filial4:shopId2/login2/password2 | filial6:shopId5/login5/password5 | <add key="paymentFilialToShopIdMappings" value="11526,12663,1:00005432/2281/y2WOqJc4k8PQckLJQsmN4l9OMpYnxQZWsYnlfMRzXjONpSbYhk4WlunjfaHq4l | 2 : 00123452/un15/y2WOqJ8PQckLJQsmN49OW61tZmMpYnxQZWsYnlRxTzXjte0cONpSbYhk4WlaHX4"/>
|
Настройки задаются в секции <appSettings>
файла web.config
приложения Система онлайн платежей
№ | Описание | Значение | Настройка |
---|---|---|---|
1 | Имя текущей установленной службы.
Внимание! Настройка обрабатывается только в версии Мастер-Тур 15. |
Наименование службы, к которой может обращаться текущий клиент (по значению настройки acceptableServices в MasterTourService). По умолчанию настройка не заполнена. Значение настройки должно быть явно задано. |
<add key="acceptableServices" value=""/>
|
2 | Включение режима записи нового платежа в систему «Мастер-Финанс». При этом в ПК «Мастер-Тур» платежи не сохраняются. |
|
<add key="AddPaymentsToMasterFinance" value="true" />
В версиях до релиза 9222SP0 может использоваться старая настройка: <add key="paymentFactory" value="MasterSoft.Payments.PaymentFactoryWebPay, MasterSoft.Payments" />
|
3 | Настройка, определяющая, что филиал, на который создается проводка при оплате через Uniteller, будет рассчитываться по правилам из кастомной сборки туроператора. Настройка регистрозависимая. |
Название кастомной сборки | <add key="filialKeyGetter" value="Megatec.Plugins.KurortiYuga.FilialKeyGetter.FilialKeyGetterByServicePartner, Megatec.Plugins.KurortiYuga.FilialKeyGetter"/>
|
4 | Настройка, включающая экран редактирования суммы к оплате. Внимание! Настройка обрабатывается, начиная с релиза 9222SP0. |
|
<add key="allowCustomAmount" value="true" />
|
5 | Настройка, определяющая дату, на которую будет подбираться курс валют для пересчета суммы к оплате. |
Обработка настройки, начиная с релиза 9220SP31.
Обработка настройки до релиза 9220SP31.
|
<add key="courseExchangeDate" value="FixationDate" />
|
Подготовка данных
Оплату можно произвести по путевкам, статус которых указан в настройке paymentsStatuses.
Для возможности оплаты через платёжную систему Uniteller тип платёжной операции (PaymentOperation), ключ которой указан в настройке kindOfPay, должен иметь бланки и иметь признак «Приходный» (PO_Type is null or PO_Type = 0).
В личном кабинете Uniteller в разделе Точки продажи необходимо указать URL-адрес уведомления магазина в формате: somesite/Uniteller/Payment.aspx?action=reply.
Определение оплаты в зависимости от филиала бронирования
В папке templates расположен файл filialsMerchantsMappings.xml, в котором находятся следующие значения:
- ключ филиала бронирования (dogovorFilialID);
- логин – логин в личном кабинете Uniteller (login);
- пароль – пароль в личном кабинете Uniteller (password);
- валюта, в которой будет совершаться платеж через систему «Uniteller» (currencyToPay);
- код валюты, в которой будет совершаться платеж через платежную систему «Uniteller» при значении DefinedBySettings настройки currencyToPay (currency);
- тип операции при проведении платежа (kindOfPay);
- пользователь ПК «Мастер-Тур», к которому будет привязываться оплата (masterTourUser);
- отдел, к которому будет привязываться оплата (departmentKey);
- размер комиссии, которая будет включена в сумму оплаты (для агентств) (addAgencyComission);
- размер комиссии, которая будет включена в сумму оплаты (для частных лиц) (addPersonalComission);
- ключ филиала, к которому привязывается оплата (paymentFilialKey).
Пример заполнения файла шаблона:
<?xml version="1.0" encoding="utf-8" ?> <mappings> <mapping dogovorFilialID="1" shopIDP="00005432" login="2281" password="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" meanType=""
eMoneyType="" currencyToPay="National" currency="рб" kindOfPay="6" masterTourUser="80" departmentKey="2"
addAgencyComission="3,627" addPersonalComission="5" paymentFilialKey="1"/>
</mappings>
При подготовке запроса к платежной системе в файле filialsMerchantsMappings.xml ищется филиал с ключом филиала
бронирования путевки, если он есть, то используется логин (login), пароль (password)
и остальные настройки данного филиала. В случае, когда в файле filialsMerchantsMappings.xml нет подходящего филиала
или одной из настроек, используются данные по умолчанию, т.е. из настроек сервиса web.config.
Работа в системе
Поиск путевки
Список заявок, забронированных в базе данных туроператора, доступен в экране «Список заказов» по адресу: http://ip-адрес сервера Мастер-Веб/MasterWebStandard/OrderList.aspx
.
Экран «Список заказов» доступен только для зарегистрированных и авторизованных в системе пользователей.
После ввода имени пользователя и пароля загрузится список заявок, оформленных на покупателя/агентство, указанного в поле «Партнер в БД МТ» при регистрации пользователя в Системе администрирования ПК «Мастер-Web», который сопоставлен имени текущего пользователя.
Для отбора путевок можно использовать фильтры:
- Поиск по номеру заявки;
- Поиск по фамилии туриста;
- Поиск по статусу документов на визу;
- Поиск по стране;
- Поиск по дате заявки;
- Дата тура с... и Дата тура по...;
- Путевки с наличием услуги «Виза»;
- Путевки с задолженностями.
Оплата путевки
Оплата доступна только для путевок имеющих статус, ключ которого указан в настройке paymentsStatuses.
Оплата путевок доступна в экранах «Список заявок» и «Информация о заказе».
Экран Список заказов доступен по адресу: http://ip-адрес сервера Мастер-Веб/MasterWebStandard/OrderList.aspx
.
Экран Информация о заказе доступен по адресу: http://ip-адрес сервера Мастер-Веб/MasterWebStandard/OrderInfo.aspx
.
Для оплаты путевки через систему электронных платежей «Uniteller» необходимо нажать ссылку Оплатить для нужной путевки (или кнопку Оплатить on-line в экране Информация о заказе), после чего пользователь попадает в экран, в котором указывается номер заказа и сумма платежа.
Сумма к оплате выводится в национальной валюте. При необходимости, она конвертируется по соответствующему курсу.
Для оплаты путевки необходимо ввести данные банковской карты, с помощью которой производится оплата:
После того, как все поля заполнены, нужно нажать на кнопку Оплатить, по нажатию которой загрузится экран Информация о платеже:
Для того чтобы вернуться к списку заявок нужно нажать на кнопку Вернуться в магазин.
Если включена фискализация платежей, то чеки можно просмотреть по ссылке Просмотреть фискальные чеки, либо в личном кабинете «Uniteller» в разделе Фискальные чеки.
При успешном проведении платежа в базе автоматически создается проводка и у путевки прописывается сумма оплаты. Также в истории путевки добавляется запись об оплате через платежную систему «Uniteller».