Мастер-Тур(15):PaymentService — различия между версиями

Материал из Megatec
Перейти к: навигация, поиск
[досмотренная версия][досмотренная версия]
(Новая страница: «===Введение=== Начиная с релиза 15.8 разработан сервис оплат (PaymentService), который нужен для про…»)
 
Строка 2: Строка 2:
  
 
Начиная с релиза 15.8 разработан сервис оплат (PaymentService), который нужен для проведения оплаты в ПК Мастер-Тур.<br />
 
Начиная с релиза 15.8 разработан сервис оплат (PaymentService), который нужен для проведения оплаты в ПК Мастер-Тур.<br />
В этот сервис постепенно будут добавляться новые методы из [[Мастер-Центр оплат|Мастер-Центр оплат.Мастер-Тур]]. На текущий момент реализован метод [[ДобавитьОплату]]
+
В этот сервис постепенно будут добавляться новые методы из [[Мастер-Центр оплат.Мастер-Тур|Мастер-Центр оплат]]. На текущий момент реализован метод [[ДобавитьОплату]]
  
 
===Установка службы сервиса оплат===
 
===Установка службы сервиса оплат===
  
* Скопировать папку ''PaymentService'' из дистрибутива на сервер. Служба QuotesService должна устанавливаться на компьютере, имеющем доступ к серверу баз данных, или на компьютере, который сам является сервером баз данных (установлен MS SQL Server).
+
* Скопировать папку ''PaymentService'' из дистрибутива на сервер. Служба PaymentService должна устанавливаться на компьютере, имеющем доступ к серверу баз данных, или на компьютере, который сам является сервером баз данных (установлен MS SQL Server).
* Перед установкой службы сервиса квот необходимо настроить конфигурационный файл ''Megatec.QuotesService.dll.config''.
+
* Перед установкой службы сервиса оплат необходимо настроить конфигурационный файл ''appsettings.json''.
  
 
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
 
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
Строка 20: Строка 20:
  
 
| 1
 
| 1
| Название службы
 
| Задается название службы. По умолчанию служба будет создана с названием ''MegatecQuotesService''.
 
| <syntaxhighlight lang="xml" enclose="div">
 
<add key="serviceName" value="MegatecQuotesService"/>
 
</syntaxhighlight>
 
 
|- style="vertical-align:text-top"
 
 
| 2
 
 
| Строка подключения
 
| Строка подключения
| Строка подключения к базе данных ПК «Мастер-Тур» указывается в секции ''appSettings''.
+
| Строка подключения к базе данных ПК «Мастер-Тур» указывается в секции ''ConnectionStrings''.
 
<font style="color:red">''Внимание!''</font><br />
 
<font style="color:red">''Внимание!''</font><br />
 
* Обратите внимание, что в целях безопасности необходимо ограничить доступ к этому конфигурационному файлу. Он должен быть доступен только для данного приложения.
 
* Обратите внимание, что в целях безопасности необходимо ограничить доступ к этому конфигурационному файлу. Он должен быть доступен только для данного приложения.
Строка 36: Строка 27:
 
* Пароль пользователей системы, от которых работают службы и приложения, не должен содержать ни одного из следующих символов: '''< > " ' &'''
 
* Пароль пользователей системы, от которых работают службы и приложения, не должен содержать ни одного из следующих символов: '''< > " ' &'''
 
| <syntaxhighlight lang="xml" enclose="div">
 
| <syntaxhighlight lang="xml" enclose="div">
<add key="connectionString" value="Data Source=Server; Initial Catalog=Database; User Id=User; Password=Password; Application Name=QuotasService" />
+
"MtDatabase": "Server=Server; Database=Database; User Id=User; Password=Password;"
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
  
| 3
+
| 2
| Логирование
+
| Путь к службе сервиса оплат
| Путь к лог-файлам задается в секции ''Loggers path''.
+
| По умолчанию служба сервиса оплат использует порт ''5010''. Рекомендуется использование порта по умолчанию.<br />
| <syntaxhighlight lang="xml" enclose="div">
 
<Loggers path="Logs\">
 
<Logger level="ALL" name="ExceptionLogger" console="true" />
 
<Logger level="ALL" name="TourSearch" console="true" />
 
<Logger level="ALL" name="TourSearchCache" console="true" />
 
<Logger level="ALL" name="DictionaryCacheLog" console="true" />
 
<Logger level="OFF" name="RequestLogger" console="true" />
 
</Loggers>
 
</syntaxhighlight>
 
 
 
|- style="vertical-align:text-top"
 
 
 
| 5
 
| Путь к службе сервиса квотирования
 
| По умолчанию служба сервиса квотирования использует порт ''5000''. Рекомендуется использование порта по умолчанию.<br />
 
 
<font style="color:red">''Внимание!''</font><br />
 
<font style="color:red">''Внимание!''</font><br />
 
При смене порта необходимо также изменить порт в установочном скрипте ''_Install.bat''.
 
При смене порта необходимо также изменить порт в установочном скрипте ''_Install.bat''.
 
| <syntaxhighlight lang="xml" enclose="div">
 
| <syntaxhighlight lang="xml" enclose="div">
<add key="serviceAddress" value="http://*:5000/QuotasService/" />
+
"applicationUrl": "http://*:5010",
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
  
| 6
+
| 3
| Множитель используемых ядер процессора при работе сервиса квотирования.
+
| Путь к службе MTS
| Настройка предназначена для указания множителя физического количества потоков машины, которые будут обслуживать функциональность службы сервиса квотирования.<br />
+
| Необходимо указать адрес и порт к установленной службе MTS (для подписи проводимых платежей)<br />
В качестве примера:<br />
 
физических ядер – 4<br />
 
значение настройки – 0,8<br />
 
результат перемножения – 3, т.е. всего максимум 3 потока будут обслуживать данную функциональность<br />
 
 
| <syntaxhighlight lang="xml" enclose="div">
 
| <syntaxhighlight lang="xml" enclose="div">
<add key="serviceCoresKoeff" value="0,8" />
+
"SoapServiceAddress": "http://localhost/",
 +
"SoapServicePort": "80",
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
|}
  
|- style="vertical-align:text-top"
+
* Установка осуществляется запуском скрипта ''_Install.cmd'' от имени администратора. [[Файл:Bm135.png|Запуск от имени администратора]]
 
+
* При установке в Брандмауэре Windows создаются правила для входящих подключений для открытия порта PaymentService.
| 7
+
* В Службах Windows добавляется служба ''PaymentService''.<br />
| Множитель используемых ядер процессора при обновлении службы сервиса квотирования.<br />
+
* Для удаления службы необходимо запустить скрипт ''_UnInstall.cmd'' от имени администратора. При этом будут удалены правила для входящих подключений.
| Процент от общего количества ядер процессора, которые будут использоваться при обновлении справочных данных. К примеру, в 20-ти ядерном процессоре при значении настройки "0,8" будет использоваться 80 % мощности, то есть 16 ядер.
 
| <syntaxhighlight lang="xml" enclose="div">
 
<add key="serviceRecalcCoresKoeff" value="0,8" />
 
</syntaxhighlight>
 
 
 
|- style="vertical-align:text-top"
 
 
 
| 8
 
| Множитель используемых ядер процессора при инициализации службы сервиса квотирования.<br />
 
| Процент от общего количества ядер процессора, которые будут использоваться при инициализации справочных данных. К примеру, в 20-ти ядерном процессоре при значении настройки "0,9" будет использоваться 90 % мощности, то есть 18 ядер.
 
| <syntaxhighlight lang="xml" enclose="div">
 
<add key="serviceInitCoresKoeff" value="0,9" />
 
</syntaxhighlight>
 
 
 
|- style="vertical-align:text-top"
 
 
 
| 9
 
| Настройка для работы службы сервиса квотирования через https <br />
 
|
 
* certFile – название файла сертификата с форматом файла
 
* certPassword – пароль к сертификату
 
* certStoreLocation – каким образом установлен сертификат: для текущего пользователя (значение ''CurrentUser'') или для текущей машины (значение ''LocalMachine''). Подробное описание см. в [[Мастер-Тур(15):Настройки системы#Настройка работы системы по https|настройках работы системы по https]]
 
| <syntaxhighlight lang="xml" enclose="div">
 
<add key="certFile" value="" />
 
<add key="certPassword" value="" />
 
<add key="certStoreLocation" value="CurrentUser" />
 
</syntaxhighlight>
 
|}
 
  
* Установка осуществляется запуском скрипта ''_Install.bat'' от имени администратора. [[Файл:Bm135.png|Запуск от имени администратора]]
+
===Работа службы сервиса оплат===
* При установке в Брандмауэре Windows создаются правила для входящих подключений для открытия порта QuotesService. [[Файл:Mb_354.png‎|Правила для входящих подключений QuotesService]]
+
====Добавить оплату====
* В Службах Windows добавляется служба ''MegatecQuotesService''.<br />
+
Метод производит внесение оплаты в базу данных Мастер-Тур.
[[Файл:mb_353.png|MegatecQuotesService]]<br />
+
* Формат запроса:
 +
** ...
 +
* Принимаемые параметры ('''*''' – обязательный):
 +
** '''DogovorKey *''' – ключ путевки
 +
** '''DogovorCode''' – код путевки (отрабатывает, если не указан '''DogovorKey''')
 +
** '''PaymentDate *''' – дата платежа (в формате ''yyyy-mm-dd''
 +
** '''CourseDate''' – курс (если не указан, берется на дату платежа)
 +
** '''DocNumber''' – номер документа
 +
** '''PaymentOperation *''' – ключ типа операции (''PO_Id из таблицы PaymentOperations'')
 +
** '''PaymentSum *''' – сумма платежа в валюте платежа
 +
** '''CurKey *''' – ключ валюты платежа (''RA_key из таблицы Rates'')
 +
** '''ReceivedFrom''' – от кого получен платеж
 +
** '''PaymentFor''' – за что произведен платеж
 +
** '''PartnerKey''' – если платеж производиться партнеру, то этот ключ определяет конкретного партнера
 +
** '''NoDetails''' – детализация платежа (по умолчанию - ''false'', детализация платежа будет создана)
  
* Для удаления службы необходимо запустить скрипт ''_UnInstall.bat'' от имени администратора. При этом будут удалены правила для входящих подключений.
+
* Возвращаемый результат:
 +
** '''ключ платежа'''

Версия 11:21, 26 июля 2021

Введение

Начиная с релиза 15.8 разработан сервис оплат (PaymentService), который нужен для проведения оплаты в ПК Мастер-Тур.
В этот сервис постепенно будут добавляться новые методы из Мастер-Центр оплат. На текущий момент реализован метод ДобавитьОплату

Установка службы сервиса оплат

  • Скопировать папку PaymentService из дистрибутива на сервер. Служба PaymentService должна устанавливаться на компьютере, имеющем доступ к серверу баз данных, или на компьютере, который сам является сервером баз данных (установлен MS SQL Server).
  • Перед установкой службы сервиса оплат необходимо настроить конфигурационный файл appsettings.json.
Название Описание Настройка
1 Строка подключения Строка подключения к базе данных ПК «Мастер-Тур» указывается в секции ConnectionStrings.

Внимание!

  • Обратите внимание, что в целях безопасности необходимо ограничить доступ к этому конфигурационному файлу. Он должен быть доступен только для данного приложения.
  • Для корректной работы в поле User Id достаточно указать пользователя, привязанного к группе avServices в модуле Мастер-Администратор (обрабатывается с релиза 15.6).
  • Пароль пользователей системы, от которых работают службы и приложения, не должен содержать ни одного из следующих символов: < > " ' &
"MtDatabase": "Server=Server; Database=Database; User Id=User; Password=Password;"
2 Путь к службе сервиса оплат По умолчанию служба сервиса оплат использует порт 5010. Рекомендуется использование порта по умолчанию.

Внимание!
При смене порта необходимо также изменить порт в установочном скрипте _Install.bat.

"applicationUrl": "http://*:5010",
3 Путь к службе MTS Необходимо указать адрес и порт к установленной службе MTS (для подписи проводимых платежей)
"SoapServiceAddress": "http://localhost/",
"SoapServicePort": "80",
  • Установка осуществляется запуском скрипта _Install.cmd от имени администратора. Запуск от имени администратора
  • При установке в Брандмауэре Windows создаются правила для входящих подключений для открытия порта PaymentService.
  • В Службах Windows добавляется служба PaymentService.
  • Для удаления службы необходимо запустить скрипт _UnInstall.cmd от имени администратора. При этом будут удалены правила для входящих подключений.

Работа службы сервиса оплат

Добавить оплату

Метод производит внесение оплаты в базу данных Мастер-Тур.

  • Формат запроса:
    • ...
  • Принимаемые параметры (* – обязательный):
    • DogovorKey * – ключ путевки
    • DogovorCode – код путевки (отрабатывает, если не указан DogovorKey)
    • PaymentDate * – дата платежа (в формате yyyy-mm-dd
    • CourseDate – курс (если не указан, берется на дату платежа)
    • DocNumber – номер документа
    • PaymentOperation * – ключ типа операции (PO_Id из таблицы PaymentOperations)
    • PaymentSum * – сумма платежа в валюте платежа
    • CurKey * – ключ валюты платежа (RA_key из таблицы Rates)
    • ReceivedFrom – от кого получен платеж
    • PaymentFor – за что произведен платеж
    • PartnerKey – если платеж производиться партнеру, то этот ключ определяет конкретного партнера
    • NoDetails – детализация платежа (по умолчанию - false, детализация платежа будет создана)
  • Возвращаемый результат:
    • ключ платежа