Платежные web-сервисы: Сервис интеграции с платежной системой Sberbank ATM (оплата через терминалы, кассы банка, Сбербанк Онлайн) — различия между версиями
[непроверенная версия] | [непроверенная версия] |
(Новая страница: «Версия статьи от {{REVISIONDAY}}-{{REVISIONMONTH}}-{{REVISIONYEAR}}. <table style="color:black; background-color:#ffffcc;" cellpadding="10" cellspac…») |
|||
Строка 105: | Строка 105: | ||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
<response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | <response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | ||
− | <osmp_txn_id>1234567</osmp_txn_id> | + | '''<osmp_txn_id>1234567</osmp_txn_id> |
<result>0</result> | <result>0</result> | ||
<comment/> | <comment/> | ||
Строка 119: | Строка 119: | ||
</TD></TR></TABLE> | </TD></TR></TABLE> | ||
− | + | Возвращаемые значения: | |
+ | *'''<osmp_txn_id>''' - номер транзакции в системе Банка, который передается Клиенту в переменной txn_id | ||
+ | *'''<result>''' - код результата завершения запроса | ||
+ | *'''<comment>''' - необязательный элемент – комментарий завершения операции | ||
+ | *'''<sum>''' - сумма платежа. Представляет собой дробное число с точностью до сотых, в качестве разделителя используется «.» (точка). | ||
+ | *'''<inn>''' - ИНН Плательщика. | ||
+ | *'''<rs>''' - расчётный счёт Плательщика. | ||
+ | *'''<bik>''' - БИК Банка Плательщика. | ||
+ | *'''<ks>''' - кор. счёт Банка Плательщика | ||
+ | *'''<name>''' - наименование Плательщика. | ||
+ | *'''<bank_name>''' - наименование банка Плательщика. | ||
+ | |||
+ | Возврат <code><result>0</result></code> на запрос «check» свидетельствует о том, что лицевой счет Плательщика с соответствующим ему номером <code>osmp_txn_id</code> может быть пополнен на сумму, указанную в запросе. | ||
+ | |||
===Запрос на пополнение лицевого счёта плательщика=== | ===Запрос на пополнение лицевого счёта плательщика=== | ||
Строка 145: | Строка 158: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</TD></TR></TABLE> | </TD></TR></TABLE> | ||
+ | |||
+ | Возвращаемые значения: | ||
+ | *'''<osmp_txn_id>''' - номер транзакции в системе Банка, который передается Клиенту в переменной <code>txn_id</code> | ||
+ | *'''<result>''' - код результата завершения запроса | ||
+ | *'''<comment>''' - необязательный элемент – комментарий завершения операции | ||
+ | *'''<sum>''' - сумма платежа. Представляет собой дробное число с точностью до сотых, в качестве разделителя используется «.» (точка). | ||
+ | *'''<prv_txn>''' - уникальный номер операции пополнения баланса Плательщика. | ||
Возвращая <code><result>0</result></code> на запрос «pay», Клиент сообщает об успешном завершении операции пополнения баланса. Система полностью завершает обработку данной транзакции. | Возвращая <code><result>0</result></code> на запрос «pay», Клиент сообщает об успешном завершении операции пополнения баланса. Система полностью завершает обработку данной транзакции. | ||
Строка 226: | Строка 246: | ||
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
|} | |} | ||
+ | |||
+ | [[Category:Платежные web-сервисы]] |
Версия 11:40, 27 октября 2016
Версия статьи от 27-10-2016.
Поддерживаемые версии: |
Содержание
Введение
Данный модуль реализует возможность оплаты путёвок в ПК «Мастер-Web» через терминалы, банкоматы, кассы Сбербанка.
Широкое распространение Сбербанка позволяет предоставить возможность оплаты большому количеству пользователей. Особенно полезным данный модуль может быть туристическим компаниям, ориентированным на работу с частными клиентами.
Установка
Для установки дополнительного модуля Сервис интеграции с платежной системой Sberbank для оплаты через терминалы, кассы и банкоматы нужно создать директорию SberbankTerminals в каталоге C:/inetpub/wwwroot
(корневом каталоге IIS) и выложить туда распакованные файлы из архива
mw-SberbankTerminals-9.2.20.ХХXXX.zip
.
Создание виртуального каталога
По умолчанию корневым каталогом IIS является C:/Inetpub/wwwroot
. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия:
1 Зайти в Пуск (Start) → Настройки (Settings) → Панель управления (Control Panel) → Администрирование (Administrative Tools)
2 Диспетчер служб IIS
3 В открывшемся дереве каталогов выбрать Web Sites – Default Web Site. В открывшемся списке найти папку, для которой нужно создать виртуальный каталог, кликнуть по ней правой кнопкой мыши и выбрать Преобразовать в приложение
4 В открывшемся окне нужно нажать кнопку ОК
Подключение к базе данных ПК «Мастер-Тур»
В файле web.config
, расположенном в папке SberbankTerminals пропишите необходимые параметры подключения (красным цветом выделены значения, которые необходимо ввести).
Строка подключения к базе данных ПК «Мастер-Тур»:
<add key = "connectionString" value = "Data Source=ip-адрес сервера базы данных ПК «Мастер-Тур»;Initial Catalog=название базы данных ПК «Мастер-Тур»;User ID=логин пользователя ПК «Мастер-Тур»;Password=пароль пользователя ПК «Мастер-Тур»"/>
Настройка
Настройки задаются в секции <appSettings>
файла web.config
приложения SberbankTerminals.
№ | Описание | Значение | Настройка |
---|---|---|---|
1 | ISO-код рубля. Настройка является обязательной! |
ISO-код рубля, используемый в ПК «Мастер-Тур». | <add key="RubleCurrencyISOCode" value="RUB"/>
|
2 | Настройка, определяющая дату, на которую должен подбираться курс валют для пересчета суммы к оплате. |
|
<add key="courseExchangeDate" value="orderdate"/>
|
3 | Определяет тип платежной операции. Тип платежной операции так же может задаваться в настройке SYSPaymentOperationId в таблице SystemSettings. В таком случае в настройке PaymentOperationId задается название настройки из таблицы SystemSettings. Обязательная настройка. |
Идентификатор типа операции - поле PO_Id из таблицы [PaymentOperations] .Либо название настройки SYSPaymentOperationId из таблицы [SystemSettings] .
|
<add key="PaymentOperationId" value="1" />
|
Подготовка данных
Проверка заявок и проведение платежа через платежную систему в базу туроператора осуществляется по оформленным путевкам.
Работа в системе
Осуществляется 2 типа запросов:
- Pay - проведение платежа,
- Check - проверка состояния счёта Плательщика.
Запрос на проверку состояния счёта плательщика
Для проверки состояния Плательщика, система Банка генерирует запрос следующего вида:
Строка запроса содержит следующие обязательные переменные:
- command=check – запрос на проверку состояния Плательщика
- txn_id=1234567 – внутренний номер платежа в системе Банка
- account=4957835959 – идентификатор Плательщика в информационной системе Клиента
- sum=10.45 – сумма к зачислению на лицевой счет Плательщика.Представляет собой дробное число с точностью до сотых, в качестве разделителя используется «.» (точка).
Ответ клиента выглядит следующим образом:
<response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
'''<osmp_txn_id>1234567</osmp_txn_id>
<result>0</result>
<comment/>
<sum>148139.25</sum>
<inn/>
<rs>111111111111111100000000000000</rs>
<bik>044525593</bik>
<ks>30101.810.2.00000000593</ks>
<name>Фирма-владелец</name>
<bank_name>Тестовый банк</bank_name>
</response>
|
Возвращаемые значения:
- <osmp_txn_id> - номер транзакции в системе Банка, который передается Клиенту в переменной txn_id
- <result> - код результата завершения запроса
- <comment> - необязательный элемент – комментарий завершения операции
- <sum> - сумма платежа. Представляет собой дробное число с точностью до сотых, в качестве разделителя используется «.» (точка).
- <inn> - ИНН Плательщика.
- <rs> - расчётный счёт Плательщика.
- <bik> - БИК Банка Плательщика.
- <ks> - кор. счёт Банка Плательщика
- <name> - наименование Плательщика.
- <bank_name> - наименование банка Плательщика.
Возврат <result>0</result>
на запрос «check» свидетельствует о том, что лицевой счет Плательщика с соответствующим ему номером osmp_txn_id
может быть пополнен на сумму, указанную в запросе.
Запрос на пополнение лицевого счёта плательщика
Строка запроса содержит следующие обязательные переменные:
- command=pay – запрос на пополнение баланса Плательщика
- txn_id=1234567 – внутренний номер платежа в системе Банка
- txn_date=20050815120133 – дата учета платежа в системе Банка
- account=4957835959 – идентификатор Плательщика в информационной системе Клиента
- sum=10.45 – сумма к зачислению на лицевой счет Плательщика
Ответ клиента выглядит следующим образом:
<response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<osmp_txn_id>1234567</osmp_txn_id>
<result>0</result>
<comment/>
<sum>10.45</sum>
<prv_txn>56</prv_txn>
</response>
|
Возвращаемые значения:
- <osmp_txn_id> - номер транзакции в системе Банка, который передается Клиенту в переменной
txn_id
- <result> - код результата завершения запроса
- <comment> - необязательный элемент – комментарий завершения операции
- <sum> - сумма платежа. Представляет собой дробное число с точностью до сотых, в качестве разделителя используется «.» (точка).
- <prv_txn> - уникальный номер операции пополнения баланса Плательщика.
Возвращая <result>0</result>
на запрос «pay», Клиент сообщает об успешном завершении операции пополнения баланса. Система полностью завершает обработку данной транзакции.
Коды завершения обработки запросов
При обработке запросов от системы Банка, сервис возвращает соответствующие коды в элементе <result>
.
Код | Комментарий | Фатальность |
---|---|---|
0 | ОК. | - |
1 | Временная ошибка. Повторите запрос позже. | - |
4 | Неверный формат идентификатора Плательщика | + |
5 | Идентификатор Плательщика не найден (Ошиблись номером) | + |
7 | Прием платежа запрещен провайдером | + |
8 | Прием платежа запрещен по техническим причинам | + |
79 | Счет Плательщика не активен | + |
79 | Счет Плательщика не активен | + |
90 | Проведение платежа не окончено | + |
241 | Сумма слишком мала | + |
242 | Сумма слишком велика | + |
243 | Невозможно проверить состояние счёта | + |
300 | Другая ошибка провайдера | + |