Мастер-Тур(15):PaymentService — различия между версиями
[досмотренная версия] | [досмотренная версия] |
Biryukov (обсуждение | вклад) |
Biryukov (обсуждение | вклад) |
||
Строка 134: | Строка 134: | ||
} | } | ||
] | ] | ||
+ | </syntaxhighlight> | ||
+ | </TD></TR></TABLE> | ||
+ | </div></div><br /> | ||
+ | |||
+ | ====Финансовая информация по турам (TourFinInfo)==== | ||
+ | Метод возвращает детальную информацию по услугам и оплатам по туру. | ||
+ | * Формат запроса: | ||
+ | ** GET .../PaymentService/TourFinInfo? | ||
+ | |||
+ | * Принимаемые параметры ('''*''' – обязательный): | ||
+ | ** '''tourProgramsId *''' – ключ программы тура | ||
+ | ** '''tourDate *''' – дата заезда по туру в формате yyyy.mm.dd | ||
+ | |||
+ | * Возвращаемый результат: | ||
+ | ** '''tourName''' – название программы тура | ||
+ | ** '''arrivalDate''' – дата заезда по туру | ||
+ | ** '''touristCount''' – общее количество туристов по путевкам | ||
+ | ** '''payed''' – сумма оплат от покупателей по всем путевкам в национальной валюте | ||
+ | ** '''services''' – массив услуг (группировка по классу услуг) | ||
+ | *** '''serviceType''' – название класса услуги | ||
+ | *** '''serviceName''' – название услуги | ||
+ | *** '''serviceTouristCount''' – количество туристов, пользующихся услугой по всем путевкам | ||
+ | *** '''partner''' – поставщик по услуге | ||
+ | *** '''netto''' – стоимость нетто по всем путевкам по каждой услуге | ||
+ | *** '''brutto''' – стоимость брутто по всем путевкам по каждой услуге | ||
+ | |||
+ | <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> | ||
+ | Вызов метода TourFinInfo | ||
+ | <syntaxhighlight lang="java" enclose="div"> | ||
+ | GET http://localhost:5010/PaymentService/TourFinInfo?tourProgramsId=100001232&tourDate=2022.04.05 | ||
+ | </syntaxhighlight> | ||
+ | Возвращаемый результат метода TourFinInfo | ||
+ | <syntaxhighlight lang="java" enclose="div"> | ||
+ | { | ||
+ | "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" | ||
+ | } | ||
+ | ] | ||
+ | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</TD></TR></TABLE> | </TD></TR></TABLE> |
Версия 14:24, 22 апреля 2022
Содержание
Введение
Начиная с релиза 15.8 разработан сервис оплат (PaymentService), который нужен для проведения оплаты в ПК Мастер-Тур.
В этот сервис постепенно будут добавляться новые методы из Мастер-Центр оплат. На текущий момент реализован метод ДобавитьОплатуРассчитывать
Установка службы сервиса оплат
- Скопировать папку PaymentService из дистрибутива на сервер. Служба PaymentService должна устанавливаться на компьютере, имеющем доступ к серверу баз данных, или на компьютере, который сам является сервером баз данных (установлен MS SQL Server).
- Перед установкой службы сервиса оплат необходимо настроить конфигурационный файл appsettings.json.
№ | Название | Описание | Настройка |
---|---|---|---|
1 | Строка подключения | Строка подключения к базе данных ПК «Мастер-Тур» указывается в секции ConnectionStrings.
Внимание!
|
"MtDatabase": "Server=Server; Database=Database; User Id=User; Password=Password;"
|
2 | Путь к службе сервиса оплат | По умолчанию служба сервиса оплат использует порт 5010 и название PaymentService. Рекомендуется использование значений по умолчанию. Внимание! |
"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"
}
]
}
|