Чтобы абоненты-физлица могли оплачивать счета в личном кабинете с помощью эквайринга от ПСБ, последовательно настройте четыре объекта.
Отправьте заявку на эквайринг и заключите договор.
Получите от ПСБ тестовые реквизиты:
Параметр | Пример |
---|---|
Первая компонента ключа | C1C1C1C1C1C1C1C1C1C1C1C1C1 |
Вторая компонента ключа | A0A0A0A0A0A0A0A0A0A0A0A0A |
TERMINAL — уникальный номер виртуального терминала | 79036777 |
MERCH_NAME — название торгово-сервисного предприятия | TEST_MERCH |
MERCHANT — номер торгово-сервисного предприятия | 790367686219999 |
Создайте профиль для платёжной системы в LANBilling. Логин и пароль нужно будет указать в скрипте callback-уведомлений.
Скрипт нужен, чтобы фиксировать в LANBilling результаты оплат. Он обрабатывает запросы от платёжной системы — в них содержится информация об операциях. На основании этих данных скрипт создаёт платежи в биллинге.
Настройка различается для разных ОС.
Скопируйте файл psb.py
в директорию исполняемых скриптов вашего веб-сервера:
cp /usr/local/billing/payments/psb/psb.py /var/www/cgi-bin/
``
Укажите в нём настройки доступа.
# Подключение к LBcore
HOST = '127.0.0.1'
PORT = 1502
# логин и пароль менеджера ВПС
PSB_MANAGER = 'psb_login'
PSB_MANAGER_PASSWORD = 'psb_pass'
# Компоненты ключа
comp1 = 'C1C1C1C1C1C1C1C1C1C1C1C1C1'
comp2 = 'A0A0A0A0A0A0A0A0A0A0A0A0A'
# Настройки логирования, нужны права доступа к файлу у веб-сервера
PSB_LOG = '/var/log/billing/weblogs/psb.log'
# Класс платежа (id) из таблицы pay_classses
CLASS_ID = 0
``
Сделайте скрипт исполняемым:
chmod +x /var/www/cgi-bin/psb.py
``
Скопируйте файл psb.py
в директорию исполняемых скриптов вашего веб-сервера:
cp /usr/local/billing/payments/psb/psb.py /usr/lib/cgi-bin/
``
Укажите в нём настройки доступа.
# Подключение к LBcore
HOST = '127.0.0.1'
PORT = 1502
# логин и пароль менеджера ВПС
PSB_MANAGER = 'psb_login'
PSB_MANAGER_PASSWORD = 'psb_pass'
# Компоненты ключа
comp1 = 'C1C1C1C1C1C1C1C1C1C1C1C1C1'
comp2 = 'A0A0A0A0A0A0A0A0A0A0A0A0A'
# Настройки логирования, нужны права доступа к файлу у веб-сервера
PSB_LOG = '/var/log/billing/weblogs/psb.log'
# Класс платежа (id) из таблицы pay_classses
CLASS_ID = 0
``
Сделайте скрипт исполняемым:
chmod +x /usr/lib/cgi-bin/psb.py
``
Скопируйте файл psb.py
в директорию исполняемых скриптов вашего веб-сервера:
cp /usr/local/billing/payments/psb/psb.py /usr/local/www/apache24/cgi-bin/
``
Укажите в нём настройки доступа.
# Подключение к LBcore
HOST = '127.0.0.1'
PORT = 1502
# логин и пароль менеджера ВПС
PSB_MANAGER = 'psb_login'
PSB_MANAGER_PASSWORD = 'psb_pass'
# Компоненты ключа
comp1 = 'C1C1C1C1C1C1C1C1C1C1C1C1C1'
comp2 = 'A0A0A0A0A0A0A0A0A0A0A0A0A'
# Настройки логирования, нужны права доступа к файлу у веб-сервера
PSB_LOG = '/var/log/billing/weblogs/psb.log'
# Класс платежа (id) из таблицы pay_classses
CLASS_ID = 0
``
Сделайте скрипт исполняемым:
chmod +x /usr/local/www/apache24/cgi-bin/psb.py
``
Выполните эти шаги, если вы работаете с автоплатежами.
Скопируйте скрипт psb_recurrent_payment.py
в директорию /usr/local/billing/pymodules/
:
cp /usr/local/billing/payments/psb/psb_recurrent_payment.py /usr/local/billing/pymodules/
``
Укажите в файле настройки доступа.
Логин и пароль от профиля платёжной системы в LANBilling:
PSB_MANAGER = 'super_pay'
PSB_MANAGER_PASSWORD = '12345'
ID оператора в биллинге. Если в скрипте задан ненулевой идентификатор OPER_ID, то автоплатежи будут выполняться только по договорам этого оператора:
OPER_ID = 1
Две компоненты секретного ключа:
comp1 = 'C1C1C1C1C1C1C1C1C1C1C1C1C1'
comp2 = 'A0A0A0A0A0A0A0A0A0A0A0A0A'
Данные, полученные от ПСБ:
TERMINAL = '79036777'
MERCHANT = '790367779999999'
MERCH_NAME = 'TEST_MERCH'
ПСБ может посылать оператору email-уведомление каждый раз, когда абонент проведёт платёж. Если вам не нужен этот инструмент контроля, оставьте поля пустыми. Если нужен — установите метод «EMAIL» и впишите адрес для приёма писем:
MERCHANT_NOTIFY = 'EMAIL'
MERCHANT_NOTIFY_EMAIL = 'my-operator@billing.ru'
Адрес, по которому находится скрипт psb.py
:
NOTIFY_URL = 'http://my-operator.ru/cgi-bin/psb.py'
Перезапустите модуль LBcore. Команды различаются в разных ОС.
systemctl restart lbcore
service lbcore restart
Действия различаются для разных ОС.
Внесите изменения в файл конфигурации psb.ini
:
nano /etc/lanbilling/phpclient/client/psb.ini
``
Включите платёжную систему в личном кабинете абонентов LANBilling:
[psb]
enabled = true
Если вы работаете с автоплатежами, укажите ID профиля платёжной системы из LANBilling:
epsManagerId = 14
Если вы не работаете с автоплатежами, отключите их:
allowAutoPayments = false
Укажите ссылку на платёжный шлюз.
Для промышленной среды:
url = 'https://3ds.payment.ru/cgi-bin/cgi_link'
Или для тестового режима:
url = 'https://test.3ds.payment.ru/cgi-bin/cgi_link'
Введите данные, полученные от ПСБ:
terminal = '79036777'
merch_name = 'TEST_MERCH'
merchant = '790367779999999'
Укажите адрес, по которому находится скрипт psb.py
:
notify_url = 'http://my-operator.ru/cgi-bin/psb.py'
ПСБ может посылать оператору email-уведомление каждый раз, когда абонент проведёт платёж. Если вам не нужен этот инструмент контроля, оставьте поля пустыми. Если нужен — установите метод «EMAIL» и впишите адрес для приёма писем:
MERCHANT_NOTIFY = 'EMAIL'
MERCHANT_NOTIFY_EMAIL = 'my-operator@billing.ru'
Введите значения первой и второй компонент:
comp1 = 'C1C1C1C1C1C1C1C1C1C1C1C1C1'
comp2 = 'A0A0A0A0A0A0A0A0A0A0A0A0A'
Установите минимальную сумму платежа. Чтобы убрать ограничение, введите «0».
minPaymentAmount = 10
Включите отображение кнопки оплаты через СБП.
useSbpPayment = true
При необходимости скройте кнопку «Оплата», оставив только оплату по СБП:
useCardPayment = false
Сохраните конфигурационный файл. Сериализуйте изменения:
/usr/local/sbin/lbwebcfg -y client /etc/lanbilling/phpclient/client/
``
Внесите изменения в файл конфигурации psb.ini
:
nano /usr/local/etc/lanbilling/phpclient/client/psb.ini
``
Включите платёжную систему в личном кабинете абонентов LANBilling:
[psb]
enabled = true
Если вы работаете с автоплатежами, укажите ID профиля платёжной системы из LANBilling:
epsManagerId = 14
Если вы не работаете с автоплатежами, отключите их:
allowAutoPayments = false
Укажите ссылку на платёжный шлюз.
Для промышленной среды:
url = 'https://3ds.payment.ru/cgi-bin/cgi_link'
Или для тестового режима:
url = 'https://test.3ds.payment.ru/cgi-bin/cgi_link'
Введите данные, полученные от ПСБ:
terminal = '79036777'
merch_name = 'TEST_MERCH'
merchant = '790367779999999'
Укажите адрес, по которому находится скрипт psb.py
:
notify_url = 'http://my-operator.ru/cgi-bin/psb.py'
ПСБ может посылать оператору email-уведомление каждый раз, когда абонент проведёт платёж. Если вам не нужен этот инструмент контроля, оставьте поля пустыми. Если нужен — установите метод «EMAIL» и впишите адрес для приёма писем:
MERCHANT_NOTIFY = 'EMAIL'
MERCHANT_NOTIFY_EMAIL = 'my-operator@billing.ru'
Введите значения первой и второй компонент:
comp1 = 'C1C1C1C1C1C1C1C1C1C1C1C1C1'
comp2 = 'A0A0A0A0A0A0A0A0A0A0A0A0A'
Установите минимальную сумму платежа. Чтобы убрать ограничение, введите «0».
minPaymentAmount = 10
Включите отображение кнопки оплаты через СБП.
useSbpPayment = true
При необходимости скройте кнопку «Оплата», оставив только оплату по СБП:
useCardPayment = false
Сохраните конфигурационный файл. Сериализуйте изменения:
/usr/local/sbin/lbwebcfg -y client /usr/local/etc/lanbilling/phpclient/client/
``
Включите тестовый режим.
В файле psb.ini
:
url = 'https://test.3ds.payment.ru/cgi-bin/cgi_link'
В файле psb_recurrent_payment.py
:
DEBUG = '1'
Проведите платежи в тестовом режиме.
После успешного тестирования свяжитесь с сотрудниками ПСБ и получите реквизиты для работы в промышленной среде. Укажите новые реквизиты в скриптах и конфигурационном файле.
Не забудьте указать URL для промышленной среды в psb.ini
и выключить тестовый режим в psb_recurrent_payment.py
.
Настройка завершена. Теперь абоненты-физлица могут пополнять баланс в личном кабинете с помощью этой платёжной системы.
Есть вопросы по документации? Пожалуйста, напишите их