Мастер-Тур(15):PaymentService

Материал из Megatec
Перейти к: навигация, поиск

Введение

Начиная с релиза 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 и название PaymentService. Рекомендуется использование значений по умолчанию.

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

"applicationUrl": "http://*:5010",
"ApplicationName": "PaymentService",
3 Путь к службе MTS Необходимо указать адрес и порт к установленной службе MTS (для подписи проводимых платежей)
"SoapServiceAddress": "http://localhost:80/MTS",
  • Установка осуществляется запуском скрипта _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


Список прошедших заездов по турам (TourList)

Метод возвращает список туров, по которым в заданные даты были совершены заезды (то есть, есть оформленные путевки).

  • Формат запроса:
    • GET .../PaymentService/TourList?
  • Принимаемые параметры (* – обязательный):
    • dateFrom * – дата заезда с в формате yyyy.mm.dd
    • dateTo * – дата заезда по в формате yyyy.mm.dd
  • Возвращаемый результат:
    • tourProgramsId – ключ программы тура
    • tourName – название программы тура
    • dateBegin – массив дат заездов по указанному туру в заданный период
Пример

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

GET http://localhost:5010/PaymentService/TourList?dateFrom=2022.04.01&dateTo=2022.04.10

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

[{
        "tourProgramsId": 100001232,
        "tourName": "Общая проверка системы",
        "dateBegin": [
            "03.04.2022",
            "05.04.2022"
        ]
    }, {
        "tourProgramsId": 100001247,
        "tourName": "Тур в Кострому",
        "dateBegin": [
            "01.04.2022",
            "03.04.2022",
            "05.04.2022"
         ]
    }
]


Финансовая информация по турам (TourFinInfo)

Метод возвращает детальную информацию по услугам и оплатам по туру.

  • Формат запроса:
    • GET .../PaymentService/TourFinInfo?
  • Принимаемые параметры (* – обязательный):
    • tourProgramsId * – ключ программы тура
    • tourDate * – дата заезда по туру в формате yyyy.mm.dd
  • Возвращаемый результат:
    • tourName – название программы тура
    • arrivalDate – дата заезда по туру
    • touristCount – общее количество туристов по путевкам
    • payed – сумма оплат от покупателей по всем путевкам в национальной валюте
    • services – массив услуг (группировка по классу услуг)
      • serviceType – название класса услуги
      • serviceName – название услуги
      • serviceTouristCount – количество туристов, пользующихся услугой по всем путевкам
      • partner – поставщик по услуге
      • netto – стоимость нетто по всем путевкам по каждой услуге
      • brutto – стоимость брутто по всем путевкам по каждой услуге
Пример

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

GET http://localhost:5010/PaymentService/TourFinInfo?tourProgramsId=100001232&tourDate=2022.04.05

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

{
    "tourName": "Общая проверка системы",
    "arrivalDate": "05.04.2022",
    "touristCount": 50,
    "payed": "350400 RUB",
    "services": [{
            "serviceType": "Авиаперелет",
            "serviceName": "А_П::Варшава/Канкун/3G5656, WAW-VIE, 05:50-08:50/C Бизнес класс",
            "serviceTouristCount": 50,
            "partner": "Партнер",
            "netto": "100000,00 RUB",
            "brutto": "120000,00RUB"
        }, 
            "serviceType": "Отель/Круиз",
            "serviceName": "HOTEL::Канкун/Sheraton-1*,7 ночей/Double(Standart),2 взр./AI Шведский стол",
            "serviceTouristCount": 50,
            "partner": "Партнер",
            "netto": "200000,00 RUB",
            "brutto": "230000,00 RUB"
        }, 
            "serviceType": "Авиаперелет",
            "serviceName": "А_П::Канкун/Варшава/AF3444, VIE-WAW, 15:50-18:50/C Бизнес класс",
            "serviceTouristCount": 50,
            "partner": "Партнер",
            "netto": "0,00 RUB",
            "brutto": "0,00 RUB"
        }
    ]
}