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

Материал из Megatec
Перейти к: навигация, поиск
[досмотренная версия][досмотренная версия]
(Настройки в файле WEB.CONFIG)
 
(не показано 27 промежуточных версий 5 участников)
Строка 1: Строка 1:
 +
[[Файл: mb_030.png|left|Предупреждение]] <BR> Начиная с релиза 15.8 после 01.06.2023 работа с отдельными платежными шлюзами не поддерживается. Для работы необходимо использовать новую версию приложения [[Платежные web-сервисы:EntryPoint|EntryPoint (оплата картой в личном кабинете с выбором системы оплаты)]] с поддержкой Uniteller, Sberbank, Tinkoff, Alfabank, Assist, PayOnline, WebPay без установки сторонних библиотек и развертывания отдельных сервисов.<br />
 +
<br><br />
 
==Введение==
 
==Введение==
 +
[[Файл: mb_030.png|left|Предупреждение]] <BR> Перед началом работы с платежными системами необходимо удостовериться в соответствии оборудования и программного обеспечения [[Мастер-Тур(15):Системно-аппаратные требования|системно-аппаратным требованиям]]. Если версия операционной системы не соответствует рекомендуемой, то работа с платежными сервисами не гарантирована в связи с ограничениями протоколов безопасности операционной системы.<br />
 +
<br><br />
 
Модуль '''Выбор платежной системы''' предоставляет возможность покупателю/агентству выбрать способ оплаты путевок. Оплата путевок может осуществляться в экранах «Список заявок» (OrderList.aspx) и «Путевка» (OrderInfo.aspx). <br />
 
Модуль '''Выбор платежной системы''' предоставляет возможность покупателю/агентству выбрать способ оплаты путевок. Оплата путевок может осуществляться в экранах «Список заявок» (OrderList.aspx) и «Путевка» (OrderInfo.aspx). <br />
 
В данный момент доступны следующие способы оплаты:
 
В данный момент доступны следующие способы оплаты:
* [[Платежные web-сервисы: Сервис интеграции с платежной системой Appex (оплата картой в личном кабинете)|Appex]]
+
* [[Платежные web-сервисы: Сервис интеграции с платежной системой Alfabank (оплата картой в личном кабинете)|Alfabank]]
 
* [[Платежные web-сервисы: Сервис интеграции с платежной системой Assist (оплата картой в личном кабинете)|Assist]]
 
* [[Платежные web-сервисы: Сервис интеграции с платежной системой Assist (оплата картой в личном кабинете)|Assist]]
 
* [[Платежные web-сервисы: Сервис интеграции с платежной системой LiqPay (оплата картой в личном кабинете)|LiqPay]]  
 
* [[Платежные web-сервисы: Сервис интеграции с платежной системой LiqPay (оплата картой в личном кабинете)|LiqPay]]  
 
* [[Платежные web-сервисы: Сервис интеграции с платежной системой PayOnline (оплата картой в личном кабинете)|PayOnline]]
 
* [[Платежные web-сервисы: Сервис интеграции с платежной системой PayOnline (оплата картой в личном кабинете)|PayOnline]]
 
* PayPal
 
* PayPal
* [[Платежные web-сервисы: Сервис интеграции с платежной системой Sberbank (оплата картой в личном кабинете)|Sberbank]], '''начиная с релиза 9222SP0'''
+
* [[Платежные web-сервисы: Сервис интеграции с платежной системой Sberbank (оплата картой в личном кабинете)|Sberbank]] + Сбербанк-Мир, '''начиная с релиза 9222SP0'''
 +
* [[Платежные web-сервисы: Сервис интеграции с платежной системой Tinkoff (оплата картой в личном кабинете)|Tinkoff]], '''начиная с релиза 15.5'''
 
* [[Платежные web-сервисы: Сервис интеграции с платежной системой Uniteller (оплата картой в личном кабинете)|Uniteller]]
 
* [[Платежные web-сервисы: Сервис интеграции с платежной системой Uniteller (оплата картой в личном кабинете)|Uniteller]]
 
* Webmoney
 
* Webmoney
Строка 14: Строка 19:
  
 
Для полноценной работы плагина нужно установить соответствующие платежные приложения или [[Платежные web-сервисы: Сервис интеграции с платежной системой (оплата через терминалы)|Сервис интеграции с платежной системой (оплата через терминалы)]].
 
Для полноценной работы плагина нужно установить соответствующие платежные приложения или [[Платежные web-сервисы: Сервис интеграции с платежной системой (оплата через терминалы)|Сервис интеграции с платежной системой (оплата через терминалы)]].
 +
 +
[https://www.youtube.com/watch?v=Pxobl_1_qCs Платежные шлюзы (оплата через терминалы и онлайн) (YouTube)]
  
 
==Установка==  
 
==Установка==  
Строка 39: Строка 46:
 
<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>
 
<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>
  
===Настройки в файле WEB.CONFIG===
+
===Настройки в файле web.config ПК «Мастер-Web» ===
Настройки задаются в секции <code><appSettings></code> файла <code>web.config</code> основного приложения ПК «Мастер-Web».
+
Для включения возможности работы EntryPoint необходимо настроить файл конфигурации ПК «Мастер-Web». Настройки задаются в секции <code><appSettings></code> файла <code>web.config</code> основного приложения ПК «Мастер-Web».
 
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
 
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
  
Строка 131: Строка 138:
 
|<syntaxhighlight lang="xml" enclose="div">
 
|<syntaxhighlight lang="xml" enclose="div">
 
<add key="AddPaymentsToMasterFinance" value="true" />
 
<add key="AddPaymentsToMasterFinance" value="true" />
либо может использоваться старая настройка:
+
</syntaxhighlight>
 +
''В версиях до релиза 9222SP0 может использоваться старая настройка'':
 +
<syntaxhighlight lang="xml" enclose="div">
 
<add key="paymentFactory" value="MasterSoft.Payments.PaymentFactoryWebPay, MasterSoft.Payments" />
 
<add key="paymentFactory" value="MasterSoft.Payments.PaymentFactoryWebPay, MasterSoft.Payments" />
 +
</syntaxhighlight>
 +
|- style="vertical-align:text-top"
 +
 +
| 8
 +
| Настройка, позволяющая производить оплату в новой вкладке браузера.<br>
 +
<font style="color:red">Внимание! Настройка обрабатывается, начиная с релиза '''9222SP0'''.</font>
 +
<br><font style="color:red">'''Важно!'''</font><br />
 +
Если данная настройка прописана в файле <code>web.config</code> основного приложения, то она должна быть прописана и в платежном сервисе с тем же значением.
 +
 +
|
 +
* '''false''' или '''отсутствие настройки''' - оплата производится в текущей вкладке браузера;
 +
* '''true''' - оплата производится в новой вкладке браузера.
 +
|<syntaxhighlight lang="xml" enclose="div">
 +
<add key="OpenPaymentInNewWindow" value="true" />
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
Строка 157: Строка 180:
 
<add key="sberbankPaymentApplicationUrl" value="http://somesite/sberbank"/>
 
<add key="sberbankPaymentApplicationUrl" value="http://somesite/sberbank"/>
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
|- style="vertical-align:text-top"
 +
| 2
 +
| Настройка, включающая механизм хэширования пароля пользователя, сохраняемого в файлах cookie, что позволяет усилить безопасность ПК "Мастер-Web". По умолчанию хэширование включено. '''Значение настройки должно совпадать со значением в файле web.config ПК "Мастер-Web"'''.
 +
|'''false''' - хэширование пароля в файлах cookie выключено; '''true''' или '''отсутствие настройки''' - хэширование пароля в файлах cookie включено.
 +
|<syntaxhighlight lang="xml" enclose="div">
 +
<add key="HashPasswordForCookie" value="true" />
 +
</syntaxhighlight>
 +
|- style="vertical-align:text-top"
 +
| 3
 +
| Настройка, позволяющая создавать объект '''orderBundle''' (товарная корзина), в котором передаются все необходимые данные о товаре/услуге.
 +
|
 +
* '''true''' - включено создание объекта '''orderBundle'''
 +
* '''false''' или отсутствие настройки -  объект '''orderBundle''' не создается <br />
 +
По умолчанию настройка имеет значение false.
 +
|<syntaxhighlight lang="xml" enclose="div">
 +
<add key="useFiscalization" value="false"/>
 +
</syntaxhighlight>
 +
|- style="vertical-align:text-top"
 +
| 4
 +
| Включение режима '''записи нового платежа''' в систему '''«Мастер-Финанс»'''. При этом в ПК «Мастер-Тур» платежи '''не сохраняются'''.
 +
|
 +
* '''true''' - включена запись платежей в «Мастер-Финанс»;
 +
* '''false''' или '''отсутствие настройки''' - выключает запись платежей в «Мастер-Финанс».
 +
|<syntaxhighlight lang="xml" enclose="div">
 +
<add key="AddPaymentsToMasterFinance" value="true" />
 +
</syntaxhighlight>
 +
''Если данная настройка не включена, то настройки addAgencyComission и addPersonalComission не активны''
 +
|- style="vertical-align:text-top"
 +
| 5
 +
| Настройка, позволяющая задавать '''размер комиссии''', которая будет '''включена в сумму оплаты''' ('''для агентств''').<br>
 +
Обрабатывается при включенной настройке '''AddPaymentsToMasterFinance'''.
 +
<span style="color:red">Внимание! Настройка обрабатывается, начиная с релиза '''9222SP0'''.</span>
 +
| '''Значение комиссии''', которую необходимо ''включить в сумму платежа'' (целая часть отделяется либо запятой, либо точкой).
 +
Комиссия указывается '''в процентах'''.<br />
 +
По умолчанию комиссия для агентств равна нулю.
 +
|<syntaxhighlight lang="xml" enclose="div">
 +
<add key="addAgencyComission" value="3.627" />
 +
</syntaxhighlight>
 +
|- style="vertical-align:text-top"
 +
| 6
 +
| Настройка, позволяющая задавать '''размер комиссии''', которая будет '''включена в сумму оплаты''' ('''для частных лиц''').<br>
 +
Обрабатывается при включенной настройке '''AddPaymentsToMasterFinance'''.
 +
<span style="color:red">Внимание! Настройка обрабатывается, начиная с релиза '''9222SP0'''.</span>
 +
| '''Значение комиссии''', которую необходимо ''включить в сумму платежа'' (целая часть отделяется либо запятой, либо точкой).
 +
Комиссия указывается '''в процентах'''.<br />
 +
По умолчанию комиссия для частных лиц равна нулю.
 +
|<syntaxhighlight lang="xml" enclose="div">
 +
<add key="addPersonalComission" value="5.0" />
 +
</syntaxhighlight>
 +
|- style="vertical-align:text-top"
 
|}
 
|}
  
 
===Формат настроек в web.config===  
 
===Формат настроек в web.config===  
 +
Настройки секции <code><appSettings></code> файла <code>web.config</code> приложения EntryPoint.
 +
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
 +
 +
|- style="background-color:#F2F2F2"
 +
 +
! width="2%" | №
 +
! width="28%" | Описание
 +
! width="35%" | Значение
 +
! width="35%" | Настройка
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 1
 +
|Строка подключения к базе данных ПК «Мастер-Тур» <br>
 +
|
 +
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="connectionString" value="Data Source=SERVER;Initial Catalog=DATABASE;User Id=AllServices;Password=1"/>
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
| 2
 +
| Строка подключения к сервису MTS
 +
|
 +
 +
|<syntaxhighlight lang="xml" enclose="div">
 +
<add key="acceptableServices" value="MTS"/>
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 3
 +
|Настройка интервала опроса платежной системы для проверки статуса незавершенных платежей. <br>
 +
|
 +
Реализовано начиная с релиза 15.8
 +
Интервал опроса платежной системы в минутах для проверки статуса незавершенных платежей.
 +
При отсутствии настройки или указании значения меньше 3 опрос осуществляется раз в 3 минуты.
 +
Опрос осуществляется через указанное количество минут до времени указанного в настройке "TimeInMinuteForCheckStatePayments"
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key ="TimeoutInMinuteForPollPaymentSystem" value="3"/>
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
| 4
 +
| Настройка задержки проверки статуса платежа на платежной системе.
 +
|
 +
Реализовано начиная с релиза 15.8 
 +
Отсрочка проверки статуса платежа с момента перехода на платежный шлюз, если платеж сразу не прошел в системе банка.
 +
Если по истечении этого времени статус платежа на стороне банка не станет оплаченным, то платеж в ПК "Мастер-Тур" не отобразится.
 +
При отсутствии настройки или указании значения меньше 10 отсрочка составляет 10 минут.
 +
|<syntaxhighlight lang="xml" enclose="div">
 +
<add key ="TimeInMinuteForCheckStatePayments" value="10"/>
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
|}
 +
 
Секция описания способов оплаты в платежных системах: <br />
 
Секция описания способов оплаты в платежных системах: <br />
 
  <paymentMethods>
 
  <paymentMethods>
     <add code="1" name="PayPal" paymentSystem="PayPal" link="http://paypal.com/pay.aspx?sum=%DGPRICE%&comment=%DGCODE%" skipDescriptionPage="false" />
+
     <add code="1" name="Tinkoff" logoLink="~/Content/logos/logoTinkoff.png" maximumAmount="1000000" skipDescriptionPage="false" paymentSystem="Tinkoff" link="https://securepay.tinkoff.ru/v2/Init/" megatecgate="http://mysite/Tinkoff/" />
 
  </paymentMethods>
 
  </paymentMethods>
  
 
* '''code'''="1" - идентификатор платежного метода, должен быть уникальным. Используется в других секциях, для ссылки на данный метод оплаты;
 
* '''code'''="1" - идентификатор платежного метода, должен быть уникальным. Используется в других секциях, для ссылки на данный метод оплаты;
* '''name'''="PayPal" - название, которое будет отображаться на кнопке оплаты;
+
* '''name'''="Tinkoff" - название платежной системы (если не задана ссылка на логотип, то отображается кнопка с наименованием данного поля);
* '''paymentSystem'''="PayPal" - название платежной системы. Одно из предопределенных значений:
+
* '''paymentSystem'''="Tinkoff" - название платежной системы. Одно из предопределенных значений:
** [[Платежные web-сервисы: Сервис интеграции с платежной системой Appex (оплата картой в личном кабинете)|Appex]]
+
** [[Платежные web-сервисы: Сервис интеграции с платежной системой Alfabank (оплата картой в личном кабинете)|Alfabank]]
 
** Assist
 
** Assist
 
** [[Платежные web-сервисы: Сервис интеграции с платежной системой LiqPay (оплата картой в личном кабинете)|LiqPay]]  
 
** [[Платежные web-сервисы: Сервис интеграции с платежной системой LiqPay (оплата картой в личном кабинете)|LiqPay]]  
 
** [[Платежные web-сервисы: Сервис интеграции с платежной системой PayOnline (оплата картой в личном кабинете)|PayOnline]]
 
** [[Платежные web-сервисы: Сервис интеграции с платежной системой PayOnline (оплата картой в личном кабинете)|PayOnline]]
 
** PayPal
 
** PayPal
** [[Платежные web-сервисы: Сервис интеграции с платежной системой Sberbank (оплата картой в личном кабинете)|Sberbank]], '''начиная с релиза 9222SP0'''
+
** [[Платежные web-сервисы: Сервис интеграции с платежной системой Sberbank (оплата картой в личном кабинете)|Sberbank]] + Сбербанк-Мир, '''начиная с релиза 9222SP0''' + Сбербанк МИР (детские лагеря), '''начиная с релиза 15.6'''
 +
** [[Платежные web-сервисы: Сервис интеграции с платежной системой Tinkoff (оплата картой в личном кабинете)|Tinkoff]], '''начиная с релиза 15.5'''
 
** [[Платежные web-сервисы: Сервис интеграции с платежной системой Uniteller (оплата картой в личном кабинете)|Uniteller]]
 
** [[Платежные web-сервисы: Сервис интеграции с платежной системой Uniteller (оплата картой в личном кабинете)|Uniteller]]
 
** Webmoney
 
** Webmoney
 
** WebPay
 
** WebPay
 
** Яндекс.Деньги
 
** Яндекс.Деньги
* '''totalFee'''="2.3" - комиссия платёжной системы, которую необходимо переложить на агента;
+
<br><font style="color:red">Внимание!</font> Если включена комиссия агентства/частного лица и totalFee, то процент комиссии представляет собой сумму процента комиссии агентства/частного лица и totalFee <br />
* '''link'''="" - ссылка на платежную систему, по которой доступен данный способ оплаты;
+
* '''LogoLink''' - расположение логотипа способа оплаты;
* '''skipDescriptionPage''' - true/false - пропускать на экран оплаты или сразу выполнять платеж с текущими значениями.
+
* '''maximumAmount''' - максимальный размер платежа;
 
+
* '''skipDescriptionPage''' - отображать экран редактирования оплаты или сразу выполнять платеж с текущими значениями.<br />
 +
Если значение skipDescriptionPage=true, то сразу происходит переход к оплате.<br />
 +
Если значение skipDescriptionPage=false, то происходит переход на страницу редактирования суммы к оплате, а уже из нее переход к оплате на платежный шлюз.<br />
 +
* '''link''' - ссылка на платежную систему, по которой доступен данный способ оплаты;
 +
* '''megatecgate''' - ссылка на развернутый шлюз платежной системы (можно не указывать при использовании [[Платежные web-сервисы: Сервис интеграции с платежной системой Alfabank (оплата картой в личном кабинете)|Alfabank]]).
 
[[Файл: am_063.png|left|Предупреждение]]<br />
 
[[Файл: am_063.png|left|Предупреждение]]<br />
 
  Начиная с релиза 9.2.23.0 и 15.2 существует возможность работы с фискализацией платежей. Для этого необходимо  
 
  Начиная с релиза 9.2.23.0 и 15.2 существует возможность работы с фискализацией платежей. Для этого необходимо  
  раскомментировать секцию '''<add code="5" name="Банковская карта" totalFee="5.0" fee1="1.5" fee2="3.5"'''
+
  раскомментировать секцию '''<add code="5" name="Банковская карта"  
 
  '''maximumAmount="1000000" paymentSystem="Uniteller"''' с включенной фискализацией платежей, а также заполнить настройки  
 
  '''maximumAmount="1000000" paymentSystem="Uniteller"''' с включенной фискализацией платежей, а также заполнить настройки  
  '''UseFiscalization, TaxMode и TaxRateCode''', расположенние в конфигурационной файле
+
  '''UseFiscalization, TaxMode и TaxRateCode''', расположенные в конфигурационной файле в разделе соответствующей системы оплаты.
 
<br />
 
<br />
  
 
Секция описания доступных способов оплаты, заданных в секции paymentMethods, текущему пользователю:  
 
Секция описания доступных способов оплаты, заданных в секции paymentMethods, текущему пользователю:  
 
  <paymentAvailabilities>
 
  <paymentAvailabilities>
    <add code="1" paymentMethodCode="1" countryCode="7" filialCode="1" consumerCode="Person" isAvailable="false" priority="100"  paymentConditionCode="2" />
+
<add code="1" paymentMethodCode="1" countryCode="7" filialCode="1" consumerCode="Person" isAvailable="false" priority="100"  paymentConditionCode="2" tourTypes="2"/>
 
  </paymentAvailabilities>
 
  </paymentAvailabilities>
  
Строка 201: Строка 336:
 
* '''isAvailable''' - включено или выключено это ограничение. Значение ''false'' равносильно отсутствию строки в секции;
 
* '''isAvailable''' - включено или выключено это ограничение. Значение ''false'' равносильно отсутствию строки в секции;
 
* '''priority''' - приоритет при выборе нескольких доступных вариантов оплаты;
 
* '''priority''' - приоритет при выборе нескольких доступных вариантов оплаты;
* '''paymentConditionCode''' - идентификатор (''code'') из секции ''paymentConditions''
+
* '''paymentConditionCode''' - идентификатор (''code'') из секции ''paymentConditions'';
 +
* '''tourTypes''' - ограничение доступности метода оплаты по ключу типа тура (''tp_key'' из таблицы ''TipTur''). Отсутствие параметра или пустой параметр - оплата доступна для всех типов туров.
  
 
Секция описания условий платежей:
 
Секция описания условий платежей:
Строка 207: Строка 343:
 
     <add  code="1" feePayer="Customer" paymentSummMTkey="1000" paymentTotalFeeMTkey="1001" paymentFee1MTkey="1002" paymentFee2MTkey="1003"/>
 
     <add  code="1" feePayer="Customer" paymentSummMTkey="1000" paymentTotalFeeMTkey="1001" paymentFee1MTkey="1002" paymentFee2MTkey="1003"/>
 
  </paymentConditions>
 
  </paymentConditions>
 +
 +
===Настройка индивидуальных подписей и ссылок для кнопки оплаты===
 +
Начиная с релиза 15.8 появилась возможность добавить индивидуальную подпись и ссылку к баннеру платежной системы.
 +
Необходимо добавить новые параметры в секции '''paymentMethods''' соответствующего способа оплаты:
 +
<syntaxhighlight lang="xml" enclose="div">
 +
<add code="17" name="Оплатить с кешбек" logoLink="~/Content/themes/base/images/payCashback.jpg"
 +
header="Оплата тура для участников программы «Кешбэк по карте МИР»"
 +
returnMoneyText = "В последствии можно будет вернуть часть средств"
 +
paymentTermsText = "Условия оплаты туров по программе «Кешбэк по карте МИР»"
 +
paymentTermsLink = "https://payment.webpay.by/"
 +
pair = "1"
 +
maximumAmount="1000000"
 +
skipDescriptionPage="true" paymentSystem="Uniteller" link="https://fpay.uniteller.ru/v2/pay"/>
 +
</syntaxhighlight>
 +
<br>[[Файл: Ea_105.png|Описание]]<br />
 +
* '''header''' - шапка с основным описанием способа оплаты<br />
 +
* '''returnMoneyText''' -  дополнительное описание способа оплаты<br />
 +
* '''paymentTermsText''' -  текст гиперссылки<br />
 +
* '''paymentTermsLink''' -  ссылка на которую происходит переход при нажатии на текст гиперссылки<br />
 +
* '''pair''' -  параметр позволяющий связать 2 баннера в пару<br />
 +
В случае, если имеется необходимость в отображении нескольких баннеров с подписями, для корректного отображения на странице рекомендуется их связывать в пары.<br />
 +
Для того, чтобы баннеры отображались рядом необходимо одному присвоить параметр pair = "1", другому - pair = "2" и указать коды данных способов оплат в разделе '''paymentAvailabilities''' друг за другом.<br />
 +
<br>[[Файл: Ea_106.png|Способы оплаты]]<br/>
  
 
===Настройка стилей===
 
===Настройка стилей===
Строка 281: Строка 440:
 
При изменении суммы к оплате автоматически высчитывается комиссия.
 
При изменении суммы к оплате автоматически высчитывается комиссия.
  
После нажатия кнопки «Оплатить» определяются параметры для выбранной платежной системы (из соответствующей секции описанной в web.config) и формируется ссылка для передачи параметров платежа платежной системе. Затем осуществляется переход по сформированной ссылке.
+
После нажатия кнопки «Оплатить» определяются параметры для выбранной платежной системы (из соответствующей секции описанной в web.config) и формируется ссылка для передачи параметров платежа платежной системе. Затем осуществляется переход по сформированной ссылке.<br />
Параметры и способ формирования ссылки к платежной системе определены в отдельном классе для каждой платежной системы, при необходимости можно добавить новые платежные системы.
+
Параметры и способ формирования ссылки к платежной системе определены в отдельном классе для каждой платежной системы, при необходимости можно добавить новые платежные системы.<br />
 +
Путевки, оплаченные с использованием модуля '''Выбор платежной системы''', в системе Мастер-Тур как оплаченные не помечаются. Данный функционал находится в разработке.<br />
 +
==Ошибка SecureChannelFailure==
 +
Появление такой ошибки может быть вызвано невозможностью установить TLS соединение, которое используется для передачи данных от платежной системы. Вызвано некорректными настройками брандмауэра/firewall или некорректными настройками сервера. В случае обнаружения закрытого канала TLS необходимо обратиться к администратору вашей интернет-сети.
 +
On error occurred during signing in. Contact our manager System.Exception: Some error occured: SecureChannelFailure at Megatec.MasterWeb.PaymentSystem.Tinkoff.TinkoffGateway.Authorization(TinkoffParameters parameters, String token) in C:\Users\vmizh\Work\MasterTour\Source\MW\Megatec.MasterWeb.PaymentSystem.Tinkoff\TinkoffGateway.cs:line 430 at Megatec.MasterWeb.PaymentSystem.Tinkoff.TinkoffGateway.Login(IPaymentParameters parameters) in C:\Users\vmizh\Work\MasterTour\Source\MW\Megatec.MasterWeb.PaymentSystem.Tinkoff\TinkoffGateway.cs:line 106 at MasterWebStandard2.Payment.ParseRequest(String action, String orderCode)
 +
 
 +
<font style="color:red">''Для проверки доступности TLS соединения необходимо выполнить следующую команду в командной строке или в оболочке Powershell, заменив ссылку на ссылку для необходимой системы оплаты:''</font><br />
 +
'''Invoke-WebRequest -Uri https://securepay.tinkoff.ru'''<br />
 +
 
 +
Вариант успешного ответа при доступном соединении<br />
 +
Invoke-WebRequest : Удаленный сервер возвратил ошибку: (404) Не найден.
 +
строка:1 знак:1
 +
+ Invoke-WebRequest -Uri https://securepay.tinkoff.ru
  
 +
Вариант некорректного ответа при закрытом соединении<br />
 +
Invoke-WebRequest : The request was aborted: Could not create SSL/TLS secure channel.
 +
At line:1 char:2
 +
+  Invoke-WebRequest -Uri https://securepay.tinkoff.ru
  
 
[[Category:Платежные_web-сервисы]]
 
[[Category:Платежные_web-сервисы]]

Текущая версия на 14:54, 16 февраля 2024

Предупреждение


Начиная с релиза 15.8 после 01.06.2023 работа с отдельными платежными шлюзами не поддерживается. Для работы необходимо использовать новую версию приложения EntryPoint (оплата картой в личном кабинете с выбором системы оплаты) с поддержкой Uniteller, Sberbank, Tinkoff, Alfabank, Assist, PayOnline, WebPay без установки сторонних библиотек и развертывания отдельных сервисов.



Введение

Предупреждение


Перед началом работы с платежными системами необходимо удостовериться в соответствии оборудования и программного обеспечения системно-аппаратным требованиям. Если версия операционной системы не соответствует рекомендуемой, то работа с платежными сервисами не гарантирована в связи с ограничениями протоколов безопасности операционной системы.



Модуль Выбор платежной системы предоставляет возможность покупателю/агентству выбрать способ оплаты путевок. Оплата путевок может осуществляться в экранах «Список заявок» (OrderList.aspx) и «Путевка» (OrderInfo.aspx).
В данный момент доступны следующие способы оплаты:

Для полноценной работы плагина нужно установить соответствующие платежные приложения или Сервис интеграции с платежной системой (оплата через терминалы).

Платежные шлюзы (оплата через терминалы и онлайн) (YouTube)

Установка

Для установки дополнительного модуля Выбор платежной системы нужно создать директорию EntryPoint в каталоге C:/inetpub/wwwroot (корневом каталоге IIS) и выложить туда распакованные файлы из архива
mw-paymentsSystem-entryPoint-9.2.2X.XXXXX.zip.
Начиная с релиза 9222SP0, необходимо копировать dll-файлы используемых платёжных систем (например, Megatec.MasterWeb.PaymentSystem.Sberbank.dll, Megatec.MasterWeb.PaymentSystem.Uniteller.dll) из папки соответствующего платёжного приложения и размещать их по пути: \\EntryPoint\bin\.
В управлении IIS необходимо создать виртуальный каталог для папки EntryPoint.

Создание виртуального каталога

По умолчанию корневым каталогом IIS является C:/Inetpub/wwwroot. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия:
1 Зайти в Пуск (Start) → Настройки (Settings) → Панель управления (Control Panel) → Администрирование (Administrative Tools)
Панель управления

2 Диспетчер служб IIS
Администрирование - Диспетчер служб IIS

3 В открывшемся дереве каталогов выбрать Web Sites – Default Web Site. В открывшемся списке найти папку, для которой нужно создать виртуальный каталог, кликнуть по ней правой кнопкой мыши и выбрать Преобразовать в приложение
Преобразовать в приложение

4 В открывшемся окне нужно нажать кнопку ОК
Добавить приложение

Подключение к базе данных ПК «Мастер-Тур»

В файле web.config, расположенном в папке EntryPoint пропишите необходимые параметры подключения (красным цветом выделены значения, которые необходимо ввести). Строка подключения к базе данных ПК «Мастер-Тур»:
<add key = "connectionString" value = "Data Source=ip-адрес сервера базы данных ПК «Мастер-Тур»;Initial Catalog=название базы данных ПК «Мастер-Тур»;User ID=логин пользователя ПК «Мастер-Тур»;Password=пароль пользователя ПК «Мастер-Тур»"/>

Настройки в файле web.config ПК «Мастер-Web»

Для включения возможности работы EntryPoint необходимо настроить файл конфигурации ПК «Мастер-Web». Настройки задаются в секции <appSettings> файла web.config основного приложения ПК «Мастер-Web».

Описание Значение Настройка
1 Включение дополнительного модуля Выбор платежной системы.

Обязательная настройка.

- true - модуль Выбор платежной системы включен

- false или отсутствие настройки - модуль Выбор платежной системы выключен

<add key="usePaymentEntryPoint" value="true"/>
2 Включение дополнительного модуля Выбор платежной системы.

Обязательная настройка.

- Путь к приложению «Выбор платежной системы».
 <add key="paymentsLink" value="http://somesite/EntryPoint" />
3 Настройка, определяющая статусы путевок, при которых доступна возможность оплаты через систему электронных платежей.

Обязательная настройка.

- ключи статусов из таблицы [Order_Status], при которых доступна оплата через систему электронных платежей.
<add key="paymentsStatuses" value="7,37" />
4 Настройка, позволяющая выводить предупреждающее сообщение о снятии комиссии при оплате. true — сообщение отображается;

false или отусутствие настройки — сообщение не отображается.

<add key="askUserBeforePayment" value="true" />
5 Настройка, определяющая дату, на которую будет подбираться курс валют для пересчета суммы к оплате.

Обработка настройки, начиная с релиза 9220SP31.

  • FixationDate или отсутствие настройки - курс на дату последней фиксации путевки на момент совершения платежа, а если путевка не зафиксирована, то на дату совершения платежа;
  • ConfirmDate — курс на дату последнего подтверждения заявки (если подтверждения путевки еще не было, либо курс на дату подтверждения не заведен, то будет отображаться курс на момент совершения платежа);
  • OrderDate — дата оформления заявки;
  • PaymentDate - курс на дату совершения платежа.

Обработка настройки до релиза 9220SP31.

  • OrderDate — дата оформления заявки;
  • Today — курс на текущую дату;
  • ConfirmDate — курс на дату подтверждения заявки (если подтверждения путевки еще не было, либо курс на дату подтверждения не заведен, то будет отображаться курс на текущую дату).
 <add key="courseExchangeDate" value="OrderDate" />
6 Настройка, определяющая партнеров в базе ПК «Мастер-Тур», которым разрешено осуществлять оплату путёвок онлайн.

Внимание! Настройка обрабатывается, начиная с релиза 9223SP0.

  • Ключи партнеров таблицы [tbl_Partners], которым разрешена онлайн-оплата путёвок;
  • пустое значение или отсутствие настройки – онлайн-оплата путёвок доступна всем партнёрам.
<add key="allowedPaymentPartnerKeys" value="10764"/>
7 Включение режима записи нового платежа в систему «Мастер-Финанс». При этом в ПК «Мастер-Тур» платежи не сохраняются.
  • true - включена запись платежей в «Мастер-Финанс»;
  • false или отсутствие настройки - выключает запись платежей в «Мастер-Финанс».
<add key="AddPaymentsToMasterFinance" value="true" />

В версиях до релиза 9222SP0 может использоваться старая настройка:

<add key="paymentFactory" value="MasterSoft.Payments.PaymentFactoryWebPay, MasterSoft.Payments" />
8 Настройка, позволяющая производить оплату в новой вкладке браузера.

Внимание! Настройка обрабатывается, начиная с релиза 9222SP0.
Важно!
Если данная настройка прописана в файле web.config основного приложения, то она должна быть прописана и в платежном сервисе с тем же значением.

  • false или отсутствие настройки - оплата производится в текущей вкладке браузера;
  • true - оплата производится в новой вкладке браузера.
<add key="OpenPaymentInNewWindow" value="true" />

Если используется интеграция с платёжной системой Sberbank, то необходимо задать настройки в секции <Sberbank> файла web.config приложения EntryPoint.

Описание Значение Настройка
1 Указание пути к платежному приложению Sberbank

Внимание! Путь к приложению обязательно должен содержать ссылку на приложение из внешней сети. В противном случае, она не будет работать.

Путь к установленному платежному приложению Sberbank
<add key="sberbankPaymentApplicationUrl" value="http://somesite/sberbank"/>
2 Настройка, включающая механизм хэширования пароля пользователя, сохраняемого в файлах cookie, что позволяет усилить безопасность ПК "Мастер-Web". По умолчанию хэширование включено. Значение настройки должно совпадать со значением в файле web.config ПК "Мастер-Web". false - хэширование пароля в файлах cookie выключено; true или отсутствие настройки - хэширование пароля в файлах cookie включено.
<add key="HashPasswordForCookie" value="true" />
3 Настройка, позволяющая создавать объект orderBundle (товарная корзина), в котором передаются все необходимые данные о товаре/услуге.
  • true - включено создание объекта orderBundle
  • false или отсутствие настройки - объект orderBundle не создается

По умолчанию настройка имеет значение false.

<add key="useFiscalization" value="false"/>
4 Включение режима записи нового платежа в систему «Мастер-Финанс». При этом в ПК «Мастер-Тур» платежи не сохраняются.
  • true - включена запись платежей в «Мастер-Финанс»;
  • false или отсутствие настройки - выключает запись платежей в «Мастер-Финанс».
<add key="AddPaymentsToMasterFinance" value="true" />

Если данная настройка не включена, то настройки addAgencyComission и addPersonalComission не активны

5 Настройка, позволяющая задавать размер комиссии, которая будет включена в сумму оплаты (для агентств).

Обрабатывается при включенной настройке AddPaymentsToMasterFinance. Внимание! Настройка обрабатывается, начиная с релиза 9222SP0.

Значение комиссии, которую необходимо включить в сумму платежа (целая часть отделяется либо запятой, либо точкой).

Комиссия указывается в процентах.
По умолчанию комиссия для агентств равна нулю.

<add key="addAgencyComission" value="3.627" />
6 Настройка, позволяющая задавать размер комиссии, которая будет включена в сумму оплаты (для частных лиц).

Обрабатывается при включенной настройке AddPaymentsToMasterFinance. Внимание! Настройка обрабатывается, начиная с релиза 9222SP0.

Значение комиссии, которую необходимо включить в сумму платежа (целая часть отделяется либо запятой, либо точкой).

Комиссия указывается в процентах.
По умолчанию комиссия для частных лиц равна нулю.

<add key="addPersonalComission" value="5.0" />

Формат настроек в web.config

Настройки секции <appSettings> файла web.config приложения EntryPoint.

Описание Значение Настройка
1 Строка подключения к базе данных ПК «Мастер-Тур»
 <add key="connectionString" value="Data Source=SERVER;Initial Catalog=DATABASE;User Id=AllServices;Password=1"/>
2 Строка подключения к сервису MTS
<add key="acceptableServices" value="MTS"/>
3 Настройка интервала опроса платежной системы для проверки статуса незавершенных платежей.
Реализовано начиная с релиза 15.8 

Интервал опроса платежной системы в минутах для проверки статуса незавершенных платежей. При отсутствии настройки или указании значения меньше 3 опрос осуществляется раз в 3 минуты. Опрос осуществляется через указанное количество минут до времени указанного в настройке "TimeInMinuteForCheckStatePayments"

<add key ="TimeoutInMinuteForPollPaymentSystem" value="3"/>
4 Настройка задержки проверки статуса платежа на платежной системе.
Реализовано начиная с релиза 15.8  

Отсрочка проверки статуса платежа с момента перехода на платежный шлюз, если платеж сразу не прошел в системе банка. Если по истечении этого времени статус платежа на стороне банка не станет оплаченным, то платеж в ПК "Мастер-Тур" не отобразится. При отсутствии настройки или указании значения меньше 10 отсрочка составляет 10 минут.

<add key ="TimeInMinuteForCheckStatePayments" value="10"/>

Секция описания способов оплаты в платежных системах:

<paymentMethods>
    <add code="1" name="Tinkoff" logoLink="~/Content/logos/logoTinkoff.png" maximumAmount="1000000" skipDescriptionPage="false" paymentSystem="Tinkoff" link="https://securepay.tinkoff.ru/v2/Init/" megatecgate="http://mysite/Tinkoff/" />	
</paymentMethods>
  • code="1" - идентификатор платежного метода, должен быть уникальным. Используется в других секциях, для ссылки на данный метод оплаты;
  • name="Tinkoff" - название платежной системы (если не задана ссылка на логотип, то отображается кнопка с наименованием данного поля);
  • paymentSystem="Tinkoff" - название платежной системы. Одно из предопределенных значений:
    • Alfabank
    • Assist
    • LiqPay
    • PayOnline
    • PayPal
    • Sberbank + Сбербанк-Мир, начиная с релиза 9222SP0 + Сбербанк МИР (детские лагеря), начиная с релиза 15.6
    • Tinkoff, начиная с релиза 15.5
    • Uniteller
    • Webmoney
    • WebPay
    • Яндекс.Деньги


Внимание! Если включена комиссия агентства/частного лица и totalFee, то процент комиссии представляет собой сумму процента комиссии агентства/частного лица и totalFee

  • LogoLink - расположение логотипа способа оплаты;
  • maximumAmount - максимальный размер платежа;
  • skipDescriptionPage - отображать экран редактирования оплаты или сразу выполнять платеж с текущими значениями.

Если значение skipDescriptionPage=true, то сразу происходит переход к оплате.
Если значение skipDescriptionPage=false, то происходит переход на страницу редактирования суммы к оплате, а уже из нее переход к оплате на платежный шлюз.

  • link - ссылка на платежную систему, по которой доступен данный способ оплаты;
  • megatecgate - ссылка на развернутый шлюз платежной системы (можно не указывать при использовании Alfabank).
Предупреждение


Начиная с релиза 9.2.23.0 и 15.2 существует возможность работы с фискализацией платежей. Для этого необходимо 
раскомментировать секцию <add code="5" name="Банковская карта" 
maximumAmount="1000000" paymentSystem="Uniteller" с включенной фискализацией платежей, а также заполнить настройки 
UseFiscalization, TaxMode и TaxRateCode, расположенные в конфигурационной файле в разделе соответствующей системы оплаты.


Секция описания доступных способов оплаты, заданных в секции paymentMethods, текущему пользователю:

<paymentAvailabilities>
<add code="1" paymentMethodCode="1" countryCode="7" filialCode="1" consumerCode="Person" isAvailable="false" priority="100"  paymentConditionCode="2" tourTypes="2"/>
</paymentAvailabilities>
  • code - идентификатор доступности способа оплаты, должен быть уникальным;
  • paymentMethodCode - идентификатор способа оплаты (code) из секции paymentMethod;
  • countryCode - ограничение доступности метода оплаты по ключу страны (cn_key из таблицы tbl_country). Может быть пустым - доступен для всех стран;
  • filialCode - ограничение доступности метода оплаты по коду партнера-филиала из его карточки. Может быть пустым - доступен для всех филиалов;
  • consumerCode - ограничение по типу забронировавшего: турист или агентство. Person - для частных лиц, Agency - для турагентств;
  • isAvailable - включено или выключено это ограничение. Значение false равносильно отсутствию строки в секции;
  • priority - приоритет при выборе нескольких доступных вариантов оплаты;
  • paymentConditionCode - идентификатор (code) из секции paymentConditions;
  • tourTypes - ограничение доступности метода оплаты по ключу типа тура (tp_key из таблицы TipTur). Отсутствие параметра или пустой параметр - оплата доступна для всех типов туров.

Секция описания условий платежей:

<paymentConditions>
    <add  code="1"	feePayer="Customer" paymentSummMTkey="1000" paymentTotalFeeMTkey="1001" paymentFee1MTkey="1002" paymentFee2MTkey="1003"/>
</paymentConditions>

Настройка индивидуальных подписей и ссылок для кнопки оплаты

Начиная с релиза 15.8 появилась возможность добавить индивидуальную подпись и ссылку к баннеру платежной системы. Необходимо добавить новые параметры в секции paymentMethods соответствующего способа оплаты:

<add code="17" name="Оплатить с кешбек" logoLink="~/Content/themes/base/images/payCashback.jpg"
header="Оплата тура для участников программы «Кешбэк по карте МИР»"
returnMoneyText = "В последствии можно будет вернуть часть средств"
paymentTermsText = "Условия оплаты туров по программе «Кешбэк по карте МИР»"
paymentTermsLink = "https://payment.webpay.by/"
pair = "1"
maximumAmount="1000000"
skipDescriptionPage="true" paymentSystem="Uniteller" link="https://fpay.uniteller.ru/v2/pay"/>


Описание

  • header - шапка с основным описанием способа оплаты
  • returnMoneyText - дополнительное описание способа оплаты
  • paymentTermsText - текст гиперссылки
  • paymentTermsLink - ссылка на которую происходит переход при нажатии на текст гиперссылки
  • pair - параметр позволяющий связать 2 баннера в пару

В случае, если имеется необходимость в отображении нескольких баннеров с подписями, для корректного отображения на странице рекомендуется их связывать в пары.
Для того, чтобы баннеры отображались рядом необходимо одному присвоить параметр pair = "1", другому - pair = "2" и указать коды данных способов оплат в разделе paymentAvailabilities друг за другом.

Способы оплаты

Настройка стилей

В папке приложения EntryPoint есть файл Views\Shared\ _Layout.cshtml. В тегах <div> можно разместить информацию в Нeader и Footer. Если Header и Footer не нужны, можно в этом же файле их убрать, удалив теги <div>.

<div id="header">
    Header
  </div>
  . . .
  <div id="footer">
    Footer
  </div>

Подготовка данных

Оплату можно произвести по путевкам, статус которых указан в настройке paymentsStatuses.
Перед использованием приложения Выбор платежной системы необходимо в таблице tbl_Country в поле CN_RateKey проставить ключи национальных валют для стран, в которых зарегистрированы филиалы продающие путевки.

Работа в системе

Поиск путевки

Список заявок, забронированных в базе данных туроператора, доступен в экране «Список заказов» по адресу: http://ip-адрес сервера Мастер-Веб/MasterWebStandard/OrderList.aspx.

Предупреждение


Экран «Список заказов» доступен только для зарегистрированных и авторизованных в системе пользователей.


После ввода имени пользователя и пароля загрузится список заявок, оформленных на покупателя/агентство, указанного в поле «Партнер в БД МТ» при регистрации пользователя в Системе администрирования ПК «Мастер-Web», который сопоставлен имени текущего пользователя.

Экран «Список заказов»

Для отбора путевок можно использовать фильтры:

  • Поиск по номеру заявки;
  • Поиск по фамилии туриста;
  • Поиск по статусу документов на визу;
  • Поиск по стране;
  • Поиск по дате заявки;
  • Дата тура с... и Дата тура по...;
  • Путевки с наличием услуги «Виза»;
  • Путевки с задолженностями.

Способ оплаты

Предупреждение


Модуль "Выбор платежной системы" доступен только для путевок имеющих статус, ключ которого указан в настройке paymentsStatuses.


Способ оплаты доступен из в экранов «Список заявок» и «Информация о заказе».

Экран Список заказов доступен по адресу: http://ip-адрес сервера Мастер-Веб/MasterWebStandard/OrderList.aspx.

Оплата путевок в экране «Список заказов»

Экран Информация о заказе доступен по адресу: http://ip-адрес сервера Мастер-Веб/MasterWebStandard/OrderInfo.aspx.

Оплата путевок в экране «Информация о заказе»

Для выбора способа оплаты необходимо нажать ссылку Оплатить для нужной путевки (или кнопку Оплатить on-line в экране Информация о заказе), после чего пользователь попадает в экран, в котором указывается номер заказа и способы оплаты.

Оплата «Способ оплаты»

Выбрав способ оплаты, открывается экран оплаты, в котором указывается способ оплаты, ссылка на изменение способа (если их несколько), номер путевки, стоимость путевки к оплате, оплаченная сумма, курс валюты, сумма к оплате с учетом комиссии:

Оплата «Параметры платежа»

Сумму к оплате можно изменить, при этом необходимо учитывать правила оплаты, которые выводятся из файла, путь к которому указан в настройке:

<add key="agreementText" value="templates/AgreementText.htm"/>

При изменении суммы к оплате автоматически высчитывается комиссия.

После нажатия кнопки «Оплатить» определяются параметры для выбранной платежной системы (из соответствующей секции описанной в web.config) и формируется ссылка для передачи параметров платежа платежной системе. Затем осуществляется переход по сформированной ссылке.
Параметры и способ формирования ссылки к платежной системе определены в отдельном классе для каждой платежной системы, при необходимости можно добавить новые платежные системы.
Путевки, оплаченные с использованием модуля Выбор платежной системы, в системе Мастер-Тур как оплаченные не помечаются. Данный функционал находится в разработке.

Ошибка SecureChannelFailure

Появление такой ошибки может быть вызвано невозможностью установить TLS соединение, которое используется для передачи данных от платежной системы. Вызвано некорректными настройками брандмауэра/firewall или некорректными настройками сервера. В случае обнаружения закрытого канала TLS необходимо обратиться к администратору вашей интернет-сети.

On error occurred during signing in. Contact our manager System.Exception: Some error occured: SecureChannelFailure at Megatec.MasterWeb.PaymentSystem.Tinkoff.TinkoffGateway.Authorization(TinkoffParameters parameters, String token) in C:\Users\vmizh\Work\MasterTour\Source\MW\Megatec.MasterWeb.PaymentSystem.Tinkoff\TinkoffGateway.cs:line 430 at Megatec.MasterWeb.PaymentSystem.Tinkoff.TinkoffGateway.Login(IPaymentParameters parameters) in C:\Users\vmizh\Work\MasterTour\Source\MW\Megatec.MasterWeb.PaymentSystem.Tinkoff\TinkoffGateway.cs:line 106 at MasterWebStandard2.Payment.ParseRequest(String action, String orderCode)

Для проверки доступности TLS соединения необходимо выполнить следующую команду в командной строке или в оболочке Powershell, заменив ссылку на ссылку для необходимой системы оплаты:
Invoke-WebRequest -Uri https://securepay.tinkoff.ru

Вариант успешного ответа при доступном соединении

Invoke-WebRequest : Удаленный сервер возвратил ошибку: (404) Не найден.
строка:1 знак:1
+ Invoke-WebRequest -Uri https://securepay.tinkoff.ru

Вариант некорректного ответа при закрытом соединении

Invoke-WebRequest : The request was aborted: Could not create SSL/TLS secure channel.
At line:1 char:2
+  Invoke-WebRequest -Uri https://securepay.tinkoff.ru