Данный документ описывает протокол взаимодействия между Предприятием и Банком, реализация которого позволит организовать прием платежей в режиме on-line за услуги Предприятия в зонах самообслуживания (мобильное приложение и терминалы самообслуживания).
Термины и определения
Плательщик – физическое или юридическое лицо, осуществляющее платежи в адрес Предприятия.
Предприятие - Организация, предоставляющая право Платежной системе на прием платежей своих клиентов.
Платежная система (ПС)– программно-аппаратный комплекс осуществляющий прием платежей от Плательщиков в Банке.
Платежный шлюз(ПШ) – программно-аппаратный комплекс находящийся у Предприятия, предоставляющий по запросу Платежной системы информацию о плательщике и служащий для записи информации о принятом платеже Платежной системой в Биллинговую систему Предприятия.
Биллинговая система - автоматизированная система учёта предоставленных услуг, их тарификации и выставления счетов для оплаты.
Протокол - набор соглашений, которые определяют обмен данными между Платежной системой и Платежным шлюзом.
Сторнирование - способ исправления ошибок допущенных при приеме платежей в кассе, заключающийся в том, что ошибочно внесенная операция помечается удаленной и исключается из итоговой суммы перечисляемой Предприятию
Ежедневный итоговый реестр – электронный документ, содержащий информацию обо всех Платежах, принятых Банком от Плательщиков в течение каждого Отчетного дня, формируемый и передаваемый Предприятию.
Отчетный день – день приема Банком Платежей от Плательщиков. Отчетным днем является каждый календарный день.
Платеж – сумма наличных и безналичных денежных средств в валюте Украины, полученная Банком от Плательщика, с целью дальнейшего перечисления на счет Предприятия для пополнения Лицевого счета Плательщика.
Лицевой счет Плательщика – аналитический счет в Биллинговой системе Предприятия, на котором учитываются операции, связанные с оказанием услуг Плательщику.
On-line - подразумевается режим работы при котором между Платежной системой и Платежным шлюзом существует постоянный канал связи с помощью которого системы могут взаимодействовать по мере возникновения событий(запрос поиска плательщика, факт оплаты платежа плательщиком).
ТЕХНИЧЕСКИЕ АСПЕКТЫ ВЗАИМОДЕЙСТВИЯ
Транспортная среда взаимодействия
Информационное взаимодействие между ПС и ПШ происходит в online режиме. Взаимодействие ПС и ПШ осуществляется по открытым каналам связи сети общего пользования Internet. Для обмена используется транспортный протокол TCP/IP, запросы выполняются по защищенному информационному протоколу HTTPS (443-й порт) или HTTP(80 порт) с адресов
Тестовая платформа | Боевые |
---|---|
52.215.79.55 34.248.252.111 54.77.70.233 52.49.186.98 | 52.57.169.65 52.59.76.8 |
Защита передачи данных может осуществляться (необязательно) посредством клиентского SSL сертификата X.509
Сертификат предоставляется Предприятием. Тип хранилища JKS(.jks) или PKCS12(.p12). Длина RSA ключа должна составлять не менее 1024 бит. Идентификация ПС осуществляется посредством атрибута клиентского сертификата Субъект(Subject). В момент установления соединения с ПШ (формирование сессии информационного обмена) производится верификация клиентского сертификата ПС.
Запросы ПС к ПШ передаются методом POST. Ответы от ПШ возвращаются в виде стандартизированных XML-сообщений.
Максимальное время ответа от Платежного шлюза (time out) не должен превышать 60 секунд.
Защита от обрывов соединения на этапе проведения платежа
Защита от обрывов соединения между ПС и ПШ на моменте записи информации о совершенном платеже реализуется следующим образом. После отправки сообщения о принятом платеже ПС в ПШ должен быть предусмотрен обязательный ответ о принятии информации. Время ожидания ответа по умолчанию равно 60 секунд. При отсутствии ответа от ПШ с подтверждением приема платежа по истечению тайм-аута ПС будет периодически повторять отправку платежа. Периодическая отправка платежа будет прекращена при соблюдении одного из условий:
- получено подтверждение приема платежей от ПШ;
- платеж был отправлен ежедневным итоговым реестром.
Исходя из этого интерфейс ПШ должен поддерживать многократное получение информации о приеме одного и того же платежа без дублирования в своей биллинговой системе.
Тестирование механизма приема платежей
Предприятие должно предоставить идентификатор плательщика, платежи по которому будут всегда считаться нереальными. Все остальные свойства плательщика не должны отличатся от реального плательщика. Желательно предоставленный тестовый идентификатор плательщика обязательно должен быть при дальнейшей работе предприятия.
ОПИСАНИЕ ВЗАИМОДЕЙСТВИЯ
1. Платежная система по защищенному интернет-протоколу HTTPS обращается к ПШ с запросом идентификации Плательщика по поисковому атрибуту, например, номеру телефона.
Запросы Платежной системы к Платежному шлюзу передаются методом POST, содержимое запроса (xml) в теле НТТP запроса.
Заголовки HTTP:
Accept-Encoding: <compress | gzip | deflate | sdch | identity>(обычно используется deflate);
Content-Length: 1348;
Content-Type: text/html;charset=utf-8.
lang=ru\uk - нестандартный параметр, язык отображения данных, согласно стандарту ISO 639.
Ответы от ПШ возвращаются в виде стандартизированных XML-сообщений.
Кодировка текстовых данных - все текстовые данные, передаваемые и принимаемые кодируются в UTF-8.
Формат Сумм платежей- предусматривает в качестве разделителя гривен и копеек точку(.). Использование запятой недопустимо. Например: 2.31 - верно, а 2,31 - неверно. Количество знаков после точки - 2.
2. При нахождении Плательщика по введенному поисковому атрибуту ПШ возвращает информацию о плательщике и при наличии возможности его задолженность:
- Если по введенному поисковому реквизиту найдено более одного плательщика - ПШ должен вернуть ошибку с рекомендацией уточнить условия поиска.
- Если по введенному поисковому реквизиту информация о плательщике не найдена - ПШ должен вернуть ошибку с информацией, что плательщик не найден и рекомендацией проверить введенный поисковый атрибут.
3. Плательщик подтверждает правильность найденных реквизитов.
4. При необходимости Плательщик вводит дополнительную информацию, необходимую для совершения платежа, например, показания счетчиков, период оплаты и т.д.
5. Плательщик вносит желаемую сумму оплаты. И подтверждает оплату.
6. Плательщику выдается документ о совершенном платеже:
- «Квитанцию» - при принятии Платежа через мобильное приложение
- «Чек» - при принятии Платежа через платежные терминалы Банка.
7. Информация о совершенном платеже передается ПС в ПШ.
8. На следующий рабочий день, после принятия платежей, Банк производит перечисление денег и ПС формируется итоговый реестр принятых платежей и передается Предприятию. Ежедневный итоговый реестр платежей является окончательным документом, подтверждающим проведение платежей.
Описание сервисов взаимодействия
1. Идентификация плательщика (Предварительный поиск) (метод Presearch)
Данный сервис служит для поиска Плательщика в Биллинговой системе Предприятия по адресу. Результат ответа может возвращать информацию о нескольких Плательщиках. По результатам ответа предварительного поиска выполняется основной поиск.
2. Идентификация плательщика (Поиск) (метод Search)
Данный сервис служит для проверки корректности введенного идентификатора Плательщика в Биллинговой системе Предприятия. Ответ может содержать суммы задолженности абонента. Результат ответа должен возвращать информацию только об одном Плательщике.
3. Проверка возможности записи информации о принятом платеже (метод Check)
Данный сервис служит для проверки возможности записи Предприятием информации о принятом платеже в свою билинговую систему.
4. Расчет комиссии (метод Сalc)
Данный сервис служит для расчета Предприятием суммы комиссии на основе переданной суммы платежа.
5. Запись платежа (метод Pay)
Данный сервис служит для передачи Предприятию информации о принятом платеже.
Также, есть возможность предоставлять информацию о принятых платежах в текстовом формате.