Можнов Алексей Владимирович студент группы ИС-1-05 Научный руководитель: Стучилин Владимир Валерьевич доц., к.т.н. Московский государственный горный университет МЕХАНИЗМ ВЗАИМОДЕЙСТВИЯ ПРОЦЕССИНГОВОГО СЕРВЕРА СО ШЛЮЗАМИ ПЛАТЕЖНЫХ СИСТЕМ AN INTERACTION PAYMENT SERVER MECHANISM WITH PAYMENT SYSTEM GATEWAYS Платежная система (ПС) – это совокупность процедур и связанных с ними компьютерных сетей и программного обеспечения, используемых для проведения финансовых транзакций и взаиморасчетов между участниками системы, реализованная с использованием пластиковых карточек, электронных и наличных денег. Сервер платежной системы Шлюзы операторов услуг Платежные терминалы Рис. 1. Стандартная схема платежной системы. На рис. 1 представлена стандартная схема платежной системы. Здесь платежные терминалы передают данные о заявках на проведения платежа по средствам GPRS каналов. Сервер платежной системы обрабатывает полученные данные и переводит на счет оператора денежные средства объемом, указанным в заявке. Проведенный анализ подобной схемы выявил ряд недостатков, а именно: недостаточную гибкость в настройке и управлении, зависимость от конкретной ПС, невозможность подключения дополнительных услуг и т.д. Для устранения этих недостатков предлагается использовать расширенную схемы с выделенным процессинговым сервером. В таком виде система состоит из: - процессингового центра (один, или несколько серверов); - платежных терминалов; - шлюзов ПС; -шлюзов отдельных операторов. Процессинговый центр соединяется с несколькими платежными системами, к нему также могут подключаться операторы услуг (см. рис. 2). Процессинговый сервер Платежная система 1 Шлюзы операторов услуг Платежная система 2 Платежные терминалы Шлюзы операторов услуг Рис. 2. Расширенная схема платежной системы. Перечень услуг платежных терминалов состоит из услуг платежных систем и услуг операторов, подключенных напрямую к процессинговому серверу. Таким образом, расширяется перечень услуг доступных для использования клиентами. Возможности выбора между несколькими платежными системами позволяет оптимизировать проведения платежей для определенных операторов, учитывая особенности каждой группы платежных терминалов, переводя платежи определенных провайдеров на определенные шлюзы платежных систем. Также процессинговый сервер обеспечивает централизованное управление системой. Платежные терминалы передают заявки на процессинговый сервер, а он, в свою очередь, используя протоколы взаимодействия, передает обработанные данные на шлюзы платежных систем или операторов услуг. Процессинговый сервер включает в себя: модуль удаленного управления аппаратным обеспечением на базе ПО Webmin, FTP сервер, сервер БД на основе MySQL, Web сервер на базе Apache, планировщик задач CRON. В состав пользовательских модулей сервера входят: клиентский модуль, технический модуль, операционный модуль, модуль авторизации терминалов. За взаимодействие со шлюзами платежных систем отвечает операционный модуль процессингового центра. Операционный модуль представляет собой набор скриптов на языке программирования PHP и служит для проведения всех платежей между терминалами, операционным центром Системы, платежными системами и шлюзами отдельных операторов. Модули работы с ПС служат для связи процессингового центра со шлюзами ПС и операторов. В процессе проведения операций по взаимодействию процесссинговый сервер (Агент) и сервер ПС обмениваются электронными документами различных типов по одному из сценариев, определяющих порядок действий Агента и сервера ПС по достижению согласованного решения о результате сделки. Обмен данными производится по протоколу HTTPS. В процессе обмена Агент устанавливает защищенное SSL-соединение с сервером ПС, формирует и направляет серверу сообщение с использованием HTTPметода POST (запрос), и в контексте этого же соединения получает сообщение сервера (ответ). Тело HТTP-сообщения содержит оформленный документ, заголовки сообщения указывают на формат и кодировку документа, объем передаваемых данных и аутентификационную информацию. Аутентификация запроса происходит по электронноцифровой подписи. ЭЦП сообщения представляет собой бинарную строку, которая при передаче кодируется с использованием алгоритма Base64 или преобразуется в строку шестнадцатеричных цифр. По умолчанию используется алгоритм ЭЦП RSA/MD5 с длиной ключа 1024 бит. Цифровая подпись формируется по телу HTTP-запроса. Для корректного взаимодействия с платежной системой необходимо запрашивать справочник этой системы. Справочник представляет собой набор служебных данных, необходимых для проведения сделок, включая перечень услуг, предоставляемых в системе, бизнес-правила и ограничения. Например, для ПС e-port (www.e-port.ru) справочник представляет собой набор записей, состоящих из полей. Разделителем записей служит CLRF, разделителем полей - символ табуляции. Первое поле записи всегда содержит строку, указывающую на действия, которые необходимо выполнить в локальном справочнике с данным объектом (первый символ строки): "-" (минус) – удалить объект из локального справочника; "+" (плюс) – добавить или заменить объект в локальном справочнике. Остальные символы указывают на тип объекта: "x" – заголовок справочника; "v" – описатель провайдера; "e" – описатель услуги пополнения. Справочник на примере ПС e-port: +x 1112990461 0 09-04-2010 00:01:01 27.8789 +v 406 МТС +v 70 Билайн +e 4420 406 МТС 0.1000-1000.0000 1.0000EYE 0.0000 Номер телефон ^\d{10}$ По данным справочника определяется возможность проведения той или иной операции в платежной системе. Обмен сообщениями при проведении операций начинается с отправки Агентом запроса на проведение операции (OPERATION) и завершается получением Агентом от сервера результата по данной операции (RESULT) с завершающим кодом ответа «Успешно» или «Отказано». Для проведения заявки требуется выполнить следующие действия. На примере ПС e-port: 1. Сформировать запрос, используя правила текстового формата: CANCEL id=123 checkid=123 product=4420 value=3.0000QTY account=9165556677 2. Сформировать HTTP-заголовки, описывающие формат, кодировку и размер сообщения: Content-type: text/plain; charset=Windows-1251 Content-length: 73 3. Сформировать HTTP-заголовки для аутентификации запроса: X-Eport-Auth: point=123456; sign=5990c5fc4f6f2d18da95f81de26a48e4a4b4d0e49d323c0e 7346293c847a452309566d130f98fd9890cf769417706bdeef7cb 694fd2fc6935812d4dbb4aa5cfd350b77c51f4a0ab5dc05c4089e 1f97494c681d71f7229bf2f6895c9724f45cf7d85050129d42f8a cae39a8c969f3cb75cb6f23966e25591793cedd40e66100c1; encoding="hex" 4. Объединить стартовую строку запроса, заголовки и тело сообщения: POST https://dealer.e-port.ru/some_url HTTP/1.0 Content-type: text/plain; charset=Windows-1251 Content-length: 73 X-Eport-Auth: point=123456; sign=5990c5fc4f6f2d18da95f81de26a48e4a4b4d0e49d323c0e 7346293c847a452309566d130f98fd9890cf769417706bdeef7cb 694fd2fc6935812d4dbb4aa5cfd350b77c51f4a0ab5dc05c4089e 1f97494c681d71f7229bf2f6895c9724f45cf7d85050129d42f8a cae39a8c969f3cb75cb6f23966e25591793cedd40e66100c1; encoding="hex" CANCEL id=123 checkid=123 product=4420 value=3.0000QTY account=9165556677 Запрос готов к отправке. По приведенным выше алгоритмам были разработаны программные модулю, которые опробованы на реально действующей системе. Таким образом, в ходе проведения данной работы были разработаны модули, обеспечивающие взаимодействие процессингового сервера и шлюзов платежных систем, позволяющие выполнять такие функции как: обработка справочника, проведение заявок, обработка списка серверов, обработка информационных сообщений. Литература 1. Деднев М. А., Дыльнов Д.В., Иванов М. А., Защита информации в банковском деле и электронном бизнесе. – М.: КУДИЦ-ОБРАЗ, 2004. – 512с. – ISBN 5-93378-102-9 2. http://www.e-port.ru – Платежная система e-port 3. http://www.roboxchange.com – Обмен электронной валюты 4. http://www.rp-systems.ru – Российские платежные системы Аннотация В данной статье описаны схемы платежных систем, представлены механизмы взаимодействия процессингового сервера и шлюзов платежных систем, приведен пример формирования запроса на проведение заявки в системе e-port. Ключевые слова платежная система, процессинговый сервер, платежные терминалы, модуль взаимодействия, проведение заявки