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

Материал из Megatec
Перейти к: навигация, поиск
[досмотренная версия][досмотренная версия]
Строка 2: Строка 2:
  
 
Начиная с релиза 15.8 разработан сервис оплат (PaymentService), который нужен для проведения оплаты в ПК Мастер-Тур.<br />
 
Начиная с релиза 15.8 разработан сервис оплат (PaymentService), который нужен для проведения оплаты в ПК Мастер-Тур.<br />
В этот сервис постепенно будут добавляться новые методы из [[Мастер-Центр оплат.Мастер-Тур|Мастер-Центр оплат]]. На текущий момент реализован метод [[ДобавитьОплату]]
+
В этот сервис постепенно будут добавляться новые методы из [[Мастер-Центр оплат.Мастер-Тур|Мастер-Центр оплат]]. На текущий момент реализован метод [[ДобавитьОплатуРассчитывать]]
  
 
===Установка службы сервиса оплат===
 
===Установка службы сервиса оплат===
Строка 58: Строка 58:
  
 
===Работа службы сервиса оплат===
 
===Работа службы сервиса оплат===
====Добавить оплату====
+
====Добавить оплату (AddPayment)====
 
Метод производит внесение оплаты в базу данных Мастер-Тур.
 
Метод производит внесение оплаты в базу данных Мастер-Тур.
 
* Формат запроса:
 
* Формат запроса:
** ...
+
** POST .../PaymentService/AddPayment?
 +
 
 
* Принимаемые параметры ('''*''' – обязательный):
 
* Принимаемые параметры ('''*''' – обязательный):
 +
** '''PaymentOperation *''' – ключ типа операции (''PO_Id из таблицы PaymentOperations'')
 +
** '''PaymentSum *''' – сумма платежа в валюте платежа
 +
** '''CurrencyISOCode *''' – ISO код валюты (''RA_ISOCode из таблицы Rates'')
 
** '''DogovorKey *''' – ключ путевки
 
** '''DogovorKey *''' – ключ путевки
 
** '''DogovorCode''' – код путевки (отрабатывает, если не указан '''DogovorKey''')
 
** '''DogovorCode''' – код путевки (отрабатывает, если не указан '''DogovorKey''')
Строка 68: Строка 72:
 
** '''CourseDate''' – курс (если не указан, берется на дату платежа)
 
** '''CourseDate''' – курс (если не указан, берется на дату платежа)
 
** '''DocNumber''' – номер документа
 
** '''DocNumber''' – номер документа
** '''PaymentOperation *''' – ключ типа операции (''PO_Id из таблицы PaymentOperations'')
 
** '''PaymentSum *''' – сумма платежа в валюте платежа
 
** '''CurKey *''' – ключ валюты платежа (''RA_key из таблицы Rates'')
 
 
** '''ReceivedFrom''' – от кого получен платеж
 
** '''ReceivedFrom''' – от кого получен платеж
 
** '''PaymentFor''' – за что произведен платеж
 
** '''PaymentFor''' – за что произведен платеж
Строка 78: Строка 79:
 
* Возвращаемый результат:
 
* Возвращаемый результат:
 
** '''ключ платежа'''
 
** '''ключ платежа'''
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример
 +
<div class="mw-collapsible-content">
 +
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD>
 +
Вызов метода AddPayment
 +
<syntaxhighlight lang="java" enclose="div">
 +
POST http://localhost:5010/PaymentService/AddPayment?PaymentOperation=1&PaymentSum=100&CurrencyISOCode=RUB&DogovorCode=IS28070006&NoDetails=false? HTTP/1.1
 +
</syntaxhighlight>
 +
Возвращаемый результат метода AddPayment
 +
<syntaxhighlight lang="java" enclose="div">
 +
4455
 +
</syntaxhighlight>
 +
</TD></TR></TABLE>
 +
</div></div><br />

Версия 13:21, 28 июля 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 от имени администратора. При этом будут удалены правила для входящих подключений.

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

Добавить оплату (AddPayment)

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

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

Вызов метода AddPayment

POST http://localhost:5010/PaymentService/AddPayment?PaymentOperation=1&PaymentSum=100&CurrencyISOCode=RUB&DogovorCode=IS28070006&NoDetails=false? HTTP/1.1

Возвращаемый результат метода AddPayment

4455