Начиная с версии 1.27.4 появилась возможность оплачивать тарифные планы используя платежный шлюз Ростелеком.
Для получения учетных данных необходимо зарегистрировать свою систему-клиент SoftWLC, оставив заявку на сайте Ростелекома.
Параметры, получаемые при регистрации системы-клиента:
Необходимо создать диреторию /etc/nginx/certs для хранения сертификатов и поместить ваш ssl-сертификат и ключ в созданную директорию.
Редактируем файл /etc/nginx/conf.d/softwlc.conf следующим образом, добавляем настройки SSL:
server {
listen 8080;
listen [::]:8080;
# SSL configuration
listen 18443 ssl;
listen [::]:18443 ssl;
server_name ДОМЕННОЕ ИМЯ
ssl_certificate /etc/nginx/certs/СЕРВЕРНЫЙ СЕРТИФИКАТ;
ssl_certificate_key /etc/nginx/certs/КЛЮЧ СЕРВЕРНОГО СЕРТИФИКАТА; |
При настройке выше проверка клиентского сертификата не происходит, если проверка клиентского сертификата необходима(для этого понадобится CA, который выдал клиентский сертификат), то дополняем блок конфигурации следующими строчками:
ssl_client_certificate /etc/nginx/certs/Файл клиентского CA; ssl_verify_client optional; |
И ниже добавляем настройку location, чтобы валидация работала только для определенного пути и NGINX возвращал 403 если валидация не пройдена:
location /eltex_portal/confirmPayment {
if ($ssl_client_verify != SUCCESS) {
return 403;
}
proxy_pass http://127.0.0.1:9000;
} |
Переходим в Личный кабинет SoftWLC - раздел "Сервисы и тарифы", вкладка "Тарифы", нажимаем кнопку Добавить

Создаем новый тариф (например, rtk_gateway), обязательно указывая пункт "Портальная авторизация" и стоимость тарифа. Нажимаем на кнопку "Сохранить".

Создаем из полученного при регистрации клиентского сертификата и ключа контейнер pkcs12, указываем пароль произвольно (пароль запоминаем):
sudo openssl pkcs12 -export -in <КЛИЕНТСКИЙ СЕРТИФИКАТ> -inkey <КЛИЕНТСКИЙ КЛЮЧ> -out <НАЗВАНИЕ КОНТЕЙНЕРА>.pfx |
В Конструкторе порталов в меню "Системные Настройки" - "Платежные сервисы" - "Ростелеком" заполняем поля, полученные при регистрации Системы-клиента:
Загружаем контейнер, созданный в п.1, вводим пароль от него и нажимаем кнопку "Сохранить"

Создаем портал (например, rostelecom-test), нажав на кнопку "Создать новый портал", указав его название и домен

В меню портала "Сервисы оплаты" выбираем платежный шлюз "Ростелеком", заполняем параметры, полученные при регистрации Системы-клиента:
Во вкладке "Тарифы" выбираем ранее созданный тариф "rtk_gateway". Нажимаем на кнопку "Сохранить".

Необходимо настроить хранилище сертификатов java, так как Платежный шлюз использует самоподписанные сертификаты для работы. В том числе и серверный, который изначально не является доверенным. Чтобы java доверяла сертификату необходимо сертификат СА добавить в хранилище java.
При работе в deb:
Добавляем сертификат в хранилище java.
keytool -importcert -file ca.crt -alias "RTK_CA" -keystore /etc/ssl/certs/java/cacerts |
При работе в docker:
Скопировать хранилище из контейнера eltex-portal
sudo docker cp portal:/etc/ssl/certs/java/cacerts cacerts |
Для корректной работы необходимо добавить шаблоны адресов платежного шлюза и систем эквайринга, актуальные для вашей системы в белые списки на АПБ (файл /etc/eltex-apb/hosts.json). Списки необходимо получить при регистрации системы-клиента.
Пример:
[
{
"permitted-ip-list": [
"rt.ru"
]
}
] |
Открываем EMS и переходим на вкладку "Wireless" - "Менеджер SSID" - "База SSID". Нажимаем на кнопку "Добавить SSID", создаем SSID с портальной авторизацией, указываем портал, созданный ранее (rostelecom-test)


Выполняем привязку SSID к тестовым ТД
Для мониторинга сервиса APB поддержаны совместимые с Prometheus метрики. Для просмотра списка метрик надо открыть в браузере:
http://<адрес сервера Eltex-portal>:9000/eltex_portal/api/metrics |
Добавлены следующие метрики: