Платежные web-сервисы: Сервис интеграции с платежной системой (оплата через терминалы)
Версия статьи от 13-06-2013. Для перехода на версию статьи, соответствующую используемой Вами версии программы, нажмите ссылку в таблице ниже:
Более ранние версии: |
Содержание
Введение
Данный модуль предназначен для проверки заявки и проведения платежа через платежную систему в базу туроператора. Модуль совместим со следующими платежными системами:
- TourPay
- Лидер
- PayTravel
Установка
Для установки Сервиса для интеграции с платежной системой нужно создать директорию Finance в каталоге c:/inetpub/wwwroot/
(корневом каталоге IIS) и выложить туда распакованные файлы из архива mw-finance-2007.2.XX.XXXX.zip
В управлении IIS необходимо создать виртуальный каталог для папки Finance.
Создание виртуального каталога
По умолчанию корневым каталогом IIS является C:/Inetpub/wwwroot
. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия:
1 Зайти в Пуск (Start) → Настройки (Settings) → Панель управления (Control Panel) → Администрирование (Administrative Tools)
2 Диспетчер служб IIS
3 В открывшемся дереве каталогов выбрать Web Sites – Default Web Site. В открывшемся списке найти папку, для которой нужно создать виртуальный каталог, кликнуть по ней правой кнопкой мыши и выбрать Преобразовать в приложение
4 В открывшемся окне нужно нажать кнопку ОК
Подключение к базе данных ПК «Мастер-Тур»
В файле web.config
, расположенном в папке Finance пропишите необходимые параметры подключения (красным цветом выделены значения, которые необходимо ввести).
Строка подключения к базе данных ПК «Мастер-Тур»:
<add key = "connectionString" value = "Data Source=ip-адрес сервера базы данных ПК «Мастер-Тур»;Initial Catalog=название базы данных ПК «Мастер-Тур;User ID=логин пользователя ПК «Мастер-Тур»;Password=пароль пользователя ПК «Мастер-Тур»"/>
Настройка
После установки сервис для интеграции (например «Сервис для интеграции с платежной системой Название_Системы») доступен по адресу
http://ip-адрес сервера Мастер-Веб/Finance/FinanceService.asmx
.
Настройки в файле WEB.CONFIG
Дополнительные настройки, задаются в файле web.config
, находящемся в папке Finance.
№ |
Описание |
Значение |
Настройка |
1 |
Определяет тип платежной операции. |
Идентификатор (PO_Id) типа операции из таблицы PaymentOperations. |
<add key="PaymentOperationId" value=" 1 "/> |
2 |
Определяет время действия идентификатора аутентифации (token) |
Время действия (в минутах) |
<add key="TokenExpireTime" value=" 10 "/> |
3 |
Включает режим записи нового платежа в систему Мастер-Финанс. При этом в Мастер-Тур платежи не сохраняются. |
true - включает запись платежей в Мастер-Финанс; false - выключает запись платежей в Мастер-Финанс. |
<add key="AddPaymentsToMasterFinance" value=" true "/> |
4 |
Определяет тип платежной системы при сохранении платежей в систему Мастер-Финанс (столбец DP_PAYMENTSSYS таблицы FIN_DOGOVOR_PAID). |
Название платежной системы |
<add key="PaymentSystem" value=" Лидер "/> |
5 |
Настройка, определяющая курс валют на какую дату должен подбираться для пересчета суммы к оплате |
orderdate — дата оформления заявки; today — курс на текущую дату; confirmdate — курс на дату подтверждения заявки (если подтверждения путевки еще не было, либо курс на дату подтверждения не заведен, то будет отображаться курс на текущую дату); fixationdate — курс на дату фиксации. |
<add key="courseExchangeDate" value="orderdate"/> |
Подготовка данных
Проверка заявок и проведение платежа через платежную систему в базу туроператора осуществляется по оформленным путевкам. У путевки должен быть зафиксирован курс валюты, т.е. в истории путевки должно присутствовать сообщение "Фиксация курса".
Работа в системе
Аутентификация (метод GetUserToken)
Метод возвращает строку - идентификатор аутентификации, который используется для подтверждения авторизации при вызове методов web-сервисов.
Сигнатура метода
public TokenResult GetUserToken(string userLogin, string userPassword)
Описание принимаемых методом параметров
- userLogin - имя пользователя;
- userPassword - пароль.
Возвращаемые значения
Метод возвращает результат своей работы в виде класса TokenResult. Корректность результата проверяется значением поля ErrorCode данного класса:
- 0 - результат корректный;
- 2 – внутренняя ошибка;
- 5 - неправильный логин или пароль.
Описание класса приведено ниже:
public class TokenResult { public int ErrorCode; public string Token; }
где
- ErrorCode - код результата;
- Token - идентификатор аутентификации.
Проверка заявки (метод CheckReservation)
Описание метода
Данный метод предназначен для проверки наличия заявки в БД и определения ее стоимости.
Сигнатура метода
public AmountSum CheckReservation(string userToken, string dgCode)
Описание принимаемых методом параметров
- userToken - идентификатор аутентификации, полученный при вызове метода GetUserToken;
- dgCode - строковая переменная, представляющая собой код проверяемой путевки.
Возвращаемые значения
Метод возвращает результат своей работы в виде класса AmountSum. Корректность результата проверяется значением поля ErrorCode данного класса:
- 0 – результат корректный, в полях возвращены корректные значения;
- 1 – заявка не найдена в БД;
- 2 – внутренняя ошибка;
- 3 - заявка была аннулирована;
- 4 - путевка уже оплачена;
- 6 - некорректный или устаревший идентификатор аутентификации(token).
Ниже приводится описание класса.
public class AmountSum { public double Amount public string RateCode public double NationalCurrencyPrice public string NationalRateCode public int ErrorCode public int FilialKey public DateTime BeginTourDate public DateTime EndTourDate }
- Amount - сумма к оплате в валюте тура;
- RateCode - iso-код валюты тура;
- NationalCurrencyPrice - сумма к оплате в национальной валюте;
- NationalRateCode - iso-код национальной валюты;
- ErrorCode - код результата;
- FilialKey - ключ филиала, который создал заявку;
- BeginTourDate - дата начала тура;
- EndTourDate - дата окончания тура.
Проведение платежа по заявке (метод CreatePayment)
Описание метода
Данный метод предназначен для создания платежа по путевке в финансовом блоке ПК «Мастер-Тур».
Сигнатура метода
public int CreatePayment(string userToken, DateTime date, Decimal sum, string currencyIsoCode, string reservationCode, string paymentId)
Описание принимаемых методом параметров
- userToken - идентификатор аутентифкации;
- date – дата проведения платежа;
- sum – сумма платежа;
- currencyIsoCode – ISO-код валюты, в которой осуществляется платеж;
- reservationCode – номер путевки;
- paymentId – идентификатор платежа во внешней системе.
Возвращаемые значения
Данный метод возвращает целочисленное значение обозначающее результат выполнения операции:
- 0 – операция выполнена успешно, платеж проведен;
- 1 – заявка не найдена в БД;
- 2 – внутренняя ошибка при создании платежа;
- 3 - заявка была аннулирована;
- 4 - путевка уже оплачена;
- 6 - некорректный или устаревший идентификатор аутентификации(token).
При этом в БД создается платеж по выбранной путевке.