Платежные web-сервисы: Выбор платежной системы (оплата картой в личном кабинете) до релиза 15.9 — различия между версиями
[непроверенная версия] | [досмотренная версия] |
Porunova (обсуждение | вклад) (→Настройки в файле WEB.CONFIG) |
Biryukov (обсуждение | вклад) м (Biryukov переименовал страницу Платежные web-сервисы: Выбор платежной системы (оплата картой в личном кабинете) в [[Платежные web-сервисы: Выбо…) |
||
(не показано 40 промежуточных версий 7 участников) | |||
Строка 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-сервисы: Сервис интеграции с платежной системой | + | * [[Платежные web-сервисы: Сервис интеграции с платежной системой Alfabank (оплата картой в личном кабинете)|Alfabank]] |
− | + | * [[Платежные web-сервисы: Сервис интеграции с платежной системой Assist (оплата картой в личном кабинете)|Assist]] | |
− | + | * [[Платежные web-сервисы: Сервис интеграции с платежной системой LiqPay (оплата картой в личном кабинете)|LiqPay]] | |
− | * [[Платежные web-сервисы: Сервис интеграции с платежной системой | + | * [[Платежные web-сервисы: Сервис интеграции с платежной системой PayOnline (оплата картой в личном кабинете)|PayOnline]] |
− | * [[ | + | * PayPal |
− | * [[Платежные web-сервисы: Сервис интеграции с платежной системой | + | * [[Платежные web-сервисы: Сервис интеграции с платежной системой Sberbank (оплата картой в личном кабинете)|Sberbank]] + Сбербанк-Мир, '''начиная с релиза 9222SP0''' |
− | * [[Платежные web-сервисы: Сервис интеграции с платежной системой Sberbank|Sberbank]], '''начиная с релиза 9222SP0'''. | + | * [[Платежные web-сервисы: Сервис интеграции с платежной системой Tinkoff (оплата картой в личном кабинете)|Tinkoff]], '''начиная с релиза 15.5''' |
− | Для полноценной работы плагина нужно установить соответствующие платежные приложения или [[Платежные web-сервисы: Сервис интеграции с платежной системой|Сервис интеграции с платежной системой]]. | + | * [[Платежные web-сервисы: Сервис интеграции с платежной системой Uniteller (оплата картой в личном кабинете)|Uniteller]] |
+ | * Webmoney | ||
+ | * [[Платежные web-сервисы: Сервис интеграции с платежной системой WebPay (оплата картой в личном кабинете)|WebPay]] | ||
+ | * Яндекс.Деньги | ||
+ | |||
+ | Для полноценной работы плагина нужно установить соответствующие платежные приложения или [[Платежные web-сервисы: Сервис интеграции с платежной системой (оплата через терминалы)|Сервис интеграции с платежной системой (оплата через терминалы)]]. | ||
+ | |||
+ | [https://www.youtube.com/watch?v=Pxobl_1_qCs Платежные шлюзы (оплата через терминалы и онлайн) (YouTube)] | ||
==Установка== | ==Установка== | ||
Строка 35: | Строка 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» === |
− | Настройки задаются в секции <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" | ||
Строка 120: | Строка 131: | ||
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
+ | | 7 | ||
+ | | Включение режима '''записи нового платежа''' в систему '''«Мастер-Финанс»'''. При этом в ПК «Мастер-Тур» платежи '''не сохраняются'''. | ||
+ | | | ||
+ | * '''true''' - включена запись платежей в «Мастер-Финанс»; | ||
+ | * '''false''' или '''отсутствие настройки''' - выключает запись платежей в «Мастер-Финанс». | ||
+ | |<syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="AddPaymentsToMasterFinance" value="true" /> | ||
+ | </syntaxhighlight> | ||
+ | ''В версиях до релиза 9222SP0 может использоваться старая настройка'': | ||
+ | <syntaxhighlight lang="xml" enclose="div"> | ||
+ | <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> | ||
+ | |- style="vertical-align:text-top" | ||
+ | |||
|} | |} | ||
− | Если используется [[Платежные web-сервисы: Сервис интеграции с платежной системой Sberbank|интеграция с платёжной системой Sberbank]], то необходимо задать настройки в секции <code><Sberbank></code> файла <code>web.config</code> приложения EntryPoint. | + | Если используется [[Платежные web-сервисы: Сервис интеграции с платежной системой Sberbank (оплата картой в личном кабинете)|интеграция с платёжной системой Sberbank]], то необходимо задать настройки в секции <code><Sberbank></code> файла <code>web.config</code> приложения EntryPoint. |
{| 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" | ||
Строка 135: | Строка 174: | ||
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
| 1 | | 1 | ||
− | | Указание пути к [[Платежные web-сервисы: Сервис интеграции с платежной системой Sberbank| | + | | Указание пути к [[Платежные web-сервисы: Сервис интеграции с платежной системой Sberbank (оплата картой в личном кабинете)|платежному приложению Sberbank]]<br> |
<font style="color:red">'''Внимание!'''</font> Путь к приложению обязательно должен содержать ссылку на приложение из внешней сети. В противном случае, она не будет работать. | <font style="color:red">'''Внимание!'''</font> Путь к приложению обязательно должен содержать ссылку на приложение из внешней сети. В противном случае, она не будет работать. | ||
− | | Путь к установленному [[Платежные web-сервисы: Сервис интеграции с платежной системой Sberbank| | + | | Путь к установленному [[Платежные web-сервисы: Сервис интеграции с платежной системой Sberbank (оплата картой в личном кабинете)|платежному приложению Sberbank]] |
|<syntaxhighlight lang="xml" enclose="div"> | |<syntaxhighlight lang="xml" enclose="div"> | ||
<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=" | + | <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'''=" | + | * '''name'''="Tinkoff" - название платежной системы (если не задана ссылка на логотип, то отображается кнопка с наименованием данного поля); |
− | * '''paymentSystem'''=" | + | * '''paymentSystem'''="Tinkoff" - название платежной системы. Одно из предопределенных значений: |
− | ** | + | ** [[Платежные web-сервисы: Сервис интеграции с платежной системой Alfabank (оплата картой в личном кабинете)|Alfabank]] |
− | ** | + | ** Assist |
− | ** | + | ** [[Платежные web-сервисы: Сервис интеграции с платежной системой LiqPay (оплата картой в личном кабинете)|LiqPay]] |
− | ** | + | ** [[Платежные web-сервисы: Сервис интеграции с платежной системой PayOnline (оплата картой в личном кабинете)|PayOnline]] |
− | ** | + | ** PayPal |
− | + | ** [[Платежные web-сервисы: Сервис интеграции с платежной системой Sberbank (оплата картой в личном кабинете)|Sberbank]] + Сбербанк-Мир, '''начиная с релиза 9222SP0''' + Сбербанк МИР (детские лагеря), '''начиная с релиза 15.6''' | |
− | ** Sberbank, '''начиная с релиза 9222SP0'''. | + | ** [[Платежные web-сервисы: Сервис интеграции с платежной системой Tinkoff (оплата картой в личном кабинете)|Tinkoff]], '''начиная с релиза 15.5''' |
− | * ''' | + | ** [[Платежные web-сервисы: Сервис интеграции с платежной системой Uniteller (оплата картой в личном кабинете)|Uniteller]] |
− | * '''link''' | + | ** Webmoney |
− | * ''' | + | ** WebPay |
− | + | ** Яндекс.Деньги | |
+ | <br><font style="color:red">Внимание!</font> Если включена комиссия агентства/частного лица и totalFee, то процент комиссии представляет собой сумму процента комиссии агентства/частного лица и totalFee <br /> | ||
+ | * '''LogoLink''' - расположение логотипа способа оплаты; | ||
+ | * '''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="Банковская карта" | + | раскомментировать секцию '''<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" tourTypes="2"/> | |
</paymentAvailabilities> | </paymentAvailabilities> | ||
Строка 182: | Строка 336: | ||
* '''isAvailable''' - включено или выключено это ограничение. Значение ''false'' равносильно отсутствию строки в секции; | * '''isAvailable''' - включено или выключено это ограничение. Значение ''false'' равносильно отсутствию строки в секции; | ||
* '''priority''' - приоритет при выборе нескольких доступных вариантов оплаты; | * '''priority''' - приоритет при выборе нескольких доступных вариантов оплаты; | ||
− | * '''paymentConditionCode''' - идентификатор (''code'') из секции ''paymentConditions'' | + | * '''paymentConditionCode''' - идентификатор (''code'') из секции ''paymentConditions''; |
+ | * '''tourTypes''' - ограничение доступности метода оплаты по ключу типа тура (''tp_key'' из таблицы ''TipTur''). Отсутствие параметра или пустой параметр - оплата доступна для всех типов туров. | ||
Секция описания условий платежей: | Секция описания условий платежей: | ||
Строка 188: | Строка 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/> | ||
===Настройка стилей=== | ===Настройка стилей=== | ||
Строка 262: | Строка 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-сервисы]] |
Текущая версия на 09:32, 31 мая 2024
Начиная с релиза 15.8 после 01.06.2023 работа с отдельными платежными шлюзами не поддерживается. Для работы необходимо использовать новую версию приложения EntryPoint (оплата картой в личном кабинете с выбором системы оплаты) с поддержкой Uniteller, Sberbank, Tinkoff, Alfabank, Assist, PayOnline, WebPay без установки сторонних библиотек и развертывания отдельных сервисов.
Содержание
Введение
Перед началом работы с платежными системами необходимо удостовериться в соответствии оборудования и программного обеспечения системно-аппаратным требованиям. Если версия операционной системы не соответствует рекомендуемой, то работа с платежными сервисами не гарантирована в связи с ограничениями протоколов безопасности операционной системы.
Модуль Выбор платежной системы предоставляет возможность покупателю/агентству выбрать способ оплаты путевок. Оплата путевок может осуществляться в экранах «Список заявок» (OrderList.aspx) и «Путевка» (OrderInfo.aspx).
В данный момент доступны следующие способы оплаты:
- Alfabank
- Assist
- LiqPay
- PayOnline
- PayPal
- Sberbank + Сбербанк-Мир, начиная с релиза 9222SP0
- Tinkoff, начиная с релиза 15.5
- Uniteller
- Webmoney
- WebPay
- Яндекс.Деньги
Для полноценной работы плагина нужно установить соответствующие платежные приложения или Сервис интеграции с платежной системой (оплата через терминалы).
Платежные шлюзы (оплата через терминалы и онлайн) (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
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.
Обработка настройки до релиза 9220SP31.
|
<add key="courseExchangeDate" value="OrderDate" />
|
6 | Настройка, определяющая партнеров в базе ПК «Мастер-Тур», которым разрешено осуществлять оплату путёвок онлайн. Внимание! Настройка обрабатывается, начиная с релиза 9223SP0. |
|
<add key="allowedPaymentPartnerKeys" value="10764"/>
|
7 | Включение режима записи нового платежа в систему «Мастер-Финанс». При этом в ПК «Мастер-Тур» платежи не сохраняются. |
|
<add key="AddPaymentsToMasterFinance" value="true" />
В версиях до релиза 9222SP0 может использоваться старая настройка: <add key="paymentFactory" value="MasterSoft.Payments.PaymentFactoryWebPay, MasterSoft.Payments" />
|
8 | Настройка, позволяющая производить оплату в новой вкладке браузера. Внимание! Настройка обрабатывается, начиная с релиза 9222SP0.
|
|
<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 (товарная корзина), в котором передаются все необходимые данные о товаре/услуге. |
По умолчанию настройка имеет значение false. |
<add key="useFiscalization" value="false"/>
|
4 | Включение режима записи нового платежа в систему «Мастер-Финанс». При этом в ПК «Мастер-Тур» платежи не сохраняются. |
|
<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" - название платежной системы. Одно из предопределенных значений:
Внимание! Если включена комиссия агентства/частного лица и 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