Платежные web-сервисы: Сервис интеграции с платежной системой Alfabank (оплата картой в личном кабинете)

Материал из Megatec
Перейти к: навигация, поиск

Версия статьи от 8-05-2024.

Поддерживаемые версии ПК «Мастер-Тур»:
Начиная с 15 версии
Доступна с релиза 15.8


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


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



Введение

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


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



Данный модуль реализует возможность оплаты путевок через систему электронных платежей «Alfabank».

Установка

Для установки дополнительного модуля Сервис интеграции с платежной системой «Alfabank» нужно создать директорию Alfabank в каталоге C:/inetpub/wwwroot (корневом каталоге IIS) и выложить туда распакованные файлы из архива
payments-alfabank-XX.X.X.XXXXX.zip.
Устанавливать дополнительный модуль необходимо в том же домене, где расположено основное приложение ПК «Мастер-Web».
Начиная с релиза 15.8, если используется дополнительный модуль Выбор платежной системы (оплата картой в личном кабинете), то необходимо скопировать файл Megatec.MasterWeb.PaymentSystem.Alfabank.dll из /Payments/bin/ и разместить в папке /EntryPoint/bin/.
В управлении IIS необходимо создать виртуальный каталог для папки Alfabank.

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

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

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

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

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

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

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

Настройка

После установки Сервис интеграции с платежной системой Alfabank доступен в экранах «Список заявок» и «Информация о заказе».

Настройки ПК «Мастер-Web»

Настройки задаются в секции <appSettings> файла web.config основного приложения ПК «Мастер-Web».

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

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

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

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

Ключи статусов из таблицы [Order_Status], при которых доступна оплата через «Alfabank».
<add key="paymentsStatuses" value="7,33" />
3 Настройка, позволяющая выводить предупреждающее сообщение о снятии комиссии при оплате.
  • true — сообщение отображается;
  • false или отсутствие настройки — сообщение не отображается.
<add key="askUserBeforePayment" value="true" />
4 Настройка, включающая механизм хэширования пароля пользователя, сохраняемого в файлах cookie, что позволяет усилить безопасность ПК «Мастер-Web».

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

  • false или отсутствие настройки - хэширование пароля в файлах cookie выключено;
  • true - хэширование пароля в файлах cookie включено.
<add key="HashPasswordForCookie" value="true" />
5 Настройка, определяющая партнеров в базе ПК «Мастер-Тур», которым разрешено осуществлять оплату путёвок онлайн.

  • Ключи партнеров таблицы [tbl_Partners], которым разрешена онлайн-оплата путёвок;
  • пустое значение или отсутствие настройки – онлайн-оплата путёвок доступна всем партнёрам.
<add key="allowedPaymentPartnerKeys" value="10764"/>
6 Настройка, позволяющая производить оплату в новой вкладке браузера.

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

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

Настройки приложения «Система онлайн платежей Alfabank»

Настройки задаются в секции <settings> файла web.config приложения Система онлайн платежей Alfabank.

Описание Значение Настройка
1 Точки продажи (shop_ID)

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

Shop_ID из раздела Точки продажи ЛК «Alfabank».
<add key="shop_id" value="32565" />
2 Логин

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

Login из раздела Параметры авторизации ЛК «Alfabank».
<add key="login" value="megatec" />
3 Пароль

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

Password из раздела Параметры авторизации ЛК «Alfabank».
<add key="password" value="ХХХХХХХХХХ" />
4 Настройка, определяющая язык окна платежной формы «Alfabank».

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

  • ru - русский язык
  • en - английский язык
<add key="language" value="ru" />
5 Настройка, позволяющая задавать размер комиссии, которая будет включена в сумму оплаты (для агентств)

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

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

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

<add key="addPersonalComission" value="17,4" />
7 Настройка, определяющая пользователя ПК «Мастер-Тур», к которому будет привязываться оплата.

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

Ключ пользователя, к которому привязывается оплата (Поле US_KEY из таблицы [UserList]).
<add key="masterTourUser" value="0" />
8 Настройка, определяющая отдел, к которому будет привязываться оплата.

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

Ключ отдела (кассы), к которому привязывается оплата (Поле PDP_KEY из таблицы [PrtDeps]).
<add key="departmentKey" value="0" />
9 Настройка, включающая расчет через Мастер финанс.
  • false - расчет через мастер финанс не включен;
  • true - расчет через мастер финанс включен.
<add key="AddPaymentsToMasterFinance" value="false"/>
10 Настройка, определяющая тип операции при проведении платежа.

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

Ключ операции (Поле PO_ID из таблицы [PaymentOperations]).
<add key="PaymentOperationId" value="6" />
11 Настройка, определяющая тип операции при проведении платежа для комиссий. Ключ операции (Поле PO_ID из таблицы [PaymentOperations]).
<add key="paymentOperationCommissionId" value="" />
12 Настройка, задающая услугу, которая добавится в путевку при наличии комиссии, и стоимость которой будет равна сумме комиссии. Работает вместе с настройками NewDogovorServiceSvKey и NewDogovorServicePartnerKey.

Обрабатывается с релиза 15.8.

Ключ услуги (Поле SL_KEY из таблицы [ServiceList]).
<add key="NewDogovorServiceServiceListKey" value="450" />
13 Настройка, задающая класс для услуги, добавляемой в путевку при наличии комиссии. Работает вместе с настройками NewDogovorServiceServiceListKey и NewDogovorServicePartnerKey.

Обрабатывается с релиза 15.8.

Ключ класса услуги (Поле SV_KEY из таблицы [Service]).
<add key="NewDogovorServiceSvKey" value="1055" />
14 Настройка, задающая партнера, которая будет являться поставщиком для услуги, добавляемой в путевку при наличии комиссии. Работает вместе с настройками NewDogovorServiceServiceListKey и NewDogovorServiceSvKey.

Обрабатывается с релиза 15.8.

Ключ класса услуги (Поле PR_KEY из таблицы [Partners]).
<add key="NewDogovorServicePartnerKey" value="12921" />
15 Настройка, определяющая адрес электронной почты по умолчанию. Используется в том случае, если не указан адрес электронной почты главного туриста.
<add key="defaultEmail" value="" />


Настройки задаются в секции <appSettings> файла web.config приложения Система онлайн платежей Alfabank

Описание Значение Настройка
1 Имя текущей установленной службы.

Внимание! Настройка обрабатывается только в версии Мастер-Тур 15.

Наименование службы, к которой может обращаться текущий клиент (по значению настройки acceptableServices в MasterTourService). По умолчанию настройка не заполнена. Значение настройки должно быть явно задано.
<add key="acceptableServices" value=""/>
2 Настройка, включающая экран редактирования суммы к оплате.

Текст с правилами оплаты и фиксации курса можно отредактировать в файле Payment.aspx платежного приложения. После изменения файла требуется перезагрузить пул приложения.

  • true - экран корректировки суммы к оплате отображается;
  • false или отсутствие настройки - экран корректировки суммы к оплате не отображается.
<add key="allowCustomAmount" value="true" />


Начиная с релиза 15.8 появилась возможность добавления услуги комиссии от оплаты через платежный шлюз в путевку и формирования ПКО различным образом.

Сценарии работы

Предполагаются 3 сценария работы:
1. Заданы размеры комиссий и параметры paymentOperationId, paymentOperationComissionId, NewDogovorServiceSvKey, NewDogovorServiceServiceListKey, NewDogovorServicePartnerKey. В этом случае при оплате в базе данных формируется 1 ПКО (сумма за путевку + сумма комиссии), в путевке создается услуга "Комиссия при оплате через платежный шлюз" и сумма путевки увеличивается на размер стоимости созданной услуги.
2. Заданы размеры комиссий и параметры paymentOperationId, paymentOperationComissionId. Параметры NewDogovorServiceSvKey, NewDogovorServiceServiceListKey, NewDogovorServicePartnerKey не заданы. В этом случае при оплате в базе данных формируются 2 ПКО (отдельно за путевку и за комиссию). Услуга в путевке не создается и сумма путевки не меняется.
3. Заданы размеры комиссий и параметр paymentOperationId. Значение параметра paymentOperationComissionId=0 или параметр отсутствует. Оплата за комиссию уходит сразу в банк. В этом случае при оплате в базе данных формируется 1 ПКО за путевку.
Внимание! Данные настройки не работают при включенной настройке <add key="AddPaymentsToMasterFinance" value="true"/>.

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

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

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

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

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


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


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

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


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

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

Оплата путевки

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


Оплата доступна только для путевок имеющих статус, ключ которого указан в настройке paymentsStatuses.


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

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

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


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

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



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

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

Вод данных банковской карты


После того, как все поля заполнены, нужно нажать на кнопку Оплатить.

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

Оплата путевки по QR коду

Для оплаты путевки через систему электронных платежей «Alfabank» необходимо нажать ссылку Оплатить для нужной путевки или кнопку Оплатить on-line в экране Информация о заказе.
Произойдет переход к выбору платежных систем в котором необходимо выбрать кнопку с подписью «СБП».
QR

После нажатия выйдет окно с QR кодом и надписью "Оплатить по ссылке", который необходимо отсканировать платежным приложением банка и оплатить. СБП
Также имеется возможность перейти по надписи "Оплатить по ссылке", откроется окно оплаты с QR - кодом.
СБП

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


После оплаты по QR коду переход на страницу, с которой совершалась оплата, невозможен в связи с функционалом работы Системы Быстрых Платежей.

Подключение к интернет-эквайрингу от Альфа-Банк

Для подключения услуг Интернет-эквайринга в АО «Альфа-Банк» для работы с ПК "Мастер-Тур" необходимо выполнить описанные ниже действия.

У организации уже открыт расчетный счет в Альфа-Банке

  • Зайти в Интернет Банк через мобильное приложение или через официальный сайт Банка https://alfabank.ru/ и подать заявку на подключение Интернет-эквайринга.

Или

  • обратиться к курирующему менеджеру Банка для заведения заявки на Интернет-эквайринг.

При заполнении заявки, указать: Подключение Интернет-эквайринга необходимо реализовать через платежный шлюз IPS.

У организации еще нет расчетного счета в Альфа-Банке

  • На сайте Банка по ссылке https://alfabank.ru/sme/payservice/internet-acquiring/ подать заявку на подключение Интернет-эквайринга, параллельно с которым будет инициировано открытие расчетного счета для организации в Альфа-Банке.

При заполнении заявки, указать: Подключение Интернет-эквайринга необходимо реализовать через платежный шлюз IPS.

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


Обратите внимание, что для корректной записи платежей в Мастер Тур, необходимо настроить автоматическое подтверждение платежа. Для этого необходимо обратиться в техподдержку Альфа-Банка.

Существует возможность также подтверждать платежи вручную. Подробнее можно ознакомиться тут https://ecom.alfabank.ru/assets/instructions/merchantManual/pages/index/general_description.html#koordinati_podkljuchenija или запросить информацию в технической поддержке Альфа-Банка

Ошибка 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