PayControl3.x Внесение настроек по умолчанию

Материал из PayControl Wiki
Перейти к: навигация, поиск

Сервер PayControl это совокупность нескольких серверов:

  • PayControl Server (PCS) – основной сервер PayControl. Располагается внутри локальной сети. Взаимодействует с прикладной системой (например, BSS Корректс, iSimple и т.д.). Хранит данные в БД PCS. Отправляет данные на PCIS Internal, получает данные с PCIS External.
  • PayControl Interaction Server Internal (PCIS Internal) – сервер для отправки Push уведомлений о появлении неподтверждённой транзакции у пользователя (без содержания информации о транзакции). Как правило располагается в DMZ-зоне, имеющей доступ к сети Интернет. Серверу требуется доступ к серверам Google и Apple.
  • PayControl Interaction Server External (PCIS External). С этим сервером взаимодействуют приложения на мобильных устройствах для получении информации о данных платежа и отправки результатов подтверждения транзакций. Располагается в DMZ-зоне с доступом извне. Должен иметь внешний фиксированный IP-адрес. При необходимости использования TLS, должно быть присвоено доменное имя и выпущен сертификат внешним УЦ.

Варианты включения в инфраструктуру

Допустимо объединение серверов PCIS на одной машине при выполнении условий

  • на входе извне будет установлен фильтр HTTP-запросов, обеспечивающий:
    • доступность снаружи только адреса <IP или имя сервера>/PayControl-interaction-rest/
    • доступность адреса <IP или имя сервера>/wsis/PayControlInteractionService?wsdl только изнутри.
  • при использовании TLS, фильтр HTTP-запросов должен обладать функцией терминирования TLS.

Параметры настройки

PCS

Параметры системы

Настройки сервера PCS устанавливаются в БД PCS, таблица pc_sys_property, путём добавления/изменения записей. Запись состоит из setting_name и setting_value. Возможные значения setting_name:

setting_name Тип По умолчанию Описание
REPORT_TEMPLATE string Путь к шаблону отчёта.
KILT long 365 Время жизни ключевой информации пользователя (в днях). Сокращение от "KEY_INFO_LIFE_TIME".
BILL_PERIOD long 365 Период биллинга (в днях).
DEBUG_INFO long 0 Выводить отладочную информацию (0 – не выводить, 1 - выводить).
CRYPTO_PROVIDER string BC Криптопровайдер. Устаревший параметр. Значение только "BC" (сокращение от Bouncy Castle)
T_AUTH_CODE long 180 Интервал дескритизации для кода аутентификации (auth_code) (в секундах).
T_CONFIRM_CODE long 180 Интервал дескритизации для кода подтверждения (в секундах).
KEY_QR_SIZE long 300 Размер QR-кода ключа (в пикселях).
TRANSACTION_QR_SIZE long 300 Размер QR-кода транзакции (в пикселях).
CLEAN_TRANSACTION long 1 Очищать данные транзакции после подтверждения.
DEFAULT_TRANSACTION_TTL long 0 Время жизни транзакций по умолчанию в секундах. 0 – без ограничений.
COLLECT_EVENTS long 0 Включает сбор информации о событиях для сервера.
COLLECT_DEVICE_INFORMATION long 0 Включает сбор информации об устройстве для сервера.
CHECK_HTTP_AUTH_HEADER long 1 Включает проверку аутентификации HTTP запросов от МП по значению, передаваемому в HTTP заголовке.
IOS_PUSH_PAYLOAD_TEMPLATE string Шаблон push-сообщений для iOS. Используются только при отправке через PCInform.
ANDROID_PUSH_PAYLOAD_TEMPLATE string Шаблон push-сообщений для Android. Используются только при отправке через PCInform.

Примеры запросов для изменения параметров

PostgreSQL

Добавление значения с помощью SQL-запроса (После выполнения запроса требуется перезапуск службы):

insert into pc_sys_property values (nextval('pc_setting_seq'), 'COLLECT_EVENTS', '1');

Изменение значения для включения расширенного логирования с помощью SQL-запроса (После выполнения запроса требуется перезапуск службы):

update pc_sys_property set setting_value = '1' where setting_name='DEBUG_INFO';
Oracle
insert into pc_sys_property values (PC_SETTING_SEQ.NEXTVAL, 'COLLECT_EVENTS', '1');
MS SQL
insert into pc_sys_property values (NEXT VALUE FOR PC_SETTING_SEQ, 'COLLECT_EVENTS', '1');

PCIS Internal

Параметры системы

Настройки сервера PCIS устанавливаются в БД PCIS, таблица pc_sys_property, путём добавления/изменения записей. Запись состоит из setting_name и setting_value. Возможные значения setting_name:

setting_name Тип По умолчанию Описание
DEBUG_INFO long 0 Выводить отладочную информацию (0 – не выводить, 1 - выводить).
GOOGLE_SERVER_KEY string Ключ для аутентификации на серверах Google FCM при отправке push-сообщений
IOS_KS_PATH string Путь к ключевому файлу в формате pkcs-12. Ключ в этом контейнере используется для аутентификации на APNS при отправке push-сообщений
IOS_KS_PASSWORD string Пароль к ключевому файлу, заданному в IOS_KS_PATH
IOS_PUSH_PAYLOAD_TEMPLATE string Шаблон push-сообщений для iOS. Используются только при отправке через PCInform.
ANDROID_PUSH_PAYLOAD_TEMPLATE string Шаблон push-сообщений для Android. Используются только при отправке через PCInform.
PROXY_HOST string Адрес прокси-сервера
PROXY_PORT long 0 Порт прокси-сервера
PROXY_USERNAME string Имя учётной записи для аутентификации на прокси-сервере
PROXY_PASSWORD string Пароль учётной записи для аутентификации на прокси-сервере