Документация по подключению электронных платежей Flexidengi к системе приема Описание основных технических принципов взаимодействия с платформой Версия 0.4 от 20.12.2011 I. Общие принципы Система приема электронных платежей Flexidengi – платформа, предоставляющая пользователю возможность оплаты услуг и внесения средств в различные игровые и интернет-проекты. Пользователь имеет возможность использовать различные способы оплаты, например банковский перевод на указанный счет, электронные деньги (Webmoney, Yandex-деньги, Mail-деньги), взнос наличности через терминалы различных платежных систем (Qiwi, Rapida, Новоплат и многие другие). Более подробно все способы оплаты Вы можете посмотреть на нашем сайте http://flexidengi.ru/info/schet/ . II. Регистрация в системе Чтобы разместить свои проекты в системе Flexidengi, прежде всего надо зарегистрироваться как Партнеру платежной системы. Для этого перейдите по ссылке http://flexidengi.ru/register. В открывшейся форме Вы можете пройти регистрацию как как юридическое лицо (см. рис. 1). Обязательные поля для заполнения (отмечены звездочкой): Название Логин Пароль Адрес электронной почты Банковские реквизиты Партнера для произведения выплат Для физических лиц также требуются полные паспортные данные, а для юридических – название организации. После прохождения процедуры регистрации свяжитесь с менеджером компании Flexidengi по электронной почте support@flexidengi.ru. Менеджер производит проверку и активацию вновь зарегистрированного профиля Партнера. Когда профиль активирован, Вы можете зайти в личный кабинет из формы на главной странице сайта Flexidengi, используя логин и пароль, введенные при регистрации. Только после активации профиля в Личном кабинете возможно создание сервисов. Рисунок 1 III. Схема работы Взаимодействие платформы с сервисами Партнеров осуществляется по протоколу HTTP. Платформой Flexidengi вызывается один из скриптов-обработчиков сервиса в зависимости от типа запроса. Скрипт-обработчик должен ответить в заданном формате в течении 3 секунд. По умолчанию предполагается, что скрипт отвечает в кодировке UTF-8. Время ожидания ответа и кодировка могут быть изменены по запросу Партнера. В системе Flexidengi есть два типа запросов: 1. Проверка существования ника пользователя в системе партнера 2. Уведомление о произведении платежа по данному сервису Рассмотрим каждый из запросов более детально. 1) Проверка существования ника пользователя При совершении платежа пользователь на втором шаге вводит свой ник в системе Партнера (рис. 2). Для проверки ника платформа отправляет запрос на скриптобработчик партнера. Рисунок 2 Запрос передается методом POST на URL обработчика, который задается в Настройках сервиса в Личном кабинете Партнера. Также есть возможность задать дополнительный URL обработчика для проверки ника, который будет использоваться, если основной обработчик не возвращает ответ за заданный таймаут. В запросе передаются следующие параметры: nick – ник пользователя для проверки в системе Партнера. В качестве ника может быть email или другой идентификатор пользователя. Тип идентификатора для конкретного сервиса может быть изменен по запросу Партнера. hash – хеш md5 от секретного ключа, который задается в настройках данного сервиса в Личном кабинете партнера. hash = md5(<секретный ключ>); Пример запроса для проверки существования ника пользователя: http://url.ru/check_nick.php?nick=testuser&hash=13766f62ea9c22b239bce8 4dcb05fb41 В случае, если ник пользователя существует в системе Партнера, скрипт-обработчик должен вернуть ответ: ok (маленькими латинскими буквами в нижнем регистре) При любом другом ответе обработчика ник пользователя считается несуществующим, и пользователь не сможет провести платеж для данного сервиса. 2) Уведомление о произведении платежа После того, как пользователь совершил платеж, в платформу Flexidengi от платежной системы приходит уведомление, подтверждающее оплату. Для извещения Партнера в этом случае отправляется запрос на URL для уведомлений о произведении платежа. Запрос передается методом POST на URL обработчика, который задается в Настройках сервиса в Личном кабинете Партнера. Также есть возможность задать дополнительный URL обработчика для уведомления о произведении платежа, который будет использоваться, если основной обработчик не возвращает ответ за заданный таймаут. В запросе передаются следующие параметры: issuer_id – уникальный идентификатор платежа в системе Flexidengi. sum – сумма платежа пользователя за вычетом комиссии платежной системы. nick – идентификатор пользователя в системе Партнера. Водится пользователем на втором шаге platsys – идентификатор платежной системы в Flexidengi (список идентификаторов платежных систем запрашивайте у менеджеров) signature – хеш md5 от строки вида issuer_id + nick + sum + skey, где skey – секретный ключ, заданный в настройках сервиса в Личном кабинете. Значения конкатенируются, символ плюса не подставляется. signature = md5(issuer_id + nick + sum + skey); Набор параметров и их значения могут быть изменены по запросу Партнера. Для этого необходимо обратиться к менеджеру системы Flexidengi по электронной почте support@flexidengi.ru. Пример запроса: http://url.ru/payment.php?issuer_id=123456&sum=100&nick=testnick&signature=13 766f62ea9c22b239bce84dcb05fb41 Запрос будет считаться переданным в случае, если получен HTTP – ответ с кодом 200. Запрос с другим кодом будет считаться не принятым, и информация будет передана повторно. VI. Совершение платежа с ресурса Партнера Пользователь может произвести платеж с ресурса Партнера. В этом случае ему нет необходимости проходить шаг выбора оплачиваемого сервиса и проводить проверку ника. Партнер размещает у себя в проекте ссылку на скрипт в системе Flexidengi, с помощью которого пользователь сразу сможет перейти к одному из шагов оплаты – выбору платежной системы, вводу суммы платежа или непосредственно к оплате с уже известными параметрами платежа. URL скрипта для перехода к шагу выбора платежной системы с ресурса Партнера: http://flexidengi.ru/payment_page Для определения сервиса и идентификатора пользователя платформой Flexidengi в данный скрипт необходимо передать методом POST следующие параметры: service_id – уникальный идентификатор сервиса Партнера в системе Flexidengi. Выдается после регистрации нового сервиса по запросу Партнера. nick – идентификатор пользователя в системе Партнера. sum – сумма, которую необходимо оплатить пользователю (может быть пропущена) signature – хеш md5 от строки вида service_id + nick + sum + skey, где skey – секретный ключ, заданный в настройках сервиса в Личном кабинете. Значения конкатенируются, символ плюса не подставляется. signature = md5(service_id + nick + sum + skey); Если параметр sum указан, пользователь не сможет изменить сумму платежа Если параметр sum не указан, он считается пустой строкой при формировании signature При неверно переданном значении параметра signature запрос недействительным, и происходит переадресация на страницу ошибки. считается Передаваемый идентификатор пользователя должен быть валидным в системе Партнера. Проверка имени пользователя в этом случае происходит на стороне партнера при авторизации пользователя в интернет-проекте. При данном наборе параметров происходит переход на шаг выбора платежной системе на сайте Flexidengi.