Настройка АСР

Конфигурационный файл

Пример конфигурационного файла 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