Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Вторая версия приложения настраивается с помощью YML-файла. Настройка АСР выполняется так же, как и для первой версии (см. Прием платежей из внешних систем (агент HPD)).

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

HPD v2 поддерживает работу с несколькими конфигурационными файлами, которые рекурсивно объединяются при запуске. Приоритет имеют файлы в директории /etc/hydra/hpd/. Их параметры перезаписывают параметры по умолчанию, хранящиеся в директории с приложением. При старте приложение пишет вычисленные настройки в лог-файл, что можно использовать для отладки при необходимости.

Пример конфигурационного файла hpd.yml:

hpd.yml
database:
  name: offline

hydra:
  user: offline_telecom
  password: f43gsd2h5

plugins:
  default:
    bank_code: ОСМП
    bank_account: ОСМП
    pay_type: RMM_KIND_Test

  osmp:
    # Допустимо указание настроек по умолчанию для всех плагинов
    # одного типа
    default: {}
    # Объявление настроек экземпляра плагина. Плагин не будет подключен, пока
    # не будет использован хотя бы в одном слушателе (см. ниже)
    main: {}
    # Пример настроек другого плагина того же типа
    alternative: {}

# Описание «слушателей» — источников запросов для плагинов
listeners:
  http:
    plain:
      host: 0.0.0.0
      post: 9080
      plugins: [osmp/main]
      # Список разрешенных адресов для подключения
      acl: [127.0.0.1, 172.16.0.0/16, 80.90.100.0/29]
    ssl: # HTTP-слушатель + SSL
      host: 0.0.0.0
      port: 9443
      ssl: true
      key: /etc/hydra/hpd/cert/hpd.pem
      certificate: /etc/hydra/hpd/cert/ssl.pem
    plain_basic_auth:
      host: 1.2.4.3
      port: 9081
      plugins: []
      # Пример бэйсик-аутентификации
      basic_auth:
        login: abyr
        password: fhwrg546ss3

# Приложение может запускать несколько дочерних процессов, 
# в каждом из которых могут быть свои слушатели.
# Запуск больше одного дочернего процесса обычно не требуется.
# Если вы запускаете несколько процессов, убедитесь, что 
# слушатели различных процессов запущены на разных TCP-портах
workers:
  - listeners: [http/ssl]

Для HTTP-слушателей используется следующая маршрутизация:

http://host:port/plugin_type/plugin_instance_name/plugin_action?get_parameters, где plugin_type — тип плагина (например, osmp), plugin_instance_name — имя экземпляра плагина (например, main), plugin_action (необязательный параметр) — название действия плагина, которое будет вызвано. Часть плагинов (например, Киберплат) используют только GET-параметры для определения действия плагина, которое нужно вызвать, другая часть — может использовать явно указанные в url действия. Тот или иной способ взаимодействия определяется особенностями реализации протокола. Например:

http://host/plugin1/main/check — путь для вызова действия check
http://host/plugin1/main — путь для вызова действия по умолчанию. Обычно это действие process, но это не обязательно
http://host/plugin2/main?action=check — другой плагин, в котором необходимое действие определяется на основании значения GET-параметра action

То, какие адреса необходимо использовать для вызова нужных действий плагина, описывается в документации на конкретный плагин. Если никаких пояснений не дается, то по умолчанию это путь plugin_type/instance_name (например, osmp/main), его нужно будет использовать при настройке стыковки с платежной системой.

Для TCP-слушателя (на текущий момент он используется только в ПС NCC) используется только хост и порт (т .к. в TCP нет путей).

  • No labels