Сбербанк ЕПС, протокол 2. ОСМП

по сравнению с
Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (23)

просмотр истории страницы
Для приема платежей со стороны платежной системы необходимо добавить IP-адреса, с которых осуществляется запрос в список разрешенных, IP через пробел.
{info}При интеграции со Сбербанк "Единый платежный сервис", эта платежная система соответствует следующим протоколам предлагаемым Сбербанком и его агентами:
* Протокол №2 "Описание протокола информационного взаимодействия по on-line запросам ЕПС к серверу Клиента №2"
* Приложение_16_(прот_2).docx

Это делается через настройки Базовой системы (http://<ip_сервера>:8081) \-> Платежные системы \-> Настройка сети \-> АДРЕСА СЕРВЕРОВ ПЛАТЕЖНЫХ СИСТЕМ
Так же по этому протоколу работает платежная система "Расчетные Решения" (сайты www.nbcouec.ru и nko-rr.ru):
* Порядок_взаимодействия_с_Получателем_тип_Б_004_от_26.09.2017.pdf
* Порядок_взаимодействия_с_Получателем_тип_Б_005_от_03.11.2017.pdf{info}

!IP_ACCESS.png|border=1!
{toc}

Обычно сбербанку достаточно протокола OSMP, для этого сделан отдельный файл приема платежей находящийся по адресу http://<ип адрес>:1444/sbrf.php или если необходимо SSL шифрование&nbsp;https://<ип адрес>:1443/sbrf.php
h1. Настройка работы Сбербанк (ОСМП)

{info}
Для доступа к файлам приема платежей необходимо добавить IP с который осуществляется запрос в список IP платежных систем через пробел, а также убедиться что промежуточные сетевые экраны не блокируют доступ на эти порты.
{info}
# Добавьте IP-адреса Сбербанка в список разрешенных и проведите прочие общие настройки платежных систем по статье "[Платежные системы. Общее|CarbonBilling:Платежные системы. Общее]"
# Передайте адрес обработчика платежей Сбербанку зависит от используемого протокола, *http* или *https*:
#* *http*: [http://168.254.14.44:1444/sbrf.php]
#* *https*: [https://169.254.14.43:1443/sbrf.php]
Адреса _168.254.14.44_ и _169.254.14.43_ замените на адрес биллинга, по которому он доступен из сети интернет.
# Если используется SSL:
#- Создайте сертификаты по статье [Настройка SSL сертификатов платежных систем]
#- Отправьте клиентский сертификат контактному лицу со стороны платежной системы.

Если используется SSL то необходимо:
{info}Описание протокола ОСМП можно скачать по адресу:
{code}
http://168.254.14.44:1444/osmp.pdf
{code}
Адрес _168.254.14.44_ также замените на внешний адрес биллинга{info}

- создать сертификаты по [статье|http://docs.carbonsoft.ru/pages/viewpage.action?pageId=49087129]
h1. Настройка со стороны Сбербанка

- отправить клиентский сертификат контактному лицу со стороны платежной системы.
В анкете от Сбербанка необходимо указать следующие настройки:
* *Наличие BASIC-авторизации*: Нет
* *Порт*: 1443
* *Метод передачи данных*: POST
* *Использование MD5*: Нет
* *Тип SSL-соединения*: Двустороннее

Описание протокола ОСМП можно скачать по адресу:
h1. Прохождение тестов Сбербанка

* В некоторых случаях при интеграции Сбербанк генерирует документ под конкретного клиента, где клиент указывает все настройки (адрес обработчика, версию TLS, выбор протокола и т.д.). В этом же документе есть вкладка "Данные для подключения", где нужно выбрать тип SSL-соединения - односторонее или двустороннее. При выборе двустороннего типа также предлагается загрузить либо сертификат (.cer), либо хранилище сертификата (.pfx). В случае, если по .cer не получается соединиться и возникает ошибка handshake, рекомендуется выбрать тип "Хранилище сертификатов" - после этого автотесты Сбербанка проходят.
* Если требуется использовать односторонний SSL, нужно указать путь к обработчику с односторонней проверкой: https://<IP биллинга>:2443/sbrf.php
* Также есть нагрузочное тестирование. Если сервер не очень мощный, большое кол-во оплат может не проходить. В этом случае нужно, чтобы все пользователи вышли из биллинга. После выхода проходит 100% оплат.
{code}
http://<ип адрес сервера>:1444/osmp.pdf
{code}
h1. XSD-схемы ответов на запросы

В анкете отправляемой в Сбербанк, на вопрос "XSD-схемы ответов на запросы" скоприруйте следующий текст:
{code}<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:elementname="response">
<xs:complexType>
<xs:sequence>
<xs:elementname="osmp_txn_id" type="xs:string"></xs:element>
<xs:elementname="result" type="xs:string"></xs:element>
<xs:elementname="prv_txn" type="xs:int"></xs:element>
<xs:elementname="sum" type="xs:double"></xs:element>
<xs:elementname="fio" type="xs:string"></xs:element>
<xs:elementname="balance" type="xs:double"></xs:element>
<xs:elementname="recsum" type="xs:double"></xs:element>
<xs:elementname="minsum" type="xs:double"></xs:element>
<xs:elementname="comment" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>{code}
Но часть полей может отсутствовать, в зависимости от настроек биллинга и проводимой операции (CHECK или PAY), например:
* В ответе на check будут recsum, balance и fio, а в ответе на PAY их не будет.
* В ответе на PAY будут prv_txn и sum, в ответе на CHECK их не будет.

{warning}
Обработчик биллинга не поддерживает Basic-авторизацию.
{warning}

h2. Параметры запросов платежной системы

|| Параметр || Значение \\ || Назначение || Примечание || check || payment ||
| *command* | Возможные значения: check, pay. | Определяет тип запроса | check -- поиск Плательщика (проверка идентификатора);\\
payment -- создание платёжной транзакции | + | + |
| *ACCOUNT* | Строка (определяется сценарием платежа) | Лицевой счет Плательщика | | + | + |
| *sum* | Число | Сумма платежа | Разделитель “.” (точка) | + | + |
| *txn_id* | Число (содержит только цифры, длина максимум 20 знаков) | Идентификатор платежной транзакции | Положительное длинное целое число. Генерируется платёжной системой и используется для идентификации платёжных транзакций. | + | + |
| *txn_date* | Дата и время | Дата и время операции в платежной системе | Дата и время операции в платежной системе (формат ГГГГММДДЧЧММСС, часовой пояс всегда MCK UTC+3) | \- | + |
Пример проверки наличия абонента с номером договора TEST
{code}http://ip-биллинга:1444/sbrf.php?command=check&txn_id=1&account=TEST&sum=10.00{code}