Настройка АСР
- Необходимо добавить роль "Абонент" юридическому лицу оператора связи. Данному абоненту необходимо предоставить доступ к приложению "Прием платежей из внешних систем", логин и пароль прописать в конфигурационный файл hpd.conf (параметры hydra user и hydra password).
- Необходимо ввести в АСР платежные системы, с которыми предстоит работать. Платежные системы выступают в АСР в роли "Банк".
- Необходимо добавить юридическому лицу оператора связи счета типа "Платежная система" в банках (платежных системах), с которыми предстоит работать.
Конфигурационный файл
Пример конфигурационного файла hpd.conf (актуальная версия лежит в директории установки hpd):
# Путь до лог-файла log path = /var/log/hpd/hpd.log # Уровень логгирования log level = debug # Максимальный размер лог-файла до создания нового, Кб log rotate size = 10240 # Количество резервируемых лог-файлов log rotate count = 25 # Путь до PID-файла приложения pid path = /var/run/hydra/hpd.pid # Директория с плагинами plugins directory = plugins # Список плагинов plugins list = osmp # Статус обычного HTTP-сервера basic server status = off # IP-адрес обычного HTTP-сервера basic server ip = 127.0.0.1 # Порт обычного HTTP-сервера basic server port = 9080 # Список плагинов обычного HTTP-сервера basic server plugins list = osmp # Статус HTTPS-сервера ssl server status = on # IP-адрес HTTPS-сервера ssl server ip = 127.0.0.1 # Порт HTTPS-сервера ssl server port = 9443 # Путь до PEM-файла сертификата HTTPS-сервера ssl server pem path = /etc/hpd/cert/ssl.pem # Список плагинов HTTPS-сервера ssl server plugins list = osmp # Статус HTTPS-сервера с клиентской верификацией cv-ssl server status = off # IP-адрес HTTPS-сервера с клиентской верификацией cv-ssl server ip = 127.0.0.1 # Порт HTTPS-сервера с клиентской верификацией cv-ssl server port = 9444 # Путь до PEM-файла сертификата HTTPS-сервера с клиентской верификацией cv-ssl server pem path = /etc/hpd/cert/ssl.pem # Список плагинов HTTPS-сервера с клиентской верификацией cv-ssl server plugins list = osmp # Статус TCP/IP-Socket-сервера socket server status = off # IP-адрес TCP/IP-Socket-сервера socket server ip = 127.0.0.1 # Порт TCP/IP-Socket-сервера socket server port = 9000 # Плагин, обслуживающий TCP/IP-Socket-сервера socket server plugin = ncc # Код символа конца сообщения для TCP/IP-Socket-сервера socket server end message char code = 3 # Статус следящего сервера tracking server status = off # Список плагинов следящего сервера tracking server plugins list = cyberpos # Интервал слежения, секунды tracking server tracking interval = 300 # Название БД database name = dev # Пользователь БД database user = AIS_PAYMENTS # Пароль пользователя БД database password = read_manual # Пользователь АСР "Гидра" hydra user = hpd # Пароль пользователя АСР "Гидра" hydra password = hydra_payment_daemon # Сообщение о внутренней ошибке internal error message = "Внутренняя ошибка" ## Общие параметры плагинов (могут перегружаться отдельными плагинами) # Платежное поле, по которому идет идентификация плательщика # Возможные значения: # account - лицевой счет # user - код абонента # tel_no - номер телефона # contract_doc_no - номер договора # bill_doc_no - номер документа типа Счет payment field = account # Флаг разрешения приема платежей от юрлиц allow company paying = 0 # Группа абонентов, для которой разрешено принимать платежи #users group = # Regexp, проверяющий валидность идентификационных данных абонента check regexp = ^\w+$ # Размер комиссии в процентах fee = 0 # Код валюты в формате ISO-4217 currency = RUB # Тип платежа pay type = RMM_KIND_PaySys # Сообщение о неудачной проверке идентификационных данных абонента failed check message = "Неверные данные" # Сообщение о неверном формате идентификационных данных абонента incorrect format message = "Неверный формат" # Сообщение о уже проведенной транзакции already charged transaction message = "Транзакция уже проведена" # Сообщение о неудачном проведении транзакции failed pay message = "Проведение транзакции невозможно" ## Плагин osmp (Qiwi) # Код банка платежной системы osmp bank code = ОСМП # Счет получателя (счет юрлица оператора в банке ПС) osmp to account = ОСМП ## Плагин wellpay # wellpay shop id = 738912 # wellpay shop password = fb6b4c2a01 ## Плагин yamoney (Яндекс.Деньги) # yamoney shop id = 738912 # yamoney shop password = fb6b4c2a01 # Смещение временной зоны, часы # yamoney timezone offset = 0 # Путь до программы ipriv ckecker ipriv checker path = /opt/hpd/opt/ipriv/checker/checker # Путь до конфига ipriv ipriv config path = /etc/hpd/ipriv/checker.ini
Добавление нового плагина (платежной системы)
В общем случае для добавления нового плагина необходимо добавить в конфигурационный файл код следующего вида:
<название плагина> bank code = <идентификатор платежной системы в АСР> <название плагина> to account = <идентификатор счета платежной системы у юридического лица оператора связи>
Так же необходимо указать название плагина в параметре plugins list (через запятую) и server plugins list (зависит от используемого типа сервера).
Стоит отметить, что некоторые платежные системы требуют дополнительных уникальных параметров для конфигурации.
Пример добавления плагина yamoney (Яндекс.Деньги):
# Яндекс.Деньги yamoney bank code = Яндекс.Деньги yamoney to account = Яндекс.Деньги yamoney shop id = 77777 yamoney shop password = secret
Добавление нового плагина (платежной системы) через наследование
В hpd имеется возможность добавления новой платежной системы путем наследования протокола от уже существующей. Для этого в конфигурационный файл необходимо добавить код следующего вида:
<название плагина> base plugin = <название наследуемого плагина> <название плагина> bank code = <идентификатор платежной системы в АСР> <название плагина> to account = <идентификатор счета платежной системы у юридического лица оператора связи>
Так же необходимо указать название плагина в параметре plugins list (через запятую) и server plugins list (зависит от используемого типа сервера). Дополнительные уникальные параметры для конфигурации следует указывать в соответствии с наследуемым плагином.
Пример наследования от плагина wellpay:
# Список плагинов plugins list = osmp, wellpay_sfera ... # Список плагинов HTTPS-сервера ssl server plugins list = osmp, wellpay_sfera ... # Плагин wellpay_sfera (wellpay) wellpay_sfera base plugin = wellpay wellpay_sfera bank code = Сфера wellpay_sfera to account = Сфера wellpay_sfera shop id = 777777 wellpay_sfera shop password = secret
2 Comments
Anonymous
ipriv ckecker path = /opt/hpd/opt/ipriv/checker/checker - имя параметра 'checker' или 'ckecker'' всетаки?
Никита Петров
Правильно ipriv checker path = /opt/hpd/opt/ipriv/checker/checker - была опечатка, исправили.