Платежные web-сервисы: Сервис интеграции с платежной системой PayOnline (оплата картой в личном кабинете) — различия между версиями
Porunova (обсуждение | вклад) (→Настройки приложения «Система онлайн платежей») |
Porunova (обсуждение | вклад) |
||
Строка 284: | Строка 284: | ||
==Определение оплаты в зависимости от филиала бронирования== | ==Определение оплаты в зависимости от филиала бронирования== | ||
В папке '''templates''' расположен файл '''filialsMerchantsMappings.xml''', в котором находятся следующие значения: | В папке '''templates''' расположен файл '''filialsMerchantsMappings.xml''', в котором находятся следующие значения: | ||
− | * ключ филиала бронирования ''( | + | * ключ филиала бронирования ''(dogovorFilialID)''; |
* мерчант ID – ключ, присвоенный платежной системой филиалу ''(merchantID)''; | * мерчант ID – ключ, присвоенный платежной системой филиалу ''(merchantID)''; | ||
* приватный ключ – секретный ключ, присвоенный платежной системой филиалу ''(privateSecurityKey)''; | * приватный ключ – секретный ключ, присвоенный платежной системой филиалу ''(privateSecurityKey)''; | ||
Строка 293: | Строка 293: | ||
* отдел, к которому будет привязываться оплата ''(departmentKey)''; | * отдел, к которому будет привязываться оплата ''(departmentKey)''; | ||
* размер комиссии, которая будет включена в сумму оплаты (для агентств) ''(addAgencyComission)''; | * размер комиссии, которая будет включена в сумму оплаты (для агентств) ''(addAgencyComission)''; | ||
− | * размер комиссии, которая будет включена в сумму оплаты (для частных лиц) ''(addPersonalComission)''. | + | * размер комиссии, которая будет включена в сумму оплаты (для частных лиц) ''(addPersonalComission)''; |
+ | * ключ филиала, к которому привязывается оплата ''(paymentFilialKey)''. | ||
Версия 14:55, 16 февраля 2015
Версия статьи от 16-02-2015. Для перехода на версию статьи, соответствующую используемой Вами версии программы, нажмите ссылку в таблице
Более ранние версии: |
Содержание
Введение
Данный модуль реализует возможность оплаты путевок через систему электронных платежей «PayOnline».
«PayOnline» - это мультибанковская система платежей по пластиковым и виртуальным картам через интернет, позволяющая в реальном времени производить авторизацию и обработку транзакций.
Установка
Для установки дополнительного модуля Интеграция с платежной системой «PayOnline» нужно создать директорию Payments в каталоге C:/inetpub/wwwroot
(корневом каталоге IIS) и выложить туда распакованные файлы из архива
payments-payonline-2007.2.XX.XXXX.zip
.
В управлении IIS необходимо создать виртуальный каталог для папки Payments.
Создание виртуального каталога
По умолчанию корневым каталогом IIS является C:/Inetpub/wwwroot
. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия:
1 Зайти в Пуск (Start) → Настройки (Settings) → Панель управления (Control Panel) → Администрирование (Administrative Tools)
2 Диспетчер служб IIS
3 В открывшемся дереве каталогов выбрать Web Sites – Default Web Site. В открывшемся списке найти папку, для которой нужно создать виртуальный каталог, кликнуть по ней правой кнопкой мыши и выбрать Преобразовать в приложение
4 В открывшемся окне нужно нажать кнопку ОК
Подключение к базе данных ПК «Мастер-Тур»
В файле web.config
, расположенном в папке Payments пропишите необходимые параметры подключения (красным цветом выделены значения, которые необходимо ввести).
Строка подключения к базе данных ПК «Мастер-Тур»:
<add key = "connectionString" value = "Data Source=ip-адрес сервера базы данных ПК «Мастер-Тур»;Initial Catalog=название базы данных ПК «Мастер-Тур»;User ID=логин пользователя ПК «Мастер-Тур»;Password=пароль пользователя ПК «Мастер-Тур»"/>
<add key = "connectionStringShort" value = "Data Source=ip-адрес сервера базы данных ПК «Мастер-Тур»;Initial Catalog=название базы данных ПК «Мастер-Тур»"/>
Настройка
После установки надстройка Интеграция с платежной системой PayOnline доступна в экранах «Список заявок» и «Информация о заказе».
Настройки ПК «Мастер-Web»
Настройки задаются в секции <appSettings>
файла web.config
основного приложения ПК «Мастер-Web».
№ | Описание | Значение | Настройка |
---|---|---|---|
1 | Включение дополнительного модуля Система онлайн платежей.
Обязательная настройка. |
- Путь к приложению «Система онлайн платежей». | <add key="paymentsLink" value="http://somesite/Payments" />
|
2 | Настройка, определяющая статусы путевок, при которых доступна возможность оплаты через систему электронных платежей «PayOnline».
Обязательная настройка. |
- ключи статусов из таблицы [Order_Status] , при которых доступна оплата через «PayOnline».
|
<add key="paymentsStatuses" value="7,37" />
|
3 | Настройка, позволяющая выводить предупреждающее сообщение о снятии комиссии при оплате. | – true — сообщение отображается;
– false или отусутствие настройки — сообщение не отображается. |
<add key="askUserBeforePayment" value="true" />
|
4 | Настройка, определяющая дату, на которую будет подбираться курс валют для пересчета суммы к оплате. | - OrderDate — дата оформления заявки;
- Today — курс на текущую дату; |
<add key="courseExchangeDate" value="OrderDate" />
|
5 | Настройка, включающая механизм хэширования пароля пользователя, сохраняемого в файлах cookie , что позволяет усилить безопасность ПК «Мастер-Web».
По умолчанию хэширование включено. |
- false - хэширование пароля в файлах cookie выключено;
- true или отсутствие настройки - хэширование пароля в файлах |
<add key="HashPasswordForCookie" value="true" />
|
6 | Настройка, включающая экран редактирования суммы к оплате. | - true - экран корректировки суммы к оплате отображается;
- false или отсутствие настройки - экран корректировки суммы к оплате не отображается. |
<add key="allowCustomAmount" value="true" />
|
7 | Настройка, необходимая при использовании системы «Мастер-Финанс». | - Библиотека, с помощью которой ПК «Мастер-Web» может записывать данные в сторонние финансовые таблицы. | <add key="paymentFactory" value="MasterSoft.Payments.PaymentFactoryPayOnline, MasterSoft.Payments" />
|
8 | Адреса конечных точек сервиса. Обязательные настройки. Обрабатываются с релиза 2009.2.21. |
В тегах endpoint указываются сервер и порты сервиса. (По умолчанию указан локальный компьютер и стандартный порт.) Если служба установлена на другом компьютере, то необходимо указать его ip-адрес. | <endpoint address="http://localhost:8080//PaymentSignatureServiceHost/SignService/"
<endpoint address="http://localhost:8080//PaymentSignatureServiceHost/PaymentService/"
|
Настройки приложения «Система онлайн платежей»
Настройки задаются в секции <basic>
файла web.config
приложения Система онлайн платежей.
№ | Описание | Значение | Настройка |
---|---|---|---|
1 | Ключ сайта.
Обязательная настройка. |
- Merchant ID сайта в системе «PayOnline». | <add key="merchantId" value="2898" />
|
2 | Ключ.
Обязательная настройка. |
- Security key в Параметрах интеграции сайта в системе «PayOnline». | <add key="privateSecurityKey" value="469634ff-9ef9-4c7b-8cfd-cf3dd7337d18" />
|
3 | Настройка, определяющая валюту, в которой будет совершаться платеж через систему «PayOnline».
Обязательная настройка. |
- Contract - оплата в валюте путевки;
- Tour - оплата в валюте тура; |
<add key="currencyToPay" value="Contract" />
|
4 | Настройка, определяющая код валюты, в которой будет совершаться платеж через платежную систему «PayOnline» при значении DefinedBySettings настройки currencyToPay. | - Код валюты (Поле RA_CODE из таблицы [Rates] ).
Код валюты из ПК «Мастер-Тур» должен быть сопоставлен с кодом валюты в системе «PayOnline». Данное сопоставление задается в секции <currencyMap>
<add key="рб" value="RUB"/>
<add key="$" value="USD"/>
<add key="EU" value="EUR"/>
</currencyMap>
|
<add key="currency" value="рб" />
|
5 | Настройка, определяющая тип операции при проведении платежа.
Обязательная настройка. |
- Ключ операции (Поле PO_ID из таблицы [PaymentOperations] ).
|
<add key="kindOfPay" value="6" />
|
6 | Настройка, определяющая пользователя ПК «Мастер-Тур», к которому будет привязываться оплата.
Обязательная настройка. |
- Ключ пользователя, к которому привязывается оплата (Поле US_KEY из таблицы [UserList] ).
|
<add key="masterTourUser" value="80" />
|
7 | Настройка, определяющая партнера, к которому будет привязываться оплата.
Обязательная настройка. |
- Ключ филиала, к которому привязывается оплата (Поле PR_KEY из талбицы [Partners] ).
|
<add key="paymentFilialKey" value="1" />
|
8 | Настройка, определяющая отдел, к которому будет привязываться оплата.
Обязательная настройка. |
- Ключ отдела (кассы), к которому привязывается оплата (Поле PDP_KEY из таблицы [PrtDeps] ).
|
<add key="departmentKey" value="2" />
|
9 | Настройка, позволяющая задавать размер комиссии, которая будет включена в сумму оплаты (для агентств).
Обязательная настройка. |
- Значение комиссии, которую необходимо включить в сумму платежа (целая часть отделяется запятой).
Комиссия указывается в процентах. |
<add key="addAgencyComission" value="3,627" />
|
10 | Настройка, позволяющая задавать размер комиссии, которая будет включена в сумму оплаты (для частных лиц).
Обязательная настройка. |
- Значение комиссии, которую необходимо включить в сумму платежа (целая часть отделяется запятой).
Комиссия указывается в процентах. |
<add key="addPersonalComission" value="5" />
|
Подготовка данных
Оплату можно произвести по путевкам, статус которых указан в настройке paymentsStatuses.
Для возможности оплаты через платёжную систему PayOnline тип платёжной операции (PaymentOperation), ключ которой указан в настройке kindOfPay, должен иметь бланки и иметь признак «Приходный» (PO_Type is null or PO_Type = 0).
Определение оплаты в зависимости от филиала бронирования
В папке templates расположен файл filialsMerchantsMappings.xml, в котором находятся следующие значения:
- ключ филиала бронирования (dogovorFilialID);
- мерчант ID – ключ, присвоенный платежной системой филиалу (merchantID);
- приватный ключ – секретный ключ, присвоенный платежной системой филиалу (privateSecurityKey);
- валюта, в которой будет совершаться платеж через систему «PayOnline (currencyToPay);
- код валюты, в которой будет совершаться платеж через платежную систему «PayOnline» при значении DefinedBySettings настройки currencyToPay (currency);
- тип операции при проведении платежа (kindOfPay);
- пользователь ПК «Мастер-Тур», к которому будет привязываться оплата (masterTourUser);
- отдел, к которому будет привязываться оплата (departmentKey);
- размер комиссии, которая будет включена в сумму оплаты (для агентств) (addAgencyComission);
- размер комиссии, которая будет включена в сумму оплаты (для частных лиц) (addPersonalComission);
- ключ филиала, к которому привязывается оплата (paymentFilialKey).
Пример заполнения файла шаблона:
<?xml version="1.0" encoding="utf-8" ?> <mappings> <mapping filialID="1" merchantID="4191" privateSecurityKey="1bd1b187-98ed-4a95-8685-5adf85590bf9" currencyToPay="Contract"
currency="рб" kindOfPay="6" masterTourUser="80" departmentKey="2" addAgencyComission="3,627"/> </mappings>
При подготовке запроса к платежной системе в файле filialsMerchantsMappings.xml ищется филиал с ключом филиала
бронирования путевки, если он есть, то используется мерчант ID (merchantID), приватный ключ (privateSecurityKey)
и остальные настройки данного филиала. В случае, когда в файле filialsMerchantsMappings.xml нет подходящего филиала
или одной из настроек, используются данные по умолчанию, т.е. из настроек сервиса web.config.
Работа в системе
Поиск путевки
Список заявок, забронированных в базе данных туроператора, доступен в экране «Список заказов» по адресу: http://ip-адрес сервера Мастер-Веб/MasterWebStandard/OrderList.aspx
.
Экран «Список заказов» доступен только для зарегистрированных и авторизованных в системе пользователей.
После ввода имени пользователя и пароля загрузится список заявок, оформленных на покупателя/агентство, указанного в поле «Партнер в БД МТ» при регистрации пользователя в Системе администрирования ПК «Мастер-Web», который сопоставлен имени текущего пользователя.
Для отбора путевок можно использовать фильтры:
- Поиск по номеру заявки;
- Поиск по фамилии туриста;
- Поиск по статусу документов на визу;
- Поиск по стране;
- Поиск по дате заявки;
- Дата тура с... и Дата тура по...;
- Путевки с наличием услуги «Виза»;
- Путевки с задолженностями.
Оплата путевки
Оплата доступна только для путевок имеющих статус, ключ которого указан в настройке paymentsStatuses.
Оплата путевок доступна в экранах «Список заявок» и «Информация о заказе».
Экран Список заказов доступен по адресу: http://ip-адрес сервера Мастер-Веб/MasterWebStandard/OrderList.aspx
.
Экран Информация о заказе доступен по адресу: http://ip-адрес сервера Мастер-Веб/MasterWebStandard/OrderInfo.aspx
.
Для оплаты путевки через систему электронных платежей «PayOnline» необходимо нажать ссылку Оплатить для нужной путевки (или кнопку Оплатить on-line в экране Информация о заказе), после чего пользователь попадает в экран, в котором указывается номер заказа и сумма платежа.
Сумма к оплате выводится в национальной валюте. При необходимости, она конвертируется по соответствующему курсу.
Для оплаты необходимо нажать на Оплатить с банковской карты.
На следующем экране необходимо ввести данные банковской карты, с помощью которой производится оплата:
После того, как все поля заполнены, нужно нажать на кнопку Оплатить, по нажатию которой загрузится экран Информация о платеже:
Для того чтобы вернуться к списку заявок нужно нажать на кнопку Завершить.
При успешном проведении платежа в базе автоматически создается проводка и у путевки прописывается сумма оплаты. Также в истории путевки добавляется запись об оплате через платежную систему «PayOnline».