Платежные web-сервисы: Сервис интеграции с платежной системой Uniteller (оплата картой в личном кабинете) — различия между версиями
(→Настройка) |
Gavrilov (обсуждение | вклад) (→Процесс оплаты путевки через платежную систему) |
||
(не показано 67 промежуточных версий 8 участников) | |||
Строка 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 /> | ||
Данный модуль реализует возможность '''оплаты путевок через систему электронных платежей «Uniteller»'''.<br /> | Данный модуль реализует возможность '''оплаты путевок через систему электронных платежей «Uniteller»'''.<br /> | ||
«Uniteller» - это мультибанковская система платежей по пластиковым и виртуальным картам через интернет, позволяющая в реальном времени производить авторизацию и обработку транзакций. | «Uniteller» - это мультибанковская система платежей по пластиковым и виртуальным картам через интернет, позволяющая в реальном времени производить авторизацию и обработку транзакций. | ||
Строка 7: | Строка 10: | ||
==Установка== | ==Установка== | ||
Для установки дополнительного модуля '''Сервис интеграции с платежной системой «Uniteller»''' нужно создать директорию '''Uniteller''' в каталоге <code>C:/inetpub/wwwroot</code> (корневом каталоге '''IIS''') и выложить туда распакованные файлы из архива<br /> | Для установки дополнительного модуля '''Сервис интеграции с платежной системой «Uniteller»''' нужно создать директорию '''Uniteller''' в каталоге <code>C:/inetpub/wwwroot</code> (корневом каталоге '''IIS''') и выложить туда распакованные файлы из архива<br /> | ||
− | <code>payments-uniteller-X.X.XX.XXXXX.zip</code>.<br /> | + | <code>payments-uniteller-X.X.XX.XXXXX.zip</code>.<br>Устанавливать дополнительный модуль необходимо в том же домене, где расположено основное приложение ПК «Мастер-Web».<br />Начиная с релиза '''9222SP0''', если используется [[Платежные web-сервисы: Выбор платежной системы (оплата картой в личном кабинете)|дополнительный модуль Выбор платежной системы (оплата картой в личном кабинете)]], то необходимо скопировать файл <code>Megatec.MasterWeb.PaymentSystem.Uniteller.dll</code> из '''<code>/Payments/bin/</code>''' и разместить в папке '''<code>/EntryPoint/bin/</code>'''.<br> |
В '''управлении IIS''' необходимо создать ''виртуальный каталог'' для папки '''Uniteller'''. | В '''управлении IIS''' необходимо создать ''виртуальный каталог'' для папки '''Uniteller'''. | ||
Строка 28: | Строка 31: | ||
В файле <code>web.config</code>, расположенном в папке '''Uniteller''' пропишите необходимые параметры подключения (<span style="color:red">красным цветом</span> выделены значения, которые необходимо ввести). | В файле <code>web.config</code>, расположенном в папке '''Uniteller''' пропишите необходимые параметры подключения (<span style="color:red">красным цветом</span> выделены значения, которые необходимо ввести). | ||
Строка подключения к базе данных ПК «Мастер-Тур»:<br /> | Строка подключения к базе данных ПК «Мастер-Тур»:<br /> | ||
− | + | <code><add key = "connectionString" value = "Data Source=<span style="color:red">ip-адрес сервера базы данных ПК «Мастер-Тур»</span>;Initial Catalog=<span style="color:red">название базы данных ПК «Мастер-Тур»</span>;User ID=<span style="color:red">логин пользователя ПК «Мастер-Тур»</span>;Password=<span style="color:red">пароль пользователя ПК «Мастер-Тур»</span>"/></code> | |
− | |||
==Настройка== | ==Настройка== | ||
Строка 50: | Строка 52: | ||
| 1 | | 1 | ||
| Включение дополнительного модуля '''Система онлайн платежей'''. | | Включение дополнительного модуля '''Система онлайн платежей'''. | ||
− | Обязательная настройка. | + | Обязательная настройка.<br> |
+ | <font style="color:red">'''Внимание!'''</font> Путь к приложению обязательно должен содержать ссылку на приложение из внешней сети. В противном случае, она не будет работать. | ||
| '''Путь к приложению «Система онлайн платежей»'''. | | '''Путь к приложению «Система онлайн платежей»'''. | ||
|<syntaxhighlight lang="xml" enclose="div"> | |<syntaxhighlight lang="xml" enclose="div"> | ||
− | + | <add key="paymentsLink" value="http://somesite/Uniteller" /> | |
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 85: | Строка 88: | ||
Если данная настройка прописана в файле <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> | </syntaxhighlight> | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 5 | ||
+ | |Настройка, определяющая партнеров в базе ПК «Мастер-Тур», которым разрешено осуществлять оплату путёвок онлайн. <br> | ||
+ | <font style="color:red">''Внимание!''</font> Настройка обрабатывается, начиная с релиза '''9223SP0''' | ||
+ | | | ||
+ | *'''Ключи партнеров''' таблицы [tbl_Partners], которым разрешена онлайн-оплата путёвок; | ||
+ | *'''пустое значение''' или '''отсутствие настройки''' – онлайн-оплата путёвок доступна всем партнёрам. | ||
+ | | <syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="allowedPaymentPartnerKeys" value="10764"/> | ||
+ | </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" | ||
|} | |} | ||
Строка 108: | Строка 137: | ||
| 1 | | 1 | ||
+ | | '''Точки продажи''' ('''shopIDP''') | ||
+ | Обязательная настройка. | ||
+ | | '''Uniteller Point ID''' из раздела Точки продажи ЛК «Uniteller». | ||
+ | |<syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="shopIDP" value="00005432"/> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 2 | ||
| '''Логин''' | | '''Логин''' | ||
Обязательная настройка. | Обязательная настройка. | ||
Строка 117: | Строка 156: | ||
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
− | | | + | | 3 |
| '''Пароль''' | | '''Пароль''' | ||
Обязательная настройка. | Обязательная настройка. | ||
Строка 127: | Строка 166: | ||
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
− | | | + | | 4 |
| Настройка, определяющая '''валюту''', в которой будет '''совершаться платеж''' через систему «Uniteller». | | Настройка, определяющая '''валюту''', в которой будет '''совершаться платеж''' через систему «Uniteller». | ||
Обязательная настройка. | Обязательная настройка. | ||
Строка 141: | Строка 180: | ||
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
− | | | + | | 5 |
| Настройка, определяющая '''код валюты''', в которой будет '''совершаться платеж''' через платежную систему «Uniteller» при '''значении DefinedBySettings настройки currencyToPay'''. | | Настройка, определяющая '''код валюты''', в которой будет '''совершаться платеж''' через платежную систему «Uniteller» при '''значении DefinedBySettings настройки currencyToPay'''. | ||
| '''Код валюты''' (Поле '''RA_CODE''' из таблицы <code>'''[Rates]'''</code>). | | '''Код валюты''' (Поле '''RA_CODE''' из таблицы <code>'''[Rates]'''</code>). | ||
Строка 158: | Строка 197: | ||
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
− | | | + | | 6 |
| Настройка, определяющая '''тип операции при проведении платежа'''. | | Настройка, определяющая '''тип операции при проведении платежа'''. | ||
Обязательная настройка. | Обязательная настройка. | ||
| '''Ключ операции''' (Поле '''PO_ID''' из таблицы <code>'''[PaymentOperations]'''</code>). | | '''Ключ операции''' (Поле '''PO_ID''' из таблицы <code>'''[PaymentOperations]'''</code>). | ||
|<syntaxhighlight lang="xml" enclose="div"> | |<syntaxhighlight lang="xml" enclose="div"> | ||
− | <add key=" | + | <add key="PaymentOperationId" value="1" /> |
+ | </syntaxhighlight> | ||
+ | |||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 7 | ||
+ | | Настройка, определяющая '''тип операции при проведении платежа для комиссий'''. | ||
+ | | '''Ключ операции''' (Поле '''PO_ID''' из таблицы <code>'''[PaymentOperations]'''</code>). | ||
+ | |<syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="paymentOperationCommissionId" value="6" /> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
− | | | + | | 8 |
| Настройка, определяющая '''пользователя''' ПК «Мастер-Тур», к которому будет '''привязываться оплата'''. | | Настройка, определяющая '''пользователя''' ПК «Мастер-Тур», к которому будет '''привязываться оплата'''. | ||
Обязательная настройка. | Обязательная настройка. | ||
Строка 178: | Строка 226: | ||
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
− | | | + | | 9 |
| Настройка, определяющая '''партнера''', к которому будет '''привязываться оплата'''. | | Настройка, определяющая '''партнера''', к которому будет '''привязываться оплата'''. | ||
Обязательная настройка. | Обязательная настройка. | ||
Строка 188: | Строка 236: | ||
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
− | | | + | | 10 |
| Настройка, определяющая '''отдел''', к которому будет '''привязываться оплата'''. | | Настройка, определяющая '''отдел''', к которому будет '''привязываться оплата'''. | ||
Обязательная настройка. | Обязательная настройка. | ||
Строка 198: | Строка 246: | ||
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
− | | | + | | 11 |
| Настройка, позволяющая задавать '''размер комиссии''', которая будет '''включена в сумму оплаты''' ('''для агентств'''). | | Настройка, позволяющая задавать '''размер комиссии''', которая будет '''включена в сумму оплаты''' ('''для агентств'''). | ||
| '''Значение комиссии''', которую необходимо ''включить в сумму платежа'' (целая часть отделяется запятой). | | '''Значение комиссии''', которую необходимо ''включить в сумму платежа'' (целая часть отделяется запятой). | ||
Строка 215: | Строка 263: | ||
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
− | | | + | | 12 |
| Настройка, позволяющая задавать '''размер комиссии''', которая будет '''включена в сумму оплаты''' ('''для частных лиц'''). | | Настройка, позволяющая задавать '''размер комиссии''', которая будет '''включена в сумму оплаты''' ('''для частных лиц'''). | ||
| '''Значение комиссии''', которую необходимо ''включить в сумму платежа'' (целая часть отделяется запятой). | | '''Значение комиссии''', которую необходимо ''включить в сумму платежа'' (целая часть отделяется запятой). | ||
Строка 232: | Строка 280: | ||
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
− | | | + | | 13 |
+ | | Настройка, задающая услугу, которая добавится в путевку при наличии комиссии, и стоимость которой будет равна сумме комиссии. Работает вместе с настройками ''NewDogovorServiceSvKey'' и ''NewDogovorServicePartnerKey''. | ||
+ | <span style="color:red">Обрабатывается с релиза 15.4.</span> | ||
+ | | Ключ услуги (Поле '''SL_KEY''' из таблицы <code>'''[ServiceList]'''</code>). | ||
+ | |<syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="NewDogovorServiceServiceListKey" value="450" /> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 14 | ||
+ | | Настройка, задающая класс для услуги, добавляемой в путевку при наличии комиссии. Работает вместе с настройками ''NewDogovorServiceServiceListKey'' и ''NewDogovorServicePartnerKey''. | ||
+ | <span style="color:red">Обрабатывается с релиза 15.4.</span> | ||
+ | | Ключ класса услуги (Поле '''SV_KEY''' из таблицы <code>'''[Service]'''</code>). | ||
+ | |<syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="NewDogovorServiceSvKey" value="1055" /> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 15 | ||
+ | | Настройка, задающая партнера, которая будет являться поставщиком для услуги, добавляемой в путевку при наличии комиссии. Работает вместе с настройками ''NewDogovorServiceServiceListKey'' и ''NewDogovorServiceSvKey''. | ||
+ | <span style="color:red">Обрабатывается с релиза 15.4.</span> | ||
+ | | Ключ класса услуги (Поле '''PR_KEY''' из таблицы <code>'''[Partners]'''</code>). | ||
+ | |<syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="NewDogovorServicePartnerKey" value="12921" /> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 16 | ||
+ | | Настройка, задающая услугу страхования, добавляемую в фискальный чек. Применяется в случае если в путевке отсутствует скрытая услуга "Операторский тур". | ||
+ | <span style="color:red">Обрабатывается с релиза 15.8.</span> Описание формирования чека с данными настройками находится в разделе [[Платежные web-сервисы: Сервис интеграции с платежной системой Uniteller (оплата картой в личном кабинете)#Формирование чека при использовании скрытой услуги "Операторский тур" в путевке|Формирование чека при использовании скрытой услуги "Операторский тур" в путевке]]. | ||
+ | | Ключ класса услуги (Поле '''SV_KEY''' из таблицы <code>'''[Service]'''</code>). | ||
+ | |<syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="InsuranceServiceKey" value="6"/> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 17 | ||
+ | | Настройка задающая название услуги в фискальном чеке если в путевке имеется скрытая услуга "Операторский тур". <span style="color:red">Обрабатывается с релиза 15.8.</span> Описание формирования чека с данными настройками находится в разделе [[Платежные web-сервисы: Сервис интеграции с платежной системой Uniteller (оплата картой в личном кабинете)#Формирование чека при использовании скрытой услуги "Операторский тур" в путевке|Формирование чека при использовании скрытой услуги "Операторский тур" в путевке]]. | ||
+ | |||
+ | | Ключ класса услуги (Поле '''SV_KEY''' из таблицы <code>'''[Service]'''</code>). | ||
+ | |<syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="OperatorTourServiceKey" value="1134"/> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 18 | ||
|Платёжная система кредитной карты. | |Платёжная система кредитной карты. | ||
| | | | ||
Строка 247: | Строка 345: | ||
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
− | | | + | | 19 |
|Тип электронной валюты. | |Тип электронной валюты. | ||
| | | | ||
Строка 274: | Строка 372: | ||
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
− | | | + | | 20 |
+ | | Адреса конечных точек [[Мастер-Тур:Установка#Установка службы подписи путевок и платежей|сервиса]].<BR> | ||
+ | ''Только'' для релиза 2009.2.21 данные настройки являются обязательными. | ||
+ | | В тегах endpoint указываются сервер и порт сервиса. По умолчанию указан локальный компьютер и стандартный порт. Если служба установлена на другом компьютере, то необходимо указать его ip-адрес и порт. Если на компьютере, где устанавливается сервис, стандартный порт 8080 занят, то необходимо указать другой свободный порт. | ||
+ | |<syntaxhighlight lang="xml" enclose="div"> | ||
+ | <endpoint address="http://localhost:8080//PaymentSignatureServiceHost/SignService/" | ||
+ | --/> | ||
+ | <endpoint address="http://localhost:8080//PaymentSignatureServiceHost/PaymentService/" | ||
+ | --/> | ||
+ | </syntaxhighlight> | ||
+ | [[Мастер-Тур:Установка#Настройка MW для работы с сервисом|подробное описание блока для подключения к службе подписи путевок и платежей]] | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 21 | ||
+ | | Настройка, включающая '''механизм хэширования пароля пользователя''', сохраняемого в файлах <code>cookie</code>, что позволяет усилить безопасность ПК «Мастер-Web». | ||
+ | По умолчанию хэширование включено. | ||
+ | | | ||
+ | * '''false''' или '''отсутствие настройки''' - хэширование пароля в файлах <code>cookie</code> ''выключено''; | ||
+ | * '''true''' - хэширование пароля в файлах <code>cookie</code> ''включено''. | ||
+ | |<syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="HashPasswordForCookie" value="true" /> | ||
+ | </syntaxhighlight> | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 22 | ||
+ | |<font style="color:red">Настройку необходимо указывать с релиза 9220SP16 по 9220SP30 включительно''</font><br /> | ||
+ | Определяет '''тип платежной системы''' при сохранении платежей. | ||
+ | Информация о типе платежной системы записывается в [[Мастер-Тур:Работа с группой путевок#История путевки|историю по путевке]].<br /> | ||
+ | Для системы '''«Мастер-Финанс»''' информация записывается в столбец '''DP_PAYMENTSSYS''' таблицы <code>'''[FIN_DOGOVOR_PAID]'''</code>.<br /> | ||
+ | Обязательная настройка. | ||
+ | | Название платежной системы | ||
+ | |<syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="PaymentSystem" value="Uniteller"/> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 23 | ||
+ | | Включение функционала фискализации платежей.<br /> | ||
+ | После включения необходимо заполнить настройки '''Код системы налогообложения''' ('''TaxMode''') и '''Код ставки налогообложения''' ('''TaxRateCode''').<br /> | ||
+ | <span style="color:red">Обрабатывается с релиза 9.2.23.0 и 15.2.</span> | ||
+ | | | ||
+ | * '''true''' – использовать фискализацию при оплате | ||
+ | * '''false или отсутствие настройки''' – не использовать фискализацию при оплате | ||
+ | |<syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="UseFiscalization" value="true"/> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 24 | ||
+ | | Код системы налогообложения, его значение должно соответствовать режимам налогообложения, сконфигурированным в ККМ при регистрации. Данная настройка необходима для работы фискализации платежей. | ||
+ | <span style="color:red">Обрабатывается с релиза 9.2.23.0 и 15.2.</span> | ||
+ | | | ||
+ | * '''0''' – общая система налогообложения | ||
+ | * '''1''' – упрощенная система налогообложения (Доход) | ||
+ | * '''2''' – упрощенная СН (Доход минус Расход) | ||
+ | * '''3''' – единый налог на вмененный доход | ||
+ | * '''4''' – единый сельскохозяйственный налог | ||
+ | * '''5''' – патентная система налогообложения | ||
+ | |<syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="TaxMode" value=""/> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 25 | ||
+ | | Код ставки налогообложения. Данная настройка необходима для работы фискализации платежей. | ||
+ | <span style="color:red">Обрабатывается с релиза 9.2.23.0 и 15.2.</span> | ||
+ | | | ||
+ | * '''-1''' – не облагается НДС | ||
+ | * '''0''' – облагается НДС по ставке 0% | ||
+ | * '''10''' – облагается НДС по ставке 10% | ||
+ | * '''18''' – облагается НДС по ставке 18% | ||
+ | * '''110''' – облагается НДС по ставке 10/110 | ||
+ | * '''118''' – облагается НДС по ставке 18/118 | ||
+ | |<syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="TaxRateCode" value=""/> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 26 | ||
+ | | Настройка, определяющая, что для генерации параметров будет использоваться стратегия из кастомной сборки. Работает в паре с настройкой ''paymentFilialToShopIdMappings''. | ||
+ | | Название кастомной сборки | ||
+ | ||<syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="parametersGenerator" value="Megatec.Plugins.KurortiYuga.FilialKeyGetter.KYParametersGeneratorStrategy, Megatec.Plugins.KurortiYuga.FilialKeyGetter"/> | ||
+ | </syntaxhighlight> | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 27 | ||
+ | | Настройка, создающая правила отправки оплаты на определенный ShopID. Отправка денежных средств на тот или иной ShopID зависит от филиала, на который создается проводка. Работает в паре с настройкой ''parametersGenerator''. | ||
+ | |* '''filial1,filial2:shopId1/login1/password1 | filial3,filial4:shopId2/login2/password2 | filial6:shopId5/login5/password5''' | ||
+ | |||
+ | |<syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="paymentFilialToShopIdMappings" value="11526,12663,1:00005432/2281/y2WOqJc4k8PQckLJQsmN4l9OMpYnxQZWsYnlfMRzXjONpSbYhk4WlunjfaHq4l | 2 : 00123452/un15/y2WOqJ8PQckLJQsmN49OW61tZmMpYnxQZWsYnlRxTzXjte0cONpSbYhk4WlaHX4"/> | ||
+ | </syntaxhighlight> | ||
+ | |} | ||
+ | <br /> | ||
+ | Настройки задаются в секции <code><appSettings></code> файла <code>web.config</code> приложения '''Система онлайн платежей''' | ||
+ | <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" | ||
+ | |||
+ | | 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 | ||
| Включение режима '''записи нового платежа''' в систему '''«Мастер-Финанс»'''. При этом в ПК «Мастер-Тур» платежи '''не сохраняются'''. | | Включение режима '''записи нового платежа''' в систему '''«Мастер-Финанс»'''. При этом в ПК «Мастер-Тур» платежи '''не сохраняются'''. | ||
| | | | ||
Строка 280: | Строка 499: | ||
* '''false''' или '''отсутствие настройки''' - выключает запись платежей в «Мастер-Финанс». | * '''false''' или '''отсутствие настройки''' - выключает запись платежей в «Мастер-Финанс». | ||
|<syntaxhighlight lang="xml" enclose="div"> | |<syntaxhighlight lang="xml" enclose="div"> | ||
− | <add key="AddPaymentsToMasterFinance" value="true"/> | + | <add key="AddPaymentsToMasterFinance" value="true" /> |
+ | </syntaxhighlight> | ||
+ | ''В версиях до релиза 9222SP0 может использоваться старая настройка'': | ||
+ | <syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="paymentFactory" value="MasterSoft.Payments.PaymentFactoryWebPay, MasterSoft.Payments" /> | ||
+ | </syntaxhighlight> | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 3 | ||
+ | | Настройка, определяющая, что филиал, на который создается проводка при оплате через Uniteller, будет рассчитываться по правилам из кастомной сборки туроператора. <BR> ''Настройка регистрозависимая''. | ||
+ | | Название кастомной сборки | ||
+ | |<syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="filialKeyGetter" value="Megatec.Plugins.KurortiYuga.FilialKeyGetter.FilialKeyGetterByServicePartner, Megatec.Plugins.KurortiYuga.FilialKeyGetter"/> | ||
+ | |||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 4 | ||
+ | | Настройка, '''включающая экран редактирования суммы к оплате'''.<br> | ||
+ | Текст с правилами оплаты и фиксации курса можно отредактировать в файле ''Payment.aspx'' платежного приложения. После изменения файла требуется перезагрузить пул приложения.<br> | ||
+ | <span style="color:red">Внимание! Настройка обрабатывается, начиная с релиза '''9222SP0'''.</span> | ||
+ | | | ||
+ | * '''true''' - экран корректировки суммы к оплате ''отображается''; | ||
+ | * '''false''' или '''отсутствие настройки''' - экран корректировки суммы к оплате ''не отображается''. | ||
+ | |<syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="allowCustomAmount" value="true" /> | ||
+ | </syntaxhighlight> | ||
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
− | | | + | |
+ | | 5 | ||
| Настройка, определяющая '''дату''', на которую будет '''подбираться курс валют''' для пересчета '''суммы к оплате'''. | | Настройка, определяющая '''дату''', на которую будет '''подбираться курс валют''' для пересчета '''суммы к оплате'''. | ||
| | | | ||
Строка 299: | Строка 544: | ||
* '''ConfirmDate''' — курс на дату подтверждения заявки (если подтверждения путевки еще не было, либо курс на дату подтверждения не заведен, то будет отображаться курс на текущую дату). | * '''ConfirmDate''' — курс на дату подтверждения заявки (если подтверждения путевки еще не было, либо курс на дату подтверждения не заведен, то будет отображаться курс на текущую дату). | ||
|<syntaxhighlight lang="xml" enclose="div"> | |<syntaxhighlight lang="xml" enclose="div"> | ||
− | + | <add key="courseExchangeDate" value="FixationDate" /> | |
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |- style="vertical-align:text-top" | ||
+ | |} | ||
+ | [[Файл: am_063.png|left|Предупреждение]]<br /> В случае если необходимо вместо метода оплаты '''Uniteller''' применить метод оплаты '''UnitellerMir''' или '''UnitellerChildren''' необходимо переименовать секцию Uniteller в UnitellerMir и UnitellerChildren соответственно, а также параметр paymentSystem в секции <appSettings>.<br /> | ||
+ | <br><br /> | ||
+ | |||
+ | Начиная с релиза 15.8 не нужно указывать ссылку на возврат после оплаты в личном кабинете Uniteller. Параметр '''URL-адрес уведомления магазина''' нужно оставить пустым. | ||
+ | [[Файл: Ea_230.png]] | ||
+ | |||
+ | ===Сценарии работы=== | ||
+ | Предполагаются 3 сценария работы:<br /> | ||
+ | 1. Заданы размеры комиссий и параметры '''paymentOperationId''', '''paymentOperationComissionId''', '''NewDogovorServiceSvKey''', '''NewDogovorServiceServiceListKey''', '''NewDogovorServicePartnerKey'''. В этом случае при оплате в базе данных формируется 1 ПКО (сумма за путевку + сумма комиссии), в путевке создается услуга "Комиссия при оплате через платежный шлюз" и сумма путевки увеличивается на размер стоимости созданной услуги.<br /> | ||
+ | 2. Заданы размеры комиссий и параметры '''paymentOperationId''', '''paymentOperationComissionId'''. Параметры '''NewDogovorServiceSvKey''', '''NewDogovorServiceServiceListKey''', '''NewDogovorServicePartnerKey''' не заданы. В этом случае при оплате в базе данных формируются 2 ПКО (отдельно за путевку и за комиссию). Услуга в путевке не создается и сумма путевки не меняется.<br /> | ||
+ | 3. Заданы размеры комиссий и параметр '''paymentOperationId'''. Значение параметра '''paymentOperationComissionId=0''' или параметр отсутствует. Оплата за комиссию уходит сразу в банк. В этом случае при оплате в базе данных формируется 1 ПКО за путевку.<br /> | ||
+ | <span style="color:red">Внимание!</span> Данные настройки не работают при включенной настройке <add key="AddPaymentsToMasterFinance" value="true"/>. | ||
+ | |||
+ | ===Фискализация=== | ||
+ | При использовании фискализации при оплате необходимо заполнить соответствующие параметры в файле web.config.<br /> | ||
+ | Настройки задаются в секции <code><basic></code> файла <code>web.config</code> приложения '''Система онлайн платежей'''.<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 |
− | | | + | | Включение функционала фискализации платежей.<br /> |
+ | <span style="color:red">Обрабатывается с релиза 9.2.23.0 и 15.2.</span> | ||
| | | | ||
− | * '''true''' | + | * '''true''' – использовать фискализацию при оплате |
− | * '''false''' | + | * '''false или отсутствие настройки''' – не использовать фискализацию при оплате |
+ | |<syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="UseFiscalization" value="true"/> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | |||
+ | | 2 | ||
+ | | Настройка, '''определяющая тип системы налогооблажения'''.<br> | ||
+ | |||
+ | | Код системы налогообложения, его значение должно соответствовать режимам налогообложения, сконфигурированным в ККМ при регистрации. | ||
+ | Допустимые значения taxmode:<br> | ||
+ | 0 — Общая система налогообложения<br> | ||
+ | 1 — Упрощенная система налогообложения (Доход)/<br> | ||
+ | 2 — Упрощенная СН (Доход минус Расход)<br> | ||
+ | 3 — Единый налог на вмененный доход<br> | ||
+ | 4 — Единый сельскохозяйственный налог<br> | ||
+ | 5 — Патентная система налогообложения<br> | ||
+ | |||
+ | |<syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="TaxMode" value="2"/> | ||
+ | </syntaxhighlight> | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | |||
+ | | 3 | ||
+ | | Настройка, '''определяющая размер ставки налогооблажения'''.<br> | ||
+ | |||
+ | | Код ставки налогообложения. <br> | ||
+ | Допустимые значения TaxRateCode:<br> | ||
+ | -1 – не облагается НДС/<br> | ||
+ | 0 – облагается НДС по ставке 0%<br> | ||
+ | 10 – облагается НДС по ставке 10%<br> | ||
+ | 18 – облагается НДС по ставке 18%<br> | ||
+ | 110 – облагается НДС по ставке 10/110<br> | ||
+ | 118 – облагается НДС по ставке 18/118<br> | ||
+ | |||
+ | |<syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="TaxRateCode" value="18"/> | ||
+ | </syntaxhighlight> | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 4 | ||
+ | | Тип отображения комиссии платежной системы в фискальном чеке.<br> | ||
+ | |||
+ | |Работает начиная с релиза 15.8 если используется [[Платежные web-сервисы: Выбор платежной системы (оплата картой в личном кабинете)|дополнительный модуль Выбор платежной системы (оплата картой в личном кабинете)]] | ||
+ | 0 - увеличивает стоимость позиций по чеку на размер (%) комиссию<br> | ||
+ | 1 - добавляет в чек комиссию отдельной строкой<br> | ||
+ | |||
|<syntaxhighlight lang="xml" enclose="div"> | |<syntaxhighlight lang="xml" enclose="div"> | ||
− | + | <add key="ComissionShowModeInVoucher" value ="0"/> | |
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |- style="vertical-align:text-top" | ||
+ | | 5 | ||
+ | | Наименование позиции в чеке для комиссии для <add key="ComissionShowModeInVoucher" value ="1"/>.<br> | ||
+ | |||
+ | |Работает начиная с релиза 15.8 если используется [[Платежные web-сервисы: Выбор платежной системы (оплата картой в личном кабинете)|дополнительный модуль Выбор платежной системы (оплата картой в личном кабинете)]] | ||
+ | По умолчанию - "Комиссия платежной системы" | ||
+ | |||
+ | |<syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="ComissionTextInVoucher" value ="Юнителлер комиcсия"/> | ||
+ | </syntaxhighlight> | ||
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
− | | | + | | 6 |
− | | | + | | Вид формирования чека <br> |
− | + | ||
+ | |Работает начиная с релиза 15.8 если используется [[Платежные web-сервисы: Выбор платежной системы (оплата картой в личном кабинете)|дополнительный модуль Выбор платежной системы (оплата картой в личном кабинете)]] | ||
+ | true - разбить по услугам отдельно, </br> | ||
+ | false - одной строкой из ключа VoucherServiceText</br> | ||
+ | По умолчанию настройка в состоянии false.</br> | ||
+ | |||
|<syntaxhighlight lang="xml" enclose="div"> | |<syntaxhighlight lang="xml" enclose="div"> | ||
− | + | <add key="VoucherShowDetails" value="false"/> | |
</syntaxhighlight> | </syntaxhighlight> | ||
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
− | | | + | | 7 |
− | | | + | | Наименование услуги в чеке <br> |
− | + | ||
− | + | |Работает начиная с релиза 15.8 если используется [[Платежные web-сервисы: Выбор платежной системы (оплата картой в личном кабинете)|дополнительный модуль Выбор платежной системы (оплата картой в личном кабинете)]] | |
+ | %dogovor% (не обязательно) - для вставки номера договора.</br> | ||
+ | |||
|<syntaxhighlight lang="xml" enclose="div"> | |<syntaxhighlight lang="xml" enclose="div"> | ||
− | < | + | <add key="VoucherServiceText" value="Туристическая услуга по договору %dogovor%"/> |
− | |||
− | |||
− | |||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | |- style="vertical-align:text-top" | |
+ | |} | ||
+ | |||
+ | Настройки задаются в секции <code><appSettings></code> файла <code>web.config</code> приложения '''Система онлайн платежей'''.</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 |
− | | Настройка, | + | | Настройка, '''определяющая адрес шлюза оплаты с включенной фискализацией v.1.0'''.<br> |
− | + | ||
| | | | ||
− | + | ||
− | |||
|<syntaxhighlight lang="xml" enclose="div"> | |<syntaxhighlight lang="xml" enclose="div"> | ||
− | <add key=" | + | <add key="unitellerLoginWithFiscalizationUrl" value="https://fpay.uniteller.ru/v1/pay"/> |
</syntaxhighlight> | </syntaxhighlight> | ||
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
− | | | + | |
− | | | + | | 2 |
− | + | | Настройка, '''определяющая адрес шлюза оплаты с включенной фискализацией v.2.0'''.<br> | |
− | + | ||
− | + | | | |
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|<syntaxhighlight lang="xml" enclose="div"> | |<syntaxhighlight lang="xml" enclose="div"> | ||
− | <add key=" | + | <add key="unitellerLoginWithFiscalizationUrl" value="https://fpay.uniteller.ru/v2/pay"/> |
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |- style="vertical-align:text-top" | ||
|} | |} | ||
+ | |||
+ | ====Отличие версии 2.0 от версии 1.0==== | ||
+ | Добавлены следующие возможности: | ||
+ | * Продажа подарочных карт, начисления бонусов-авансов, фискализация авансов. | ||
+ | * Частичная либо полная оплаты заказа подарочными картами, бонусами либо другими авансами. | ||
+ | * Возврат авансов и покупок, оплаченых частично либо полностью авансами. | ||
+ | * Отнесение авансов в доход. | ||
+ | * Осуществления агентских продаж. | ||
+ | * Настройка механизма «Защита от штрафов» для интерфейсов версии 2.0. | ||
+ | Добавлены следующие сценарии: | ||
+ | * Операция оплаты с использованием платежной формы (версия 2.0). | ||
+ | * Операция оплаты с использованием API (версия 2.0). | ||
+ | * Операция оплаты через ApplePay с использованием API (версия 2.0). | ||
+ | * Операция подтверждения преавторизации (версия 2.0). | ||
+ | * Операция отнесения авансов в доход с помощью API. | ||
+ | * Операция отнесения авансов в доход с помощью ЛК. | ||
+ | * Частичная или полная отмена платежа с фискализацией, выполненного через Uniteller (версия 2.0). | ||
+ | * Частичная или полная отмена платежа с фискализацией, выполненного через Uniteller через ЛК (версия 2.0). | ||
+ | * В сценарии регистрации заказа добавлена возможность регистрации для интерфейса 2.0. | ||
+ | * Добавлены программные интерфейсы для новых сценариев. | ||
+ | * Для интерфейсов версии 2.0 изменен формат фискального чека. | ||
+ | |||
+ | ===Формирование чека при использовании скрытой услуги "Операторский тур" в путевке=== | ||
+ | В случае если в путевке имеется скрытая услуга "Операторский тур", то чек формируется на весь тур одной суммой. <br /> | ||
+ | Платёжной системе Uniteller передаются следующие параметры:<br /> | ||
+ | 1. Данные по поставщику: пустое поле.<br /> | ||
+ | 2. Наименование продукта, который продаётся по чеку: передаётся название услуги класса "Операторский тур" + номер заявки.<br /> | ||
+ | 3. Полный расчёт или предоплата: всегда передаётся "Полный расчёт".<br /> | ||
+ | 4. Передаётся полная стоимость тура в рублях по внутреннему курсу на дату платежа.<br /> | ||
+ | |||
+ | В случае если в путевке отсутствует скрытая услуга "Операторский тур", то тур считается агентским. В таком случае чек формируется с детализацией по некоторым услугам с делением по поставщикам: отдельным блоком выводится страховка с отображением ее стоимости и отдельным блоком с комплексом остальных туристических услуг с ценой за вычетом страховки. <br /> | ||
+ | Платёжной системе Uniteller передаются следующие параметры:<br /> | ||
+ | Основной комплекс услуг:<br /> | ||
+ | 1. Данные по поставщику на комплекс услуг: Передаётся полное название партнёра по услуге отель/круиз. + передаётся ИНН поставщика + телефон поставщика.<br /> | ||
+ | 2. В наименование продукта передаётся текст: «Ком-кс тур. услуг» + Страна по путёвке + номер заявки.<br /> | ||
+ | 3. Передаётся признак продавца: АГЕНТ.<br /> | ||
+ | 4. Полный расчёт или предоплата: всегда передаётся "Полный расчёт".<br /> | ||
+ | 5. Стоимость: Передаётся стоимость тура в рублях по внутреннему курсу, за вычетом стоимости страховки в рублях, по курсу ЦБ РФ.<br /> | ||
+ | Отдельным блоком выводится информация по страховке, если она есть в туре:<br /> | ||
+ | 1. Данные по поставщику на комплекс услуг: Передаётся полное название партнёра по услуге Страховка + ИНН партнёра по страховке + телефон партнёра по страховке.<br /> | ||
+ | 2. В наименование продукта передаётся текст: «Страховка» + Страна по услуге + номер заявки.<br /> | ||
+ | 3. Передаётся признак продавца: АГЕНТ.<br /> | ||
+ | 4. Полный расчёт или предоплата: всегда передаётся "Полный расчёт".<br /> | ||
+ | 5. Стоимость: Передаётся сумма брутто стоимостей всех услуг страхования в рублях по курсу ЦБ РФ.<br /> | ||
+ | Так же передаём общую стоимость путёвки в рублях по внутреннему курсу.<br /> | ||
==Подготовка данных== | ==Подготовка данных== | ||
Оплату можно произвести по путевкам, '''статус''' которых указан в настройке '''paymentsStatuses'''.<br /> | Оплату можно произвести по путевкам, '''статус''' которых указан в настройке '''paymentsStatuses'''.<br /> | ||
− | Для возможности оплаты через платёжную систему '''Uniteller''' тип платёжной операции ('''PaymentOperation'''), ключ которой указан в настройке '''kindOfPay''', должен [[Мастер-Тур:Финансовый блок#Справочник типовых операций|иметь бланки]] и [[Мастер-Тур:Финансовый блок#Справочник типовых операций|иметь признак «Приходный»]] (PO_Type is null or PO_Type = 0). | + | Для возможности оплаты через платёжную систему '''Uniteller''' тип платёжной операции ('''PaymentOperation'''), ключ которой указан в настройке '''kindOfPay''', должен [[Мастер-Тур:Финансовый блок#Справочник типовых операций|иметь бланки]] и [[Мастер-Тур:Финансовый блок#Справочник типовых операций|иметь признак «Приходный»]] (PO_Type is null or PO_Type = 0). <BR> |
+ | В личном кабинете '''Uniteller''' в разделе '''Точки продажи''' необходимо указать URL-адрес уведомления магазина в формате: ''somesite/Uniteller/Payment.aspx?action=reply''. | ||
+ | |||
+ | |||
==Определение оплаты в зависимости от филиала бронирования== | ==Определение оплаты в зависимости от филиала бронирования== | ||
Строка 396: | Строка 782: | ||
==Работа в системе== | ==Работа в системе== | ||
+ | ===Процесс оплаты путевки через платежную систему=== | ||
+ | |||
+ | ;Создание заказа | ||
+ | Процесс оплаты начинается с выбора путевки и нажатия на ссылку «Оплатить» на странице заказа в MasterWeb, что инициирует создание заказа и переход пользователя на страницу электронной платежной системы. На этом этапе система автоматически формирует запрос к платежной системе, а в базе данных появляется запись о платеже с начальным статусом «Отправлено». Этот статус означает, что запрос на оплату был отправлен, но подтверждение еще не получено (в таблице Payments добавляются детали платежа в PaymentDetails с OperationStatus - 0). На этом создание заказа завершается, и пользователь временно покидает систему, чтобы завершить оплату на стороне платежного сервиса. | ||
+ | |||
+ | ;Проверка оплаты | ||
+ | После того как пользователь завершает оплату на сайте платежной системы, происходит либо автоматический переход обратно в MasterWeb, либо запускается таймер для проверки статусов неоплаченных заказов. В обоих случаях система выполняет запрос к платежной системе для получения обновленного статуса. Если оплата прошла успешно, в базе данных создается полная запись о платеже, включая все детали и историю транзакций. | ||
+ | |||
+ | ;Обновление данных путевки после оплаты | ||
+ | После подтверждения успешной оплаты система обновляет данные по путевке. В базе сохраняется информация о сумме оплаты, добавляется отметка о проведении платежа в истории путевки (в таблице Payments OperationStatus прописывается статус 1), а также, если это требуется, включаются дополнительные услуги, связанные с оплаченной путевкой. | ||
+ | |||
===Поиск путевки=== | ===Поиск путевки=== | ||
Список заявок, забронированных в базе данных туроператора, доступен в экране [[Мастер-Web:Руководство пользователя. Работа в системе online бронирования#Просмотр списка забронированных туров («OrderList.aspx»)|«Список заказов»]] по адресу: <code><nowiki>http://ip-адрес сервера Мастер-Веб/MasterWebStandard/OrderList.aspx</nowiki></code>. | Список заявок, забронированных в базе данных туроператора, доступен в экране [[Мастер-Web:Руководство пользователя. Работа в системе online бронирования#Просмотр списка забронированных туров («OrderList.aspx»)|«Список заказов»]] по адресу: <code><nowiki>http://ip-адрес сервера Мастер-Веб/MasterWebStandard/OrderList.aspx</nowiki></code>. | ||
Строка 449: | Строка 846: | ||
После того, как '''все поля заполнены''', нужно нажать на кнопку '''Оплатить''', по нажатию которой загрузится экран '''Информация о платеже''': | После того, как '''все поля заполнены''', нужно нажать на кнопку '''Оплатить''', по нажатию которой загрузится экран '''Информация о платеже''': | ||
− | [[Файл: | + | [[Файл: mb_269.png|x600px|«Информация о платеже»]]<br /> |
<br /> | <br /> | ||
− | Для того чтобы вернуться к [[#Поиск путевки|списку заявок]] нужно нажать на кнопку '''Вернуться в магазин'''. | + | В поле '''Номер платежа''' записывается ''номер путевки в Мастер-Тур и уникальный идентификатор платежа'', пример ''OM20901231@s@9865278c-85de-4d91-805d-1316a129c2fe''.<br /> |
+ | Для того чтобы вернуться к [[#Поиск путевки|списку заявок]] нужно нажать на кнопку '''Вернуться в магазин'''.<br /> | ||
+ | |||
+ | Если включена фискализация платежей, то чеки можно просмотреть по ссылке '''Просмотреть фискальные чеки''', либо в личном кабинете «Uniteller» в разделе '''Фискальные чеки'''. | ||
+ | |||
+ | [[Файл: mb_270.png|x500px|Фискальные чеки]]<br /> | ||
При '''успешном''' проведении платежа в базе '''автоматически создается проводка''' и у путевки '''прописывается сумма оплаты'''. Также в [[Мастер-Тур:Работа с группой путевок#История путевки|истории путевки]] добавляется запись об '''оплате через платежную систему «Uniteller»'''. | При '''успешном''' проведении платежа в базе '''автоматически создается проводка''' и у путевки '''прописывается сумма оплаты'''. Также в [[Мастер-Тур:Работа с группой путевок#История путевки|истории путевки]] добавляется запись об '''оплате через платежную систему «Uniteller»'''. | ||
− | [[Category: | + | [[Category:Платежные web-сервисы]] |
+ | |||
+ | ==Возможные ошибки при работе== | ||
+ | ===Ошибка "Вы не авторизованы для выполнения операции"=== | ||
+ | Ошибка может возникать при настроенном шлюзе Uniteller по ссылке через localhost. | ||
+ | Для устранения ошибки необходимо поменять localhost на внешний адрес в сети Internet и попробовать осуществить оплату с другого компьютера. | ||
+ | [[Файл: ea_216.png|x1200px|Ошибка]]<br /> | ||
+ | ==Ошибка SecureChannelFailure== | ||
+ | Появление такой ошибки может быть вызвано невозможностью установить TLS соединение, которое используется для передачи данных от платежной системы. Вызвано некорректными настройками брандмауэра/firewall или некорректными настройками сервера. В случае обнаружения закрытого канала TLS необходимо обратиться к администратору вашей интернет-сети. | ||
+ | On error occurred during signing in. Contact our manager System.Exception: Some error occured: SecureChannelFailure at Megatec.MasterWeb.PaymentSystem.Tinkoff.TinkoffGateway.Authorization(TinkoffParameters parameters, String token) in C:\Users\vmizh\Work\MasterTour\Source\MW\Megatec.MasterWeb.PaymentSystem.Tinkoff\TinkoffGateway.cs:line 430 at Megatec.MasterWeb.PaymentSystem.Tinkoff.TinkoffGateway.Login(IPaymentParameters parameters) in C:\Users\vmizh\Work\MasterTour\Source\MW\Megatec.MasterWeb.PaymentSystem.Tinkoff\TinkoffGateway.cs:line 106 at MasterWebStandard2.Payment.ParseRequest(String action, String orderCode) | ||
+ | |||
+ | <font style="color:red">''Для проверки доступности TLS соединения необходимо выполнить следующую команду в командной строке или в оболочке Powershell, заменив ссылку на ссылку для необходимой системы оплаты:''</font><br /> | ||
+ | '''Invoke-WebRequest -Uri https://securepay.tinkoff.ru'''<br /> | ||
+ | |||
+ | Вариант успешного ответа при доступном соединении<br /> | ||
+ | Invoke-WebRequest : Удаленный сервер возвратил ошибку: (404) Не найден. | ||
+ | строка:1 знак:1 | ||
+ | + Invoke-WebRequest -Uri https://securepay.tinkoff.ru | ||
+ | |||
+ | Вариант некорректного ответа при закрытом соединении<br /> | ||
+ | Invoke-WebRequest : The request was aborted: Could not create SSL/TLS secure channel. | ||
+ | At line:1 char:2 | ||
+ | + Invoke-WebRequest -Uri https://securepay.tinkoff.ru | ||
+ | |||
+ | [[Category:Платежные_web-сервисы]] |
Текущая версия на 10:52, 5 ноября 2024
Версия статьи от 5-11-2024
Начиная с релиза 15.8 после 01.06.2023 работа с отдельными платежными шлюзами не поддерживается. Для работы необходимо использовать новую версию приложения EntryPoint (оплата картой в личном кабинете с выбором системы оплаты) с поддержкой Uniteller, Sberbank, Tinkoff, Alfabank, Assist, PayOnline, WebPay без установки сторонних библиотек и развертывания отдельных сервисов.
Содержание
Введение
Перед началом работы с платежными системами необходимо удостовериться в соответствии оборудования и программного обеспечения системно-аппаратным требованиям. Если версия операционной системы не соответствует рекомендуемой, то работа с платежными сервисами не гарантирована в связи с ограничениями протоколов безопасности операционной системы.
Данный модуль реализует возможность оплаты путевок через систему электронных платежей «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"/>
|
6 | Настройка, позволяющая производить оплату в новой вкладке браузера. Внимание! Настройка обрабатывается, начиная с релиза 9222SP0.
|
|
<add key="OpenPaymentInNewWindow" value="true" />
|
Настройки приложения «Система онлайн платежей»
Настройки задаются в секции <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="PaymentOperationId" value="1" />
|
7 | Настройка, определяющая тип операции при проведении платежа для комиссий. | Ключ операции (Поле PO_ID из таблицы [PaymentOperations] ).
|
<add key="paymentOperationCommissionId" value="6" />
|
8 | Настройка, определяющая пользователя ПК «Мастер-Тур», к которому будет привязываться оплата.
Обязательная настройка. |
Ключ пользователя, к которому привязывается оплата (Поле US_KEY из таблицы [UserList] ).
|
<add key="masterTourUser" value="80" />
|
9 | Настройка, определяющая партнера, к которому будет привязываться оплата.
Обязательная настройка. |
Ключ филиала, к которому привязывается оплата (Поле PR_KEY из таблицы [Partners] ).
|
<add key="paymentFilialKey" value="1" />
|
10 | Настройка, определяющая отдел, к которому будет привязываться оплата.
Обязательная настройка. |
Ключ отдела (кассы), к которому привязывается оплата (Поле PDP_KEY из таблицы [PrtDeps] ).
|
<add key="departmentKey" value="2" />
|
11 | Настройка, позволяющая задавать размер комиссии, которая будет включена в сумму оплаты (для агентств). | Значение комиссии, которую необходимо включить в сумму платежа (целая часть отделяется запятой).
Комиссия указывается в процентах. |
<add key="addAgencyComission" value="3,627" />
|
12 | Настройка, позволяющая задавать размер комиссии, которая будет включена в сумму оплаты (для частных лиц). | Значение комиссии, которую необходимо включить в сумму платежа (целая часть отделяется запятой).
Комиссия указывается в процентах. |
<add key="addPersonalComission" value="5" />
|
13 | Настройка, задающая услугу, которая добавится в путевку при наличии комиссии, и стоимость которой будет равна сумме комиссии. Работает вместе с настройками NewDogovorServiceSvKey и NewDogovorServicePartnerKey.
Обрабатывается с релиза 15.4. |
Ключ услуги (Поле SL_KEY из таблицы [ServiceList] ).
|
<add key="NewDogovorServiceServiceListKey" value="450" />
|
14 | Настройка, задающая класс для услуги, добавляемой в путевку при наличии комиссии. Работает вместе с настройками NewDogovorServiceServiceListKey и NewDogovorServicePartnerKey.
Обрабатывается с релиза 15.4. |
Ключ класса услуги (Поле SV_KEY из таблицы [Service] ).
|
<add key="NewDogovorServiceSvKey" value="1055" />
|
15 | Настройка, задающая партнера, которая будет являться поставщиком для услуги, добавляемой в путевку при наличии комиссии. Работает вместе с настройками NewDogovorServiceServiceListKey и NewDogovorServiceSvKey.
Обрабатывается с релиза 15.4. |
Ключ класса услуги (Поле PR_KEY из таблицы [Partners] ).
|
<add key="NewDogovorServicePartnerKey" value="12921" />
|
16 | Настройка, задающая услугу страхования, добавляемую в фискальный чек. Применяется в случае если в путевке отсутствует скрытая услуга "Операторский тур".
Обрабатывается с релиза 15.8. Описание формирования чека с данными настройками находится в разделе Формирование чека при использовании скрытой услуги "Операторский тур" в путевке. |
Ключ класса услуги (Поле SV_KEY из таблицы [Service] ).
|
<add key="InsuranceServiceKey" value="6"/>
|
17 | Настройка задающая название услуги в фискальном чеке если в путевке имеется скрытая услуга "Операторский тур". Обрабатывается с релиза 15.8. Описание формирования чека с данными настройками находится в разделе Формирование чека при использовании скрытой услуги "Операторский тур" в путевке. | Ключ класса услуги (Поле SV_KEY из таблицы [Service] ).
|
<add key="OperatorTourServiceKey" value="1134"/>
|
18 | Платёжная система кредитной карты. |
|
<add key="meanType" value="" />
|
19 | Тип электронной валюты. |
|
<add key="eMoneyType" value="" />
|
20 | Адреса конечных точек сервиса. Только для релиза 2009.2.21 данные настройки являются обязательными. |
В тегах endpoint указываются сервер и порт сервиса. По умолчанию указан локальный компьютер и стандартный порт. Если служба установлена на другом компьютере, то необходимо указать его ip-адрес и порт. Если на компьютере, где устанавливается сервис, стандартный порт 8080 занят, то необходимо указать другой свободный порт. | <endpoint address="http://localhost:8080//PaymentSignatureServiceHost/SignService/"
--/>
<endpoint address="http://localhost:8080//PaymentSignatureServiceHost/PaymentService/"
--/>
подробное описание блока для подключения к службе подписи путевок и платежей |
21 | Настройка, включающая механизм хэширования пароля пользователя, сохраняемого в файлах cookie , что позволяет усилить безопасность ПК «Мастер-Web».
По умолчанию хэширование включено. |
|
<add key="HashPasswordForCookie" value="true" />
|
22 | Настройку необходимо указывать с релиза 9220SP16 по 9220SP30 включительно Определяет тип платежной системы при сохранении платежей.
Информация о типе платежной системы записывается в историю по путевке. |
Название платежной системы | <add key="PaymentSystem" value="Uniteller"/>
|
23 | Включение функционала фискализации платежей. После включения необходимо заполнить настройки Код системы налогообложения (TaxMode) и Код ставки налогообложения (TaxRateCode). |
|
<add key="UseFiscalization" value="true"/>
|
24 | Код системы налогообложения, его значение должно соответствовать режимам налогообложения, сконфигурированным в ККМ при регистрации. Данная настройка необходима для работы фискализации платежей.
Обрабатывается с релиза 9.2.23.0 и 15.2. |
|
<add key="TaxMode" value=""/>
|
25 | Код ставки налогообложения. Данная настройка необходима для работы фискализации платежей.
Обрабатывается с релиза 9.2.23.0 и 15.2. |
|
<add key="TaxRateCode" value=""/>
|
26 | Настройка, определяющая, что для генерации параметров будет использоваться стратегия из кастомной сборки. Работает в паре с настройкой paymentFilialToShopIdMappings. | Название кастомной сборки | <add key="parametersGenerator" value="Megatec.Plugins.KurortiYuga.FilialKeyGetter.KYParametersGeneratorStrategy, Megatec.Plugins.KurortiYuga.FilialKeyGetter"/>
|
27 | Настройка, создающая правила отправки оплаты на определенный 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 | Настройка, включающая экран редактирования суммы к оплате. Текст с правилами оплаты и фиксации курса можно отредактировать в файле Payment.aspx платежного приложения. После изменения файла требуется перезагрузить пул приложения. Внимание! Настройка обрабатывается, начиная с релиза 9222SP0. |
|
<add key="allowCustomAmount" value="true" />
|
5 | Настройка, определяющая дату, на которую будет подбираться курс валют для пересчета суммы к оплате. |
Обработка настройки, начиная с релиза 9220SP31.
Обработка настройки до релиза 9220SP31.
|
<add key="courseExchangeDate" value="FixationDate" />
|
В случае если необходимо вместо метода оплаты Uniteller применить метод оплаты UnitellerMir или UnitellerChildren необходимо переименовать секцию Uniteller в UnitellerMir и UnitellerChildren соответственно, а также параметр paymentSystem в секции <appSettings>.
Начиная с релиза 15.8 не нужно указывать ссылку на возврат после оплаты в личном кабинете Uniteller. Параметр URL-адрес уведомления магазина нужно оставить пустым.
Сценарии работы
Предполагаются 3 сценария работы:
1. Заданы размеры комиссий и параметры paymentOperationId, paymentOperationComissionId, NewDogovorServiceSvKey, NewDogovorServiceServiceListKey, NewDogovorServicePartnerKey. В этом случае при оплате в базе данных формируется 1 ПКО (сумма за путевку + сумма комиссии), в путевке создается услуга "Комиссия при оплате через платежный шлюз" и сумма путевки увеличивается на размер стоимости созданной услуги.
2. Заданы размеры комиссий и параметры paymentOperationId, paymentOperationComissionId. Параметры NewDogovorServiceSvKey, NewDogovorServiceServiceListKey, NewDogovorServicePartnerKey не заданы. В этом случае при оплате в базе данных формируются 2 ПКО (отдельно за путевку и за комиссию). Услуга в путевке не создается и сумма путевки не меняется.
3. Заданы размеры комиссий и параметр paymentOperationId. Значение параметра paymentOperationComissionId=0 или параметр отсутствует. Оплата за комиссию уходит сразу в банк. В этом случае при оплате в базе данных формируется 1 ПКО за путевку.
Внимание! Данные настройки не работают при включенной настройке <add key="AddPaymentsToMasterFinance" value="true"/>.
Фискализация
При использовании фискализации при оплате необходимо заполнить соответствующие параметры в файле web.config.
Настройки задаются в секции <basic>
файла web.config
приложения Система онлайн платежей.
№ | Описание | Значение | Настройка |
---|---|---|---|
1 | Включение функционала фискализации платежей. Обрабатывается с релиза 9.2.23.0 и 15.2. |
|
<add key="UseFiscalization" value="true"/>
|
2 | Настройка, определяющая тип системы налогооблажения. |
Код системы налогообложения, его значение должно соответствовать режимам налогообложения, сконфигурированным в ККМ при регистрации.
Допустимые значения taxmode: |
<add key="TaxMode" value="2"/>
|
3 | Настройка, определяющая размер ставки налогооблажения. |
Код ставки налогообложения. Допустимые значения TaxRateCode: |
<add key="TaxRateCode" value="18"/>
|
4 | Тип отображения комиссии платежной системы в фискальном чеке. |
Работает начиная с релиза 15.8 если используется дополнительный модуль Выбор платежной системы (оплата картой в личном кабинете)
0 - увеличивает стоимость позиций по чеку на размер (%) комиссию |
<add key="ComissionShowModeInVoucher" value ="0"/>
|
5 | Наименование позиции в чеке для комиссии для <add key="ComissionShowModeInVoucher" value ="1"/>. |
Работает начиная с релиза 15.8 если используется дополнительный модуль Выбор платежной системы (оплата картой в личном кабинете)
По умолчанию - "Комиссия платежной системы" |
<add key="ComissionTextInVoucher" value ="Юнителлер комиcсия"/>
|
6 | Вид формирования чека |
Работает начиная с релиза 15.8 если используется дополнительный модуль Выбор платежной системы (оплата картой в личном кабинете)
true - разбить по услугам отдельно, |
<add key="VoucherShowDetails" value="false"/>
|
7 | Наименование услуги в чеке |
Работает начиная с релиза 15.8 если используется дополнительный модуль Выбор платежной системы (оплата картой в личном кабинете)
%dogovor% (не обязательно) - для вставки номера договора. |
<add key="VoucherServiceText" value="Туристическая услуга по договору %dogovor%"/>
|
Настройки задаются в секции <appSettings>
файла web.config
приложения Система онлайн платежей.
В зависимости от типа используемой фискализации прописывается соответствующая настройка.
№ | Описание | Значение | Настройка |
---|---|---|---|
1 | Настройка, определяющая адрес шлюза оплаты с включенной фискализацией v.1.0. |
<add key="unitellerLoginWithFiscalizationUrl" value="https://fpay.uniteller.ru/v1/pay"/>
| |
2 | Настройка, определяющая адрес шлюза оплаты с включенной фискализацией v.2.0. |
<add key="unitellerLoginWithFiscalizationUrl" value="https://fpay.uniteller.ru/v2/pay"/>
|
Отличие версии 2.0 от версии 1.0
Добавлены следующие возможности:
- Продажа подарочных карт, начисления бонусов-авансов, фискализация авансов.
- Частичная либо полная оплаты заказа подарочными картами, бонусами либо другими авансами.
- Возврат авансов и покупок, оплаченых частично либо полностью авансами.
- Отнесение авансов в доход.
- Осуществления агентских продаж.
- Настройка механизма «Защита от штрафов» для интерфейсов версии 2.0.
Добавлены следующие сценарии:
- Операция оплаты с использованием платежной формы (версия 2.0).
- Операция оплаты с использованием API (версия 2.0).
- Операция оплаты через ApplePay с использованием API (версия 2.0).
- Операция подтверждения преавторизации (версия 2.0).
- Операция отнесения авансов в доход с помощью API.
- Операция отнесения авансов в доход с помощью ЛК.
- Частичная или полная отмена платежа с фискализацией, выполненного через Uniteller (версия 2.0).
- Частичная или полная отмена платежа с фискализацией, выполненного через Uniteller через ЛК (версия 2.0).
- В сценарии регистрации заказа добавлена возможность регистрации для интерфейса 2.0.
- Добавлены программные интерфейсы для новых сценариев.
- Для интерфейсов версии 2.0 изменен формат фискального чека.
Формирование чека при использовании скрытой услуги "Операторский тур" в путевке
В случае если в путевке имеется скрытая услуга "Операторский тур", то чек формируется на весь тур одной суммой.
Платёжной системе Uniteller передаются следующие параметры:
1. Данные по поставщику: пустое поле.
2. Наименование продукта, который продаётся по чеку: передаётся название услуги класса "Операторский тур" + номер заявки.
3. Полный расчёт или предоплата: всегда передаётся "Полный расчёт".
4. Передаётся полная стоимость тура в рублях по внутреннему курсу на дату платежа.
В случае если в путевке отсутствует скрытая услуга "Операторский тур", то тур считается агентским. В таком случае чек формируется с детализацией по некоторым услугам с делением по поставщикам: отдельным блоком выводится страховка с отображением ее стоимости и отдельным блоком с комплексом остальных туристических услуг с ценой за вычетом страховки.
Платёжной системе Uniteller передаются следующие параметры:
Основной комплекс услуг:
1. Данные по поставщику на комплекс услуг: Передаётся полное название партнёра по услуге отель/круиз. + передаётся ИНН поставщика + телефон поставщика.
2. В наименование продукта передаётся текст: «Ком-кс тур. услуг» + Страна по путёвке + номер заявки.
3. Передаётся признак продавца: АГЕНТ.
4. Полный расчёт или предоплата: всегда передаётся "Полный расчёт".
5. Стоимость: Передаётся стоимость тура в рублях по внутреннему курсу, за вычетом стоимости страховки в рублях, по курсу ЦБ РФ.
Отдельным блоком выводится информация по страховке, если она есть в туре:
1. Данные по поставщику на комплекс услуг: Передаётся полное название партнёра по услуге Страховка + ИНН партнёра по страховке + телефон партнёра по страховке.
2. В наименование продукта передаётся текст: «Страховка» + Страна по услуге + номер заявки.
3. Передаётся признак продавца: АГЕНТ.
4. Полный расчёт или предоплата: всегда передаётся "Полный расчёт".
5. Стоимость: Передаётся сумма брутто стоимостей всех услуг страхования в рублях по курсу ЦБ РФ.
Так же передаём общую стоимость путёвки в рублях по внутреннему курсу.
Подготовка данных
Оплату можно произвести по путевкам, статус которых указан в настройке 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.
Работа в системе
Процесс оплаты путевки через платежную систему
- Создание заказа
Процесс оплаты начинается с выбора путевки и нажатия на ссылку «Оплатить» на странице заказа в MasterWeb, что инициирует создание заказа и переход пользователя на страницу электронной платежной системы. На этом этапе система автоматически формирует запрос к платежной системе, а в базе данных появляется запись о платеже с начальным статусом «Отправлено». Этот статус означает, что запрос на оплату был отправлен, но подтверждение еще не получено (в таблице Payments добавляются детали платежа в PaymentDetails с OperationStatus - 0). На этом создание заказа завершается, и пользователь временно покидает систему, чтобы завершить оплату на стороне платежного сервиса.
- Проверка оплаты
После того как пользователь завершает оплату на сайте платежной системы, происходит либо автоматический переход обратно в MasterWeb, либо запускается таймер для проверки статусов неоплаченных заказов. В обоих случаях система выполняет запрос к платежной системе для получения обновленного статуса. Если оплата прошла успешно, в базе данных создается полная запись о платеже, включая все детали и историю транзакций.
- Обновление данных путевки после оплаты
После подтверждения успешной оплаты система обновляет данные по путевке. В базе сохраняется информация о сумме оплаты, добавляется отметка о проведении платежа в истории путевки (в таблице Payments OperationStatus прописывается статус 1), а также, если это требуется, включаются дополнительные услуги, связанные с оплаченной путевкой.
Поиск путевки
Список заявок, забронированных в базе данных туроператора, доступен в экране «Список заказов» по адресу: http://ip-адрес сервера Мастер-Веб/MasterWebStandard/OrderList.aspx
.
Экран «Список заказов» доступен только для зарегистрированных и авторизованных в системе пользователей.
После ввода имени пользователя и пароля загрузится список заявок, оформленных на покупателя/агентство, указанного в поле «Партнер в БД МТ» при регистрации пользователя в Системе администрирования ПК «Мастер-Web», который сопоставлен имени текущего пользователя.
Для отбора путевок можно использовать фильтры:
- Поиск по номеру заявки;
- Поиск по фамилии туриста;
- Поиск по статусу документов на визу;
- Поиск по стране;
- Поиск по дате заявки;
- Дата тура с... и Дата тура по...;
- Путевки с наличием услуги «Виза»;
- Путевки с задолженностями.
Оплата путевки
Оплата доступна только для путевок имеющих статус, ключ которого указан в настройке paymentsStatuses.
Оплата путевок доступна в экранах «Список заявок» и «Информация о заказе».
Экран Список заказов доступен по адресу: http://ip-адрес сервера Мастер-Веб/MasterWebStandard/OrderList.aspx
.
Экран Информация о заказе доступен по адресу: http://ip-адрес сервера Мастер-Веб/MasterWebStandard/OrderInfo.aspx
.
Для оплаты путевки через систему электронных платежей «Uniteller» необходимо нажать ссылку Оплатить для нужной путевки (или кнопку Оплатить on-line в экране Информация о заказе), после чего пользователь попадает в экран, в котором указывается номер заказа и сумма платежа.
Сумма к оплате выводится в национальной валюте. При необходимости, она конвертируется по соответствующему курсу.
Для оплаты путевки необходимо ввести данные банковской карты, с помощью которой производится оплата:
После того, как все поля заполнены, нужно нажать на кнопку Оплатить, по нажатию которой загрузится экран Информация о платеже:
В поле Номер платежа записывается номер путевки в Мастер-Тур и уникальный идентификатор платежа, пример OM20901231@s@9865278c-85de-4d91-805d-1316a129c2fe.
Для того чтобы вернуться к списку заявок нужно нажать на кнопку Вернуться в магазин.
Если включена фискализация платежей, то чеки можно просмотреть по ссылке Просмотреть фискальные чеки, либо в личном кабинете «Uniteller» в разделе Фискальные чеки.
При успешном проведении платежа в базе автоматически создается проводка и у путевки прописывается сумма оплаты. Также в истории путевки добавляется запись об оплате через платежную систему «Uniteller».
Возможные ошибки при работе
Ошибка "Вы не авторизованы для выполнения операции"
Ошибка может возникать при настроенном шлюзе Uniteller по ссылке через localhost.
Для устранения ошибки необходимо поменять localhost на внешний адрес в сети Internet и попробовать осуществить оплату с другого компьютера.
Ошибка SecureChannelFailure
Появление такой ошибки может быть вызвано невозможностью установить TLS соединение, которое используется для передачи данных от платежной системы. Вызвано некорректными настройками брандмауэра/firewall или некорректными настройками сервера. В случае обнаружения закрытого канала TLS необходимо обратиться к администратору вашей интернет-сети.
On error occurred during signing in. Contact our manager System.Exception: Some error occured: SecureChannelFailure at Megatec.MasterWeb.PaymentSystem.Tinkoff.TinkoffGateway.Authorization(TinkoffParameters parameters, String token) in C:\Users\vmizh\Work\MasterTour\Source\MW\Megatec.MasterWeb.PaymentSystem.Tinkoff\TinkoffGateway.cs:line 430 at Megatec.MasterWeb.PaymentSystem.Tinkoff.TinkoffGateway.Login(IPaymentParameters parameters) in C:\Users\vmizh\Work\MasterTour\Source\MW\Megatec.MasterWeb.PaymentSystem.Tinkoff\TinkoffGateway.cs:line 106 at MasterWebStandard2.Payment.ParseRequest(String action, String orderCode)
Для проверки доступности TLS соединения необходимо выполнить следующую команду в командной строке или в оболочке Powershell, заменив ссылку на ссылку для необходимой системы оплаты:
Invoke-WebRequest -Uri https://securepay.tinkoff.ru
Вариант успешного ответа при доступном соединении
Invoke-WebRequest : Удаленный сервер возвратил ошибку: (404) Не найден. строка:1 знак:1 + Invoke-WebRequest -Uri https://securepay.tinkoff.ru
Вариант некорректного ответа при закрытом соединении
Invoke-WebRequest : The request was aborted: Could not create SSL/TLS secure channel. At line:1 char:2 + Invoke-WebRequest -Uri https://securepay.tinkoff.ru