Платежные web-сервисы: Сервис интеграции с платежной системой (оплата через терминалы) — различия между версиями
[досмотренная версия] | [досмотренная версия] |
Achkasov (обсуждение | вклад) (→Настройки в файле WEB.CONFIG) |
Achkasov (обсуждение | вклад) |
||
Строка 3: | Строка 3: | ||
<tr> | <tr> | ||
<td> | <td> | ||
− | Более ранние версии:< | + | Более ранние версии:<br /> |
− | [http://wiki.megatec.ru/index.php?title=Мастер-Web:_Дополнительный_модуль_Сервис_для_интеграции_с_платежной_системой_(Прием_наличных_через_платежный_терминал)&oldid=7596 До 2009.2.12 включительно]< | + | [http://wiki.megatec.ru/index.php?title=Мастер-Web:_Дополнительный_модуль_Сервис_для_интеграции_с_платежной_системой_(Прием_наличных_через_платежный_терминал)&oldid=7596 До 2009.2.12 включительно]<br /> |
− | [http://wiki.megatec.ru/index.php?title=Мастер-Web:_Дополнительный_модуль_Сервис_для_интеграции_с_платежной_системой_(Прием_наличных_через_платежный_терминал)&oldid=8105 До 2009.2.15 включительно]< | + | [http://wiki.megatec.ru/index.php?title=Мастер-Web:_Дополнительный_модуль_Сервис_для_интеграции_с_платежной_системой_(Прием_наличных_через_платежный_терминал)&oldid=8105 До 2009.2.15 включительно]<br /> |
+ | [http://wiki.megatec.ru/index.php?title=Мастер-Web:Дополнительный_модуль_Сервис_для_интеграции_с_платежной_системой_(Прием_наличных_через_платежный_терминал)&stableid=11202 До 2009.2.19 включительно]<br /> | ||
</td> | </td> | ||
</tr> | </tr> | ||
</table> | </table> | ||
− | <br> | + | <br /> |
==Введение== | ==Введение== | ||
Данный модуль предназначен для проверки заявки и проведения платежа через платежную систему в базу туроператора. | Данный модуль предназначен для проверки заявки и проведения платежа через платежную систему в базу туроператора. | ||
Модуль совместим со следующими платежными системами: | Модуль совместим со следующими платежными системами: | ||
− | *TourPay | + | * '''TourPay''';<br /> |
− | *Лидер | + | * '''Лидер'''.<br /> |
==Установка== | ==Установка== | ||
− | Для установки Сервиса для интеграции с платежной системой нужно создать директорию Finance в каталоге c:/inetpub/wwwroot/ (корневом каталоге IIS) | + | Для установки '''Сервиса для интеграции с платежной системой''' нужно создать директорию '''Finance''' в каталоге <code>c:/inetpub/wwwroot/</code> (корневом каталоге '''IIS''') и выложить туда распакованные файлы из архива <code>mw-finance-2007.2.XX.XXXX.zip</code> |
− | В управлении IIS необходимо создать виртуальный каталог для папки Finance. | + | В управлении '''IIS''' необходимо создать виртуальный каталог для папки '''Finance'''. |
===Создание виртуального каталога=== | ===Создание виртуального каталога=== | ||
− | По умолчанию корневым каталогом IIS является C:/Inetpub/wwwroot. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия: | + | По умолчанию корневым каталогом '''IIS''' является <code>C:/Inetpub/wwwroot</code>. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия:<br /> |
− | + | 1 Зайти в '''Пуск''' ('''Start''') → '''Настройки''' ('''Settings''') → '''Панель управления''' ('''Control Panel''') → '''Администрирование''' ('''Administrative Tools''') | |
− | + | [[Файл: am_745.png|x500px|Панель управления]]<br /> | |
− | [[Файл: | + | <br /> |
− | + | 2 '''Диспетчер служб IIS'''<br /> | |
− | < | + | [[Файл: am_746.png|x500px|Администрирование - Диспетчер служб IIS]]<br /> |
− | [[Файл: | + | <br /> |
− | + | 3 В открывшемся дереве каталогов выбрать '''Web Sites – Default Web Site'''. В открывшемся списке найти ''папку'', для которой нужно создать ''виртуальный каталог'', кликнуть по ней правой кнопкой мыши и выбрать '''Преобразовать в приложение'''<br /> | |
− | < | + | [[Файл: am_747.png|x500px|Преобразовать в приложение]]<br /> |
− | [[Файл: | + | <br /> |
− | + | 4 В открывшемся окне нужно нажать кнопку '''ОК'''<br /> | |
− | < | + | [[Файл: am_748.png|x500px|Добавить приложение]]<br /> |
− | [[Файл: | + | <br /> |
===Подключение к базе данных ПК «Мастер-Тур»=== | ===Подключение к базе данных ПК «Мастер-Тур»=== | ||
− | В файле web.config, расположенном в папке Finance пропишите необходимые параметры подключения ( | + | В файле <code>web.config</code>, расположенном в папке '''Finance''' пропишите необходимые параметры подключения (<span style="color:red">красным цветом</span> выделены значения, которые необходимо ввести). |
− | Строка подключения к базе данных ПК «Мастер-Тур»: | + | Строка подключения к базе данных ПК «Мастер-Тур»:<br /> |
− | <add key = "connectionString" value = "Data Source=ip-адрес сервера базы данных ПК | + | <code><add key = "connectionString" value = "Data Source=<span style="color:red">ip-адрес сервера базы данных ПК «Мастер-Тур»</span>;Initial Catalog=<span style="color:red">название базы данных ПК «Мастер-Тур</span>;User ID=<span style="color:red">логин пользователя ПК «Мастер-Тур»</span>;Password=<span style="color:red">пароль пользователя ПК «Мастер-Тур»</span>"/></code> |
==Настройка== | ==Настройка== | ||
− | После установки сервис для интеграции (например «Сервис для интеграции с платежной системой Название_Системы») доступен по адресу <nowiki>http://ip-адрес сервера Мастер-Веб/Finance/FinanceService.asmx</nowiki>. | + | После установки ''сервис для интеграции'' (например «Сервис для интеграции с платежной системой Название_Системы») доступен по адресу<br /> |
+ | <code><nowiki>http://ip-адрес сервера Мастер-Веб/Finance/FinanceService.asmx</nowiki></code>. | ||
===Настройки в файле WEB.CONFIG=== | ===Настройки в файле WEB.CONFIG=== | ||
− | Дополнительные настройки, задаются в файле web.config, находящемся в папке Finance. | + | Дополнительные настройки, задаются в файле <code>web.config</code>, находящемся в папке '''Finance'''. |
− | <table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=645 | + | |
+ | <table class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0" width="645" | ||
style='width:483.9pt;margin-left:-.75pt;border-collapse:collapse'> | style='width:483.9pt;margin-left:-.75pt;border-collapse:collapse'> | ||
− | + | <tr> | |
− | + | <td width='46' valign='top' style='width:34.25pt;border:solid black 1.0pt; | |
border-right:none;padding:0cm 5.4pt 0cm 5.4pt'> | border-right:none;padding:0cm 5.4pt 0cm 5.4pt'> | ||
− | + | <p class='TitleTable' style='layout-grid-mode:char'>№</p> | |
− | + | </td> | |
− | + | <td width='138' valign='top' style='width:103.65pt;border:solid black 1.0pt; | |
border-right:none;padding:0cm 5.4pt 0cm 5.4pt'> | border-right:none;padding:0cm 5.4pt 0cm 5.4pt'> | ||
− | + | <p class='TitleTable' style='layout-grid-mode:char'>Описание</p> | |
− | + | </td> | |
− | + | <td width='204' valign='top' style='width:153.0pt;border:solid black 1.0pt; | |
border-right:none;padding:0cm 5.4pt 0cm 5.4pt'> | border-right:none;padding:0cm 5.4pt 0cm 5.4pt'> | ||
− | + | <p class='TitleTable' style='layout-grid-mode:char'>Значение</p> | |
− | + | </td> | |
− | + | <td width='257' valign='top' style='width:193.0pt;border:solid black 1.0pt; | |
padding:0cm 5.4pt 0cm 5.4pt'> | padding:0cm 5.4pt 0cm 5.4pt'> | ||
− | + | <p class='TitleTable' style='layout-grid-mode:char'>Настройка</p> | |
− | + | </td> | |
− | + | </tr> | |
− | + | <tr> | |
− | + | <td width='46' valign='top' style='width:34.25pt;border-top:none;border-left: | |
solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none; | solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none; | ||
padding:0cm 5.4pt 0cm 5.4pt'> | padding:0cm 5.4pt 0cm 5.4pt'> | ||
− | + | <p class='Tabletext' style='layout-grid-mode:char'>1</p> | |
− | + | </td> | |
− | + | <td width='138' valign='top' style='width:103.65pt;border-top:none;border-left: | |
solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none; | solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none; | ||
padding:0cm 5.4pt 0cm 5.4pt'> | padding:0cm 5.4pt 0cm 5.4pt'> | ||
− | + | <p class='Tabletext' style='layout-grid-mode:char'> | |
− | + | Определяет тип платежной операции.<br /><br />Тип платежной операции так же может задаваться в настройке '''SYSPaymentOperationId''' в таблице ''SystemSettings''. В таком случае в настройке '''PaymentOperationId''' задается ''название настройки'' из таблицы ''SystemSettings''. | |
− | + | </p> | |
− | < | + | </td> |
− | + | <td width='204' valign='top' style='width:153.0pt;border-top:none;border-left: | |
− | </p> | ||
− | |||
− | |||
solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none; | solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none; | ||
padding:0cm 5.4pt 0cm 5.4pt'> | padding:0cm 5.4pt 0cm 5.4pt'> | ||
− | + | <p class='Tabletext' style='layout-grid-mode:char'> | |
− | + | <b> | |
− | + | Идентификатор (PO_Id) типа операции из таблицы PaymentOperations.<br /><br />Либо название настройки SYSPaymentOperationId из таблицы SystemSettings. | |
− | + | </b> | |
+ | </p> | ||
+ | </td> | ||
+ | <td width='257' valign='top' style='width:193.0pt;border:solid black 1.0pt; | ||
border-top:none;padding:0cm 5.4pt 0cm 5.4pt'> | border-top:none;padding:0cm 5.4pt 0cm 5.4pt'> | ||
− | + | <p class='MsoNormal' style='layout-grid-mode:char'> | |
− | + | <span lang='EN-US'> | |
− | + | <add key="<b>PaymentOperationId</b>" value="<b> | |
+ | <i> | ||
+ | <span style='color:blue'>1</span> | ||
+ | </i> | ||
+ | </b>"/> | ||
+ | </span> | ||
+ | </p> | ||
+ | </td> | ||
+ | </tr> | ||
− | <tr> | + | <tr> |
− | + | <td width='46' valign='top' style='width:34.25pt;border-top:none;border-left: | |
solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none; | solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none; | ||
padding:0cm 5.4pt 0cm 5.4pt'> | padding:0cm 5.4pt 0cm 5.4pt'> | ||
− | + | <p class='Tabletext' style='layout-grid-mode:char'>2</p> | |
− | + | </td> | |
− | + | <td width='138' valign='top' style='width:103.65pt;border-top:none;border-left: | |
solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none; | solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none; | ||
padding:0cm 5.4pt 0cm 5.4pt'> | padding:0cm 5.4pt 0cm 5.4pt'> | ||
− | + | <p class='Tabletext' style='layout-grid-mode:char'>Определяет время действия идентификатора аутентифации (token)</p> | |
− | + | </td> | |
− | + | <td width='204' valign='top' style='width:153.0pt;border-top:none;border-left: | |
solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none; | solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none; | ||
padding:0cm 5.4pt 0cm 5.4pt'> | padding:0cm 5.4pt 0cm 5.4pt'> | ||
− | + | <p class='Tabletext' style='layout-grid-mode:char'> | |
− | + | <b>Время действия (в минутах)</b> | |
− | + | </p> | |
+ | </td> | ||
+ | <td width='257' valign='top' style='width:193.0pt;border:solid black 1.0pt; | ||
border-top:none;padding:0cm 5.4pt 0cm 5.4pt'> | border-top:none;padding:0cm 5.4pt 0cm 5.4pt'> | ||
− | + | <p class='MsoNormal' style='layout-grid-mode:char'> | |
− | + | <span lang='EN-US'> | |
− | + | <add key="<b>TokenExpireTime</b>" value="<b> | |
+ | <i> | ||
+ | <span style='color:blue'>10</span> | ||
+ | </i> | ||
+ | </b>"/> | ||
+ | </span> | ||
+ | </p> | ||
+ | </td> | ||
+ | </tr> | ||
− | <tr> | + | <tr> |
− | + | <td width='46' valign='top' style='width:34.25pt;border-top:none;border-left: | |
solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none; | solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none; | ||
padding:0cm 5.4pt 0cm 5.4pt'> | padding:0cm 5.4pt 0cm 5.4pt'> | ||
− | + | <p class='Tabletext' style='layout-grid-mode:char'>3</p> | |
− | + | </td> | |
− | + | <td width='138' valign='top' style='width:103.65pt;border-top:none;border-left: | |
solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none; | solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none; | ||
padding:0cm 5.4pt 0cm 5.4pt'> | padding:0cm 5.4pt 0cm 5.4pt'> | ||
− | + | <p class='Tabletext' style='layout-grid-mode:char'>Включает режим записи нового платежа в систему '''Мастер-Финанс'''. При этом в Мастер-Тур платежи не сохраняются.</p> | |
− | + | </td> | |
− | + | <td width='204' valign='top' style='width:153.0pt;border-top:none;border-left: | |
solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none; | solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none; | ||
padding:0cm 5.4pt 0cm 5.4pt'> | padding:0cm 5.4pt 0cm 5.4pt'> | ||
− | + | <p class='Tabletext' style='layout-grid-mode:char'> | |
− | <p class=Tabletext style='layout-grid-mode:char'><b>false</b> - выключает запись платежей в Мастер-Финанс.</p> | + | <b>true</b> - включает запись платежей в Мастер-Финанс; |
− | + | </p> | |
− | + | <p class='Tabletext' style='layout-grid-mode:char'> | |
+ | <b>false</b> - выключает запись платежей в Мастер-Финанс. | ||
+ | </p> | ||
+ | </td> | ||
+ | <td width='257' valign='top' style='width:193.0pt;border:solid black 1.0pt; | ||
border-top:none;padding:0cm 5.4pt 0cm 5.4pt'> | border-top:none;padding:0cm 5.4pt 0cm 5.4pt'> | ||
− | + | <p class='MsoNormal' style='layout-grid-mode:char'> | |
− | + | <span lang='EN-US'> | |
− | + | <add key="<b>AddPaymentsToMasterFinance</b>" value="<b> | |
+ | <i> | ||
+ | <span style='color:blue'>true</span> | ||
+ | </i> | ||
+ | </b>"/> | ||
+ | </span> | ||
+ | </p> | ||
+ | </td> | ||
+ | </tr> | ||
− | <tr> | + | <tr> |
− | + | <td width='46' valign='top' style='width:34.25pt;border-top:none;border-left: | |
solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none; | solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none; | ||
padding:0cm 5.4pt 0cm 5.4pt'> | padding:0cm 5.4pt 0cm 5.4pt'> | ||
− | + | <p class='Tabletext' style='layout-grid-mode:char'>4</p> | |
− | + | </td> | |
− | + | <td width='138' valign='top' style='width:103.65pt;border-top:none;border-left: | |
solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none; | solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none; | ||
padding:0cm 5.4pt 0cm 5.4pt'> | padding:0cm 5.4pt 0cm 5.4pt'> | ||
− | + | <p class='Tabletext' style='layout-grid-mode:char'>Определяет тип платежной системы при сохранении платежей в систему Мастер-Финанс (столбец DP_PAYMENTSSYS таблицы FIN_DOGOVOR_PAID).</p> | |
− | + | </td> | |
− | + | <td width='204' valign='top' style='width:153.0pt;border-top:none;border-left: | |
solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none; | solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none; | ||
padding:0cm 5.4pt 0cm 5.4pt'> | padding:0cm 5.4pt 0cm 5.4pt'> | ||
− | + | <p class='Tabletext' style='layout-grid-mode:char'> | |
− | + | <b>Название платежной системы</b> | |
− | + | </p> | |
+ | </td> | ||
+ | <td width='257' valign='top' style='width:193.0pt;border:solid black 1.0pt; | ||
border-top:none;padding:0cm 5.4pt 0cm 5.4pt'> | border-top:none;padding:0cm 5.4pt 0cm 5.4pt'> | ||
− | + | <p class='MsoNormal' style='layout-grid-mode:char'> | |
− | + | <span lang='EN-US'> | |
− | + | <add key="<b>PaymentSystem</b>" value="<b> | |
− | + | <i> | |
− | <td width=31 valign=top style='width:23.4pt;border:solid windowtext 1.0pt; | + | <span style='color:blue'>Лидер</span> |
+ | </i> | ||
+ | </b>"/> | ||
+ | </span> | ||
+ | </p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td width='31' valign='top' style='width:23.4pt;border:solid windowtext 1.0pt; | ||
border-top:none;padding:0cm 5.4pt 0cm 5.4pt'> | border-top:none;padding:0cm 5.4pt 0cm 5.4pt'> | ||
− | + | <p class='Tabletext'>5</p> | |
</td> | </td> | ||
− | <td width=153 valign=top style='width:114.5pt;border-top:none;border-left: | + | <td width='153' valign='top' style='width:114.5pt;border-top:none;border-left: |
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; | none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; | ||
padding:0cm 5.4pt 0cm 5.4pt'> | padding:0cm 5.4pt 0cm 5.4pt'> | ||
− | + | <p class='Tabletext'>Настройка, определяющая курс валют на какую дату должен подбираться для пересчета суммы к оплате</p> | |
</td> | </td> | ||
− | <td width=204 valign=top style='width:153.0pt;border-top:none;border-left: | + | <td width='204' valign='top' style='width:153.0pt;border-top:none;border-left: |
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; | none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; | ||
padding:0cm 5.4pt 0cm 5.4pt'> | padding:0cm 5.4pt 0cm 5.4pt'> | ||
− | + | <p class='MsoPlainText'> | |
− | "Arial","sans-serif"'> — дата оформления заявки; </span> </p> | + | <b> |
− | + | <span style='font-family:"Arial","sans-serif"'> orderdate</span> | |
− | "Arial","sans-serif"'> — курс на текущую дату; </span> </p> | + | </b> |
− | + | <span style='font-family: | |
− | "Arial","sans-serif"'> — курс на дату подтверждения заявки (если подтверждения путевки еще не было, либо курс на дату подтверждения не заведен, то будет отображаться курс на текущую дату); </span> </p> | + | "Arial","sans-serif"'> — дата оформления заявки; </span> |
+ | </p> | ||
+ | <p class='MsoPlainText'> | ||
+ | <b> | ||
+ | <span style='font-family:"Arial","sans-serif"'> today</span> | ||
+ | </b> | ||
+ | <span style='font-family: | ||
+ | "Arial","sans-serif"'> — курс на текущую дату; </span> | ||
+ | </p> | ||
+ | <p class='MsoPlainText'> | ||
+ | <b> | ||
+ | <span style='font-family:"Arial","sans-serif"'> confirmdate</span> | ||
+ | </b> | ||
+ | <span style='font-family: | ||
+ | "Arial","sans-serif"'> — курс на дату подтверждения заявки (если подтверждения путевки еще не было, либо курс на дату подтверждения не заведен, то будет отображаться курс на текущую дату); </span> | ||
+ | </p> | ||
+ | <p class='MsoPlainText'> | ||
+ | <b> | ||
+ | <span style='font-family:"Arial","sans-serif"'> fixationdate</span> | ||
+ | </b> | ||
+ | <span style='font-family: | ||
+ | "Arial","sans-serif"'> — курс на дату фиксации.</span> | ||
+ | </p> | ||
</td> | </td> | ||
− | <td width=255 valign=top style='width:191.5pt;border-top:none;border-left: | + | <td width='255' valign='top' style='width:191.5pt;border-top:none;border-left: |
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; | none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; | ||
padding:0cm 5.4pt 0cm 5.4pt'> | padding:0cm 5.4pt 0cm 5.4pt'> | ||
− | + | <p class='MsoNormal'> | |
− | lang=EN-US>key</span>="<b><span lang=EN-US>courseExchangeDate</span></b>" | + | <<span lang='EN-US'>add</span><span lang='EN-US'></span><span |
− | + | lang='EN-US'>key</span>="<b> | |
+ | <span lang='EN-US'>courseExchangeDate</span> | ||
+ | </b>" | ||
+ | <span lang='EN-US'>value</span>="<b> | ||
+ | <i> | ||
+ | <span style='color:blue'>orderdate</span> | ||
+ | </i> | ||
+ | </b>"/> | ||
+ | </p> | ||
</td> | </td> | ||
− | + | </tr> | |
− | |||
</table> | </table> | ||
− | |||
==Подготовка данных== | ==Подготовка данных== | ||
Проверка заявок и проведение платежа через платежную систему в базу туроператора осуществляется по оформленным путевкам. У путевки должен быть зафиксирован курс валюты, т.е. в истории путевки должно присутствовать сообщение "Фиксация курса". | Проверка заявок и проведение платежа через платежную систему в базу туроператора осуществляется по оформленным путевкам. У путевки должен быть зафиксирован курс валюты, т.е. в истории путевки должно присутствовать сообщение "Фиксация курса". | ||
Строка 192: | Строка 263: | ||
==Работа в системе== | ==Работа в системе== | ||
===Аутентификация (метод GetUserToken)=== | ===Аутентификация (метод GetUserToken)=== | ||
− | Метод возвращает строку - идентификатор аутентификации, который используется для подтверждения авторизации при вызове методов web-сервисов. | + | Метод возвращает строку - ''идентификатор аутентификации'', который используется для ''подтверждения авторизации'' при вызове методов web-сервисов. |
====Сигнатура метода==== | ====Сигнатура метода==== | ||
− | public TokenResult GetUserToken(string userLogin, string userPassword) | + | <code>public TokenResult GetUserToken(string userLogin, string userPassword)</code> |
====Описание принимаемых методом параметров==== | ====Описание принимаемых методом параметров==== | ||
− | * userLogin - имя пользователя; | + | * '''userLogin''' - имя пользователя; |
− | * userPassword - пароль. | + | * '''userPassword''' - пароль. |
====Возвращаемые значения==== | ====Возвращаемые значения==== | ||
− | Метод возвращает результат своей работы в виде класса TokenResult. Корректность результата проверяется значением поля ErrorCode данного класса: | + | Метод возвращает результат своей работы в виде класса '''TokenResult'''. Корректность результата проверяется значением поля '''ErrorCode''' данного класса: |
− | * 0 - результат корректный; | + | * '''0''' - результат корректный; |
− | * 2 – внутренняя ошибка; | + | * '''2''' – внутренняя ошибка; |
− | * 5 - неправильный логин или пароль. | + | * '''5''' - неправильный логин или пароль. |
Описание класса приведено ниже: | Описание класса приведено ниже: | ||
<nowiki>public class TokenResult | <nowiki>public class TokenResult | ||
Строка 209: | Строка 280: | ||
public string Token; | public string Token; | ||
} | } | ||
− | </nowiki> | + | </nowiki> |
+ | |||
где | где | ||
− | * ErrorCode - код результата; | + | * '''ErrorCode''' - код результата; |
− | * Token - идентификатор аутентификации. | + | * '''Token''' - идентификатор аутентификации. |
===Проверка заявки (метод CheckReservation)=== | ===Проверка заявки (метод CheckReservation)=== | ||
Строка 218: | Строка 290: | ||
====Описание метода==== | ====Описание метода==== | ||
− | Данный метод предназначен для проверки наличия заявки в БД и определения ее стоимости. | + | Данный метод предназначен для ''проверки наличия заявки'' в БД и определения ''ее стоимости''. |
====Сигнатура метода==== | ====Сигнатура метода==== | ||
− | public AmountSum CheckReservation(string userToken, string dgCode) | + | <code>public AmountSum CheckReservation(string userToken, string dgCode)</code> |
====Описание принимаемых методом параметров==== | ====Описание принимаемых методом параметров==== | ||
− | * userToken - идентификатор аутентификации, полученный при вызове метода GetUserToken; | + | * '''userToken''' - идентификатор аутентификации, полученный при вызове метода [[#Аутентификация (метод GetUserToken)|GetUserToken]]; |
− | * dgCode - строковая переменная, представляющая собой код проверяемой путевки. | + | * '''dgCode''' - строковая переменная, представляющая собой ''код проверяемой путевки''. |
====Возвращаемые значения==== | ====Возвращаемые значения==== | ||
− | Метод возвращает результат своей работы в виде класса AmountSum. Корректность результата проверяется значением поля ErrorCode данного класса: | + | Метод возвращает результат своей работы в виде класса '''AmountSum'''. Корректность результата проверяется значением поля '''ErrorCode''' данного класса: |
− | * 0 – результат корректный, в полях возвращены корректные значения; | + | * '''0''' – результат корректный, в полях возвращены корректные значения; |
− | * 1 – заявка не найдена в БД; | + | * '''1''' – заявка не найдена в БД; |
− | * 2 – внутренняя ошибка; | + | * '''2''' – внутренняя ошибка; |
− | * 3 - заявка была аннулирована; | + | * '''3''' - заявка была аннулирована; |
− | * 4 - путевка уже оплачена; | + | * '''4''' - путевка уже оплачена; |
− | * 6 - некорректный или устаревший идентификатор аутентификации(token). | + | * '''6''' - некорректный или устаревший идентификатор аутентификации(token). |
Ниже приводится описание класса. | Ниже приводится описание класса. | ||
Строка 253: | Строка 325: | ||
}</nowiki> | }</nowiki> | ||
− | * Amount - сумма к оплате в валюте тура; | + | * '''Amount''' - сумма к оплате в валюте тура; |
− | * RateCode - iso-код валюты тура; | + | * '''RateCode''' - iso-код валюты тура; |
− | * NationalCurrencyPrice - сумма к оплате в национальной валюте; | + | * '''NationalCurrencyPrice''' - сумма к оплате в национальной валюте; |
− | * NationalRateCode - iso-код национальной валюты; | + | * '''NationalRateCode''' - iso-код национальной валюты; |
− | * ErrorCode - код результата; | + | * '''ErrorCode''' - код результата; |
− | * FilialKey - ключ филиала, который создал заявку; | + | * '''FilialKey''' - ключ филиала, который создал заявку; |
− | * BeginTourDate - дата начала тура; | + | * '''BeginTourDate''' - дата начала тура; |
− | * EndTourDate - дата окончания тура. | + | * '''EndTourDate''' - дата окончания тура. |
===Проведение платежа по заявке (метод CreatePayment)=== | ===Проведение платежа по заявке (метод CreatePayment)=== | ||
====Описание метода==== | ====Описание метода==== | ||
− | Данный метод предназначен для создания платежа по путевке в финансовом блоке ПК | + | Данный метод предназначен для ''создания платежа'' по путевке в финансовом блоке ПК «Мастер-Тур». |
====Сигнатура метода==== | ====Сигнатура метода==== | ||
− | public int CreatePayment(string userToken, DateTime date, Decimal sum, string currencyIsoCode, string reservationCode, string paymentId) | + | <code>public int CreatePayment(string userToken, DateTime date, Decimal sum, string currencyIsoCode, string reservationCode, string paymentId)</code> |
====Описание принимаемых методом параметров==== | ====Описание принимаемых методом параметров==== | ||
− | * userToken - идентификатор аутентифкации; | + | * '''userToken''' - идентификатор аутентифкации; |
− | * date – дата проведения платежа; | + | * '''date''' – дата проведения платежа; |
− | * sum – сумма платежа; | + | * '''sum''' – сумма платежа; |
− | * currencyIsoCode – ISO-код валюты, в которой осуществляется платеж; | + | * '''currencyIsoCode''' – ISO-код валюты, в которой осуществляется платеж; |
− | * reservationCode – номер путевки; | + | * '''reservationCode''' – номер путевки; |
− | * paymentId – идентификатор платежа во внешней системе. | + | * '''paymentId''' – идентификатор платежа во внешней системе. |
====Возвращаемые значения==== | ====Возвращаемые значения==== | ||
Данный метод возвращает целочисленное значение обозначающее результат выполнения операции: | Данный метод возвращает целочисленное значение обозначающее результат выполнения операции: | ||
− | * 0 – операция выполнена успешно, платеж проведен; | + | * '''0''' – операция выполнена успешно, платеж проведен; |
− | * 1 – заявка не найдена в БД; | + | * '''1''' – заявка не найдена в БД; |
− | * 2 – внутренняя ошибка при создании платежа; | + | * '''2''' – внутренняя ошибка при создании платежа; |
− | * 3 - заявка была аннулирована; | + | * '''3''' - заявка была аннулирована; |
− | * 4 - путевка уже оплачена; | + | * '''4''' - путевка уже оплачена; |
− | * 6 - некорректный или устаревший идентификатор аутентификации(token). | + | * '''6''' - некорректный или устаревший идентификатор аутентификации(token). |
При этом в БД создается платеж по выбранной путевке. | При этом в БД создается платеж по выбранной путевке. |
Версия 17:41, 7 июня 2013
Версия статьи от 7-06-2013. Для перехода на версию статьи, соответствующую используемой Вами версии программы, нажмите ссылку в таблице ниже:
Более ранние версии: |
Содержание
Введение
Данный модуль предназначен для проверки заявки и проведения платежа через платежную систему в базу туроператора. Модуль совместим со следующими платежными системами:
- TourPay;
- Лидер.
Установка
Для установки Сервиса для интеграции с платежной системой нужно создать директорию 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 — курс на дату фиксации. |
<addkey=" 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).
При этом в БД создается платеж по выбранной путевке.