Платежные web-сервисы: Сервис интеграции с платежной системой (оплата через терминалы) — различия между версиями

Материал из Megatec
Перейти к: навигация, поиск
[досмотренная версия][досмотренная версия]
(Настройки в файле WEB.CONFIG)
Строка 3: Строка 3:
 
<tr>
 
<tr>
 
<td>
 
<td>
Более ранние версии:<BR>
+
Более ранние версии:<br />
[http://wiki.megatec.ru/index.php?title=Мастер-Web:_Дополнительный_модуль_Сервис_для_интеграции_с_платежной_системой_(Прием_наличных_через_платежный_терминал)&oldid=7596 До 2009.2.12 включительно]<BR>
+
[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 включительно]<BR>
+
[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) и выложить туда распакованные файлы из архива mw-finance-2007.2.XX.XXXX.zip.
+
Для установки '''Сервиса для интеграции с платежной системой''' нужно создать директорию '''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)
+
1 Зайти в '''Пуск''' ('''Start''') &rarr; '''Настройки''' ('''Settings''') &rarr; '''Панель управления''' ('''Control Panel''') &rarr; '''Администрирование''' ('''Administrative Tools''')
<BR>
+
[[Файл: am_745.png|x500px|Панель управления]]<br />
[[Файл:848.PNG]]<BR>
+
<br />
*2. Диспетчер служб IIS
+
2 '''Диспетчер служб IIS'''<br />
<BR>
+
[[Файл: am_746.png|x500px|Администрирование - Диспетчер служб IIS]]<br />
[[Файл:849.PNG]]<BR>
+
<br />
*3. В открывшемся дереве каталогов выбрать Web Sites – Default Web Site. В открывшемся списке найти папку, для которой нужно создать виртуальный каталог, кликнуть по ней правой кнопкой мыши и выбрать Преобразовать в приложение
+
3 В открывшемся дереве каталогов выбрать '''Web Sites – Default Web Site'''. В открывшемся списке найти ''папку'', для которой нужно создать ''виртуальный каталог'', кликнуть по ней правой кнопкой мыши и выбрать '''Преобразовать в приложение'''<br />
<BR>
+
[[Файл: am_747.png|x500px|Преобразовать в приложение]]<br />
[[Файл:850.PNG]]<BR>
+
<br />
*4. В открывшемся окне нужно нажать кнопку «ОК»
+
4 В открывшемся окне нужно нажать кнопку '''ОК'''<br />
<BR>
+
[[Файл: am_748.png|x500px|Добавить приложение]]<br />
[[Файл:851.PNG]]<BR>
+
<br />
 
===Подключение к базе данных ПК «Мастер-Тур»===
 
===Подключение к базе данных ПК «Мастер-Тур»===
В файле web.config, расположенном в папке Finance пропишите необходимые параметры подключения (курсивом выделены значения, которые необходимо ввести).
+
В файле <code>web.config</code>, расположенном в папке '''Finance''' пропишите необходимые параметры подключения (<span style="color:red">красным цветом</span> выделены значения, которые необходимо ввести).
Строка подключения к базе данных ПК «Мастер-Тур»:
+
Строка подключения к базе данных ПК «Мастер-Тур»:<br />
<add key = "connectionString" value = "Data Source=ip-адрес сервера базы данных ПК Мастер-тур;Initial Catalog=название базы данных ПК Мастер-тур;User ID=логин пользователя ПК Мастер-тур;Password=пароль пользователя ПК Мастер-тур"/>  
+
<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>
+
  <tr>
  <td width=46 valign=top style='width:34.25pt;border:solid black 1.0pt;
+
    <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>
+
      <p class='TitleTable' style='layout-grid-mode:char'>№</p>
  </td>
+
    </td>
  <td width=138 valign=top style='width:103.65pt;border:solid black 1.0pt;
+
    <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>
+
      <p class='TitleTable' style='layout-grid-mode:char'>Описание</p>
  </td>
+
    </td>
  <td width=204 valign=top style='width:153.0pt;border:solid black 1.0pt;
+
    <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>
+
      <p class='TitleTable' style='layout-grid-mode:char'>Значение</p>
  </td>
+
    </td>
  <td width=257 valign=top style='width:193.0pt;border:solid black 1.0pt;
+
    <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>
+
      <p class='TitleTable' style='layout-grid-mode:char'>Настройка</p>
  </td>
+
    </td>
</tr>
+
  </tr>
<tr>
+
  <tr>
  <td width=46 valign=top style='width:34.25pt;border-top:none;border-left:
+
    <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>
+
      <p class='Tabletext' style='layout-grid-mode:char'>1</p>
  </td>
+
    </td>
  <td width=138 valign=top style='width:103.65pt;border-top:none;border-left:
+
    <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 class='Tabletext' style='layout-grid-mode:char'>
  настройки, определяющей тип платежной операции, в реестре настроек
+
      Определяет тип платежной операции.<br /><br />Тип платежной операции так же может задаваться в настройке '''SYSPaymentOperationId''' в таблице ''SystemSettings''. В таком случае в настройке '''PaymentOperationId''' задается ''название настройки'' из таблицы ''SystemSettings''.
  туроператора</p>
+
      </p>
<p>
+
    </td>
Эта настройка находится в таблице SystemSettings, в ней указывается ключ типа платежной операции из таблицы PaymentOperations.
+
    <td width='204' valign='top' style='width:153.0pt;border-top:none;border-left:
</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>Название настройки в реестре
+
      <p class='Tabletext' style='layout-grid-mode:char'>
  настроек туроператора</b></p>
+
        <b>
  </td>
+
          Идентификатор (PO_Id) типа операции из таблицы PaymentOperations.<br /><br />Либо  название настройки SYSPaymentOperationId из таблицы SystemSettings.
  <td width=257 valign=top style='width:193.0pt;border:solid black 1.0pt;
+
        </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>&lt;add key=&quot;<b>PaymentOperationId</b>&quot; value=&quot;<b><i><span style='color:blue'>SYSPaymentOperationId</span></i></b>&quot;/&gt;</span></p>
+
      <p class='MsoNormal' style='layout-grid-mode:char'>
  </td>
+
        <span lang='EN-US'>
</tr>
+
          &lt;add key=&quot;<b>PaymentOperationId</b>&quot; value=&quot;<b>
 +
            <i>
 +
              <span style='color:blue'>1</span>
 +
            </i>
 +
          </b>&quot;/&gt;
 +
        </span>
 +
      </p>
 +
    </td>
 +
  </tr>
  
<tr>
+
  <tr>
  <td width=46 valign=top style='width:34.25pt;border-top:none;border-left:
+
    <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>
+
      <p class='Tabletext' style='layout-grid-mode:char'>2</p>
  </td>
+
    </td>
  <td width=138 valign=top style='width:103.65pt;border-top:none;border-left:
+
    <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>
+
      <p class='Tabletext' style='layout-grid-mode:char'>Определяет время действия идентификатора аутентифации (token)</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:
 
   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>
+
      <p class='Tabletext' style='layout-grid-mode:char'>
  </td>
+
        <b>Время действия (в минутах)</b>
  <td width=257 valign=top style='width:193.0pt;border:solid black 1.0pt;
+
      </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>&lt;add key=&quot;<b>TokenExpireTime</b>&quot; value=&quot;<b><i><span style='color:blue'>10</span></i></b>&quot;/&gt;</span></p>
+
      <p class='MsoNormal' style='layout-grid-mode:char'>
  </td>
+
        <span lang='EN-US'>
</tr>
+
          &lt;add key=&quot;<b>TokenExpireTime</b>&quot; value=&quot;<b>
 +
            <i>
 +
              <span style='color:blue'>10</span>
 +
            </i>
 +
          </b>&quot;/&gt;
 +
        </span>
 +
      </p>
 +
    </td>
 +
  </tr>
  
<tr>
+
  <tr>
  <td width=46 valign=top style='width:34.25pt;border-top:none;border-left:
+
    <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>
+
      <p class='Tabletext' style='layout-grid-mode:char'>3</p>
  </td>
+
    </td>
  <td width=138 valign=top style='width:103.65pt;border-top:none;border-left:
+
    <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>
+
      <p class='Tabletext' style='layout-grid-mode:char'>Включает режим записи нового платежа в систему '''Мастер-Финанс'''. При этом в Мастер-Тур платежи не сохраняются.</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:
 
   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>true</b> - включает запись платежей в Мастер-Финанс;</p>
+
      <p class='Tabletext' style='layout-grid-mode:char'>
<p class=Tabletext style='layout-grid-mode:char'><b>false</b> - выключает запись платежей в Мастер-Финанс.</p>
+
        <b>true</b> - включает запись платежей в Мастер-Финанс;
  </td>
+
      </p>
  <td width=257 valign=top style='width:193.0pt;border:solid black 1.0pt;
+
      <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>&lt;add key=&quot;<b>AddPaymentsToMasterFinance</b>&quot; value=&quot;<b><i><span style='color:blue'>true</span></i></b>&quot;/&gt;</span></p>
+
      <p class='MsoNormal' style='layout-grid-mode:char'>
  </td>
+
        <span lang='EN-US'>
</tr>
+
          &lt;add key=&quot;<b>AddPaymentsToMasterFinance</b>&quot; value=&quot;<b>
 +
            <i>
 +
              <span style='color:blue'>true</span>
 +
            </i>
 +
          </b>&quot;/&gt;
 +
        </span>
 +
      </p>
 +
    </td>
 +
  </tr>
  
<tr>
+
  <tr>
  <td width=46 valign=top style='width:34.25pt;border-top:none;border-left:
+
    <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>
+
      <p class='Tabletext' style='layout-grid-mode:char'>4</p>
  </td>
+
    </td>
  <td width=138 valign=top style='width:103.65pt;border-top:none;border-left:
+
    <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>
+
      <p class='Tabletext' style='layout-grid-mode:char'>Определяет тип платежной системы при сохранении платежей в систему Мастер-Финанс (столбец DP_PAYMENTSSYS таблицы FIN_DOGOVOR_PAID).</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:
 
   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>
+
      <p class='Tabletext' style='layout-grid-mode:char'>
  </td>
+
        <b>Название платежной системы</b>
  <td width=257 valign=top style='width:193.0pt;border:solid black 1.0pt;
+
      </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>&lt;add key=&quot;<b>PaymentSystem</b>&quot; value=&quot;<b><i><span style='color:blue'>Лидер</span></i></b>&quot;/&gt;</span></p>
+
      <p class='MsoNormal' style='layout-grid-mode:char'>
  </td>
+
        <span lang='EN-US'>
</tr>
+
          &lt;add key=&quot;<b>PaymentSystem</b>&quot; value=&quot;<b>
 
+
            <i>
   <td width=31 valign=top style='width:23.4pt;border:solid windowtext 1.0pt;
+
              <span style='color:blue'>Лидер</span>
 +
            </i>
 +
          </b>&quot;/&gt;
 +
        </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>
+
    <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>
+
    <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><b><span style='font-family:"Arial","sans-serif"'> OrderDate</span></b><span style='font-family:
+
    <p class='MsoPlainText'>
   "Arial","sans-serif"'> &mdash; дата оформления заявки; </span> </p>
+
      <b>
  <p class=MsoPlainText><b><span style='font-family:"Arial","sans-serif"'> Today</span></b><span style='font-family:
+
        <span style='font-family:"Arial","sans-serif"'> orderdate</span>
   "Arial","sans-serif"'> &mdash;  курс на текущую дату; </span> </p>
+
      </b>
  <p class=MsoPlainText><b><span style='font-family:"Arial","sans-serif"'> ConfirmDate</span></b><span style='font-family:
+
      <span style='font-family:
   "Arial","sans-serif"'> &mdash; курс на дату подтверждения заявки (если подтверждения путевки еще не было, либо курс на дату подтверждения не заведен, то будет отображаться курс на текущую дату); </span> </p>
+
   "Arial","sans-serif"'> &mdash; дата оформления заявки; </span>
 +
    </p>
 +
    <p class='MsoPlainText'>
 +
      <b>
 +
        <span style='font-family:"Arial","sans-serif"'> today</span>
 +
      </b>
 +
      <span style='font-family:
 +
   "Arial","sans-serif"'> &mdash;  курс на текущую дату; </span>
 +
    </p>
 +
    <p class='MsoPlainText'>
 +
      <b>
 +
        <span style='font-family:"Arial","sans-serif"'> confirmdate</span>
 +
      </b>
 +
      <span style='font-family:
 +
   "Arial","sans-serif"'> &mdash; курс на дату подтверждения заявки (если подтверждения путевки еще не было, либо курс на дату подтверждения не заведен, то будет отображаться курс на текущую дату); </span>
 +
    </p>
 +
    <p class='MsoPlainText'>
 +
      <b>
 +
        <span style='font-family:"Arial","sans-serif"'> fixationdate</span>
 +
      </b>
 +
      <span style='font-family:
 +
  "Arial","sans-serif"'> &mdash; курс на дату фиксации.</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>&lt;<span lang=EN-US>add</span><span lang=EN-US> </span><span
+
    <p class='MsoNormal'>
   lang=EN-US>key</span>=&quot;<b><span lang=EN-US>courseExchangeDate</span></b>&quot;
+
      &lt;<span lang='EN-US'>add</span><span lang='EN-US'></span><span
  <span lang=EN-US>value</span>=&quot;<b><i><span style='color:blue'>OrderDate</span></i></b>&quot;/&gt;</p>
+
   lang='EN-US'>key</span>=&quot;<b>
 +
        <span lang='EN-US'>courseExchangeDate</span>
 +
      </b>&quot;
 +
      <span lang='EN-US'>value</span>=&quot;<b>
 +
        <i>
 +
          <span style='color:blue'>orderdate</span>
 +
        </i>
 +
      </b>&quot;/&gt;
 +
    </p>
 
   </td>
 
   </td>
</tr>
+
  </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. Для перехода на версию статьи, соответствующую используемой Вами версии программы, нажмите ссылку в таблице ниже:

Более ранние версии:
До 2009.2.12 включительно
До 2009.2.15 включительно
До 2009.2.19 включительно


Введение

Данный модуль предназначен для проверки заявки и проведения платежа через платежную систему в базу туроператора. Модуль совместим со следующими платежными системами:

  • 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
Администрирование - Диспетчер служб 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

Определяет тип платежной операции.

Тип платежной операции так же может задаваться в настройке SYSPaymentOperationId в таблице SystemSettings. В таком случае в настройке PaymentOperationId задается название настройки из таблицы SystemSettings.

Идентификатор (PO_Id) типа операции из таблицы PaymentOperations.

Либо название настройки SYSPaymentOperationId из таблицы SystemSettings.

<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).

При этом в БД создается платеж по выбранной путевке.