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

Материал из Megatec
Перейти к: навигация, поиск
[досмотренная версия][досмотренная версия]
Строка 6: Строка 6:
 
Более ранние версии:<BR>
 
Более ранние версии:<BR>
 
[http://wiki.megatec.ru/index.php?title=Мастер-Web:Дополнительный_модуль_Интеграция_с_платежной_системой_PayOnline&stableid=8064 До 2009.2.12 включительно]<br />
 
[http://wiki.megatec.ru/index.php?title=Мастер-Web:Дополнительный_модуль_Интеграция_с_платежной_системой_PayOnline&stableid=8064 До 2009.2.12 включительно]<br />
 +
[http://wiki.megatec.ru/index.php?title=Мастер-Web:Дополнительный_модуль_Интеграция_с_платежной_системой_PayOnline&stableid=14137 До 2009.2.20.22 включительно]<br />
 
</td>
 
</td>
 
</tr>
 
</tr>
Строка 269: Строка 270:
 
Оплату можно произвести по путевкам, '''статус''' которых указан в настройке '''paymentsStatuses'''.<br />
 
Оплату можно произвести по путевкам, '''статус''' которых указан в настройке '''paymentsStatuses'''.<br />
 
Для возможности оплаты через платёжную систему '''PayOnline''' тип платёжной операции ('''PaymentOperation'''), ключ которой указан в настройке '''kindOfPay''', должен [[Мастер-Тур:Финансовый блок#Справочник типовых операций|иметь бланки]] и [[Мастер-Тур:Финансовый блок#Справочник типовых операций|иметь признак «Приходный»]] (PO_Type is null or PO_Type = 0).
 
Для возможности оплаты через платёжную систему '''PayOnline''' тип платёжной операции ('''PaymentOperation'''), ключ которой указан в настройке '''kindOfPay''', должен [[Мастер-Тур:Финансовый блок#Справочник типовых операций|иметь бланки]] и [[Мастер-Тур:Финансовый блок#Справочник типовых операций|иметь признак «Приходный»]] (PO_Type is null or PO_Type = 0).
 +
 +
==Определение оплаты в зависимости от филиала бронирования==
 +
В папке '''templates''' расположен файл '''filialsMerchantsMappings.xml''', в котором находятся тройки значений:
 +
* ключ филиала бронирования ''(filialID)'';
 +
* мерчант ID – ключ, присвоенный платежной системой филиалу ''(merchantID)'';
 +
* приватный ключ – секретный ключ, присвоенный платежной системой филиалу ''(privateSecurityKey)''.
 +
 +
 +
''Пример заполнения файла шаблона:''
 +
<?xml version="1.0" encoding="utf-8" ?>
 +
  <mappings>
 +
        <mapping filialID="1" merchantID="4191" privateSecurityKey="1bd1b187-98ed-4a95-8685-5adf85590bf9" />
 +
  </mappings>
 +
 +
[[Файл: mb_031.png|left|Дополнительная информация]] <br />
 +
При подготовке запроса к платежной системе в файле '''filialsMerchantsMappings.xml''' ищется филиал с ключом филиала <br /> бронирования путевки, если он есть, то используется мерчант ID ''(merchantID)'' и приватный ключ данного филиала ''(privateSecurityKey)''. <br /> В случае, когда в файле '''filialsMerchantsMappings.xml''' нет подходящего филиала, используются данные по умолчанию, <br / >т.е. из настроек сервиса '''web.config'''.
  
 
==Работа в системе==
 
==Работа в системе==

Версия 11:37, 6 октября 2014

Версия статьи от 6-10-2014. Для перехода на версию статьи, соответствующую используемой Вами версии программы, нажмите ссылку в таблице

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


Введение

Данный модуль реализует возможность оплаты путевок через систему электронных платежей «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
Администрирование - Диспетчер служб IIS

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

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

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

В файле web.config, расположенном в папке Payments пропишите необходимые параметры подключения (красным цветом выделены значения, которые необходимо ввести). Строка подключения к базе данных ПК «Мастер-Тур»:

  1. <add key = "connectionString" value = "Data Source=ip-адрес сервера базы данных ПК «Мастер-Тур»;Initial Catalog=название базы данных ПК «Мастер-Тур»;User ID=логин пользователя ПК «Мастер-Тур»;Password=пароль пользователя ПК «Мастер-Тур»"/>
  2. <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 — курс на текущую дату;
- ConfirmDate — курс на дату подтверждения заявки (если подтверждения путевки еще не было, либо курс на дату подтверждения не заведен, то будет отображаться курс на текущую дату).

 <add key="courseExchangeDate" value="OrderDate" />
5 Настройка, включающая механизм хэширования пароля пользователя, сохраняемого в файлах cookie, что позволяет усилить безопасность ПК «Мастер-Web».

По умолчанию хэширование включено.

- false - хэширование пароля в файлах cookie выключено;

- true или отсутствие настройки - хэширование пароля в файлах cookie включено.

<add key="HashPasswordForCookie" value="true" />
6 Настройка, включающая экран редактирования суммы к оплате. - true - экран корректировки суммы к оплате отображается;

- false или отсутствие настройки - экран корректировки суммы к оплате не отображается.

 <add key="allowCustomAmount" value="true" />
7 Настройка, необходимая при использовании системы «Мастер-Финанс». - Библиотека, с помощью которой ПК «Мастер-Web» может записывать данные в сторонние финансовые таблицы.
 <add key="paymentFactory" value="MasterSoft.Payments.PaymentFactoryPayOnline, MasterSoft.Payments" />

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

Настройки задаются в секции <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 - оплата в валюте тура;
- National – оплата в национальной валюте;
- DefinedBySettings - оплата в валюте, определенной настройкой Сurrency.

<add key="currencyToPay" value="Contract" />
4 Настройка, определяющая код валюты, в которой будет совершаться платеж через платежную систему «PayOnline» при значении DefinedBySettings настройки currencyToPay. - Код валюты (Поле RA_CODE из таблицы [Rates]).

Код валюты из ПК «Мастер-Тур» должен быть сопоставлен с кодом валюты в системе «PayOnline». Данное сопоставление задается в секции <currencyMap>, в качестве параметра key указывается код валюты из ПК «Мастер-Тур», в качестве параметра value задается код валюты в системе «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="filialKey" value="1" />
8 Настройка, определяющая отдел, к которому будет привязываться оплата.

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

- Ключ отдела (кассы), к которому привязывается оплата (Поле PDP_KEY из таблицы [PrtDeps]).
<add key="departmentKey" value="2" />
9 Настройка, позволяющая задавать размер комиссии, которая будет включена в сумму оплаты (для агентств).

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

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

Комиссия указывается в процентах.
Сумма оплаты вычисляется следующим образом:
Если из конечной суммы платежа в системе «PayOnline» вычесть указанный процент - получится стоимость путевки.
Пример:
Стоимость путевки - 100 у.е.
В настройке указана комиссия - 50%.
Итоговая сумма платежа в системе «PayOnline» - 200 у.е.
200 у.е. - 50% * 200 у.е. = 100 у.е. (стоимость путевки).

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

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

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

Комиссия указывается в процентах.
Сумма оплаты вычисляется следующим образом:
Если из конечной суммы платежа в системе «PayOnline» вычесть указанный процент - получится стоимость путевки.
Пример:
Стоимость путевки - 100 у.е.
В настройке указана комиссия - 50%.
Итоговая сумма платежа в системе «PayOnline» - 200 у.е.
200 у.е. - 50% * 200 у.е. = 100 у.е. (стоимость путевки).

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

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

Оплату можно произвести по путевкам, статус которых указан в настройке paymentsStatuses.
Для возможности оплаты через платёжную систему PayOnline тип платёжной операции (PaymentOperation), ключ которой указан в настройке kindOfPay, должен иметь бланки и иметь признак «Приходный» (PO_Type is null or PO_Type = 0).

Определение оплаты в зависимости от филиала бронирования

В папке templates расположен файл filialsMerchantsMappings.xml, в котором находятся тройки значений:

  • ключ филиала бронирования (filialID);
  • мерчант ID – ключ, присвоенный платежной системой филиалу (merchantID);
  • приватный ключ – секретный ключ, присвоенный платежной системой филиалу (privateSecurityKey).


Пример заполнения файла шаблона:

<?xml version="1.0" encoding="utf-8" ?> 
  <mappings> 
       <mapping filialID="1" merchantID="4191" privateSecurityKey="1bd1b187-98ed-4a95-8685-5adf85590bf9" />
  </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»

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

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

После того, как все поля заполнены, нужно нажать на кнопку Оплатить, по нажатию которой загрузится экран Информация о платеже:

«Информация о платеже»

Для того чтобы вернуться к списку заявок нужно нажать на кнопку Завершить.

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