Взаимодействие с эквайрингом «ПСБ»

Чтобы абоненты-физлица могли оплачивать счета в личном кабинете с помощью ПСБ, последовательно настройте четыре объекта.

  1. Личный кабинет ПСБ
  2. Административный интерфейс АСР LANBilling
  3. Скрипт для callback-уведомлений
  4. Скрипт для автоматических платежей
  5. Конфигурационный файл

Личный кабинет ПСБ

  1. Отправьте заявку на эквайринг и заключите договор.

  2. Получите от ПСБ тестовые реквизиты:

    Параметр Пример
    Первая компонента ключа C1C1C1C1C1C1C1C1C1C1C1C1C1
    Вторая компонента ключа A0A0A0A0A0A0A0A0A0A0A0A0A
    TERMINAL — уникальный номер виртуального терминала 79036777
    MERCH_NAME — название торгово-сервисного предприятия TEST_MERCH
    MERCHANT — номер торгово-сервисного предприятия 790367686219999

Административный интерфейс АСР LANBilling

Создайте профиль для платёжной системы в АСР LANBilling. Логин и пароль нужно будет указать в скрипте callback-уведомлений.

image

Скрипт для callback-уведомлений psb.py

Скрипт нужен, чтобы фиксировать в АСР LANBilling результаты оплат. Он обрабатывает запросы от платёжной системы — в них содержится информация об операциях. На основании этих данных скрипт создаёт платежи в биллинге.

Настройка различается для разных ОС.

  1. Скопируйте файл psb.py в директорию исполняемых скриптов вашего веб-сервера:

    cp /usr/local/billing/payments/psb/psb.py /var/www/cgi-bin/
    

    ``

  2. Укажите в нём настройки доступа.

    • IP-адрес и порт для подключения к LBcore.
    • Логин и пароль от профиля платёжной системы в АСР LANBilling.
    • Компоненты секретного ключа.
    # Подключение к LBcore
    HOST = '127.0.0.1'
    PORT = 1502
    MANAGER = 'super_pay'
    PASSWORD = '12345'
    

    # Компоненты ключа comp1 = 'C1C1C1C1C1C1C1C1C1C1C1C1C1' comp2 = 'A0A0A0A0A0A0A0A0A0A0A0A0A'

    ``

  3. Сделайте скрипт исполняемым:

    chmod +x /var/www/cgi-bin/psb.py
    

    ``

  1. Скопируйте файл psb.py в директорию исполняемых скриптов вашего веб-сервера:

    cp /usr/local/billing/payments/psb/psb.py /usr/lib/cgi-bin/
    

    ``

  2. Укажите в нём настройки доступа.

    • IP-адрес и порт для подключения к LBcore.
    • Логин и пароль от профиля платёжной системы в АСР LANBilling.
    • Компоненты секретного ключа.
    # Подключение к LBcore
    HOST = '127.0.0.1'
    PORT = 1502
    MANAGER = 'super_pay'
    PASSWORD = '12345'
    

    # Компоненты ключа comp1 = 'C1C1C1C1C1C1C1C1C1C1C1C1C1' comp2 = 'A0A0A0A0A0A0A0A0A0A0A0A0A'

    ``

  3. Сделайте скрипт исполняемым:

    chmod +x /usr/lib/cgi-bin/psb.py
    

    ``

  1. Скопируйте файл psb.py в директорию исполняемых скриптов вашего веб-сервера:

    cp /usr/local/billing/payments/psb/psb.py /usr/local/www/apache24/cgi-bin/
    

    ``

  2. Укажите в нём настройки доступа.

    • IP-адрес и порт для подключения к LBcore.
    • Логин и пароль от профиля платёжной системы в АСР LANBilling.
    • Компоненты секретного ключа.
    # Подключение к LBcore
    HOST = '127.0.0.1'
    PORT = 1502
    MANAGER = 'super_pay'
    PASSWORD = '12345'
    

    # Компоненты ключа comp1 = 'C1C1C1C1C1C1C1C1C1C1C1C1C1' comp2 = 'A0A0A0A0A0A0A0A0A0A0A0A0A'

    ``

  3. Сделайте скрипт исполняемым:

    chmod +x /usr/local/www/apache24/cgi-bin/psb.py
    

    ``

Скрипт для автоматических платежей psb_recurrent_payment.py

Выполните эти шаги, если вы работаете с автоплатежами.

  1. Скопируйте скрипт psb_recurrent_payment.py в директорию /usr/local/billing/pymodules/:

    cp /usr/local/billing/payments/psb/psb_recurrent_payment.py /usr/local/billing/pymodules/
    

    ``

  2. Укажите в файле настройки доступа.

    • Логин и пароль от профиля платёжной системы в АСР 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'
      
      
      
  3. Перезапустите модуль LBcore.

    systemctl restart lbcore
    

    ``

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

Действия различаются для разных ОС.

  1. Внесите изменения в файл конфигурации 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'
      
      
      

  1. Сохраните конфигурационный файл. Сериализуйте изменения:

    /usr/local/sbin/lbwebcfg -y client /etc/lanbilling/phpclient/client/
    

    ``

  1. Внесите изменения в файл конфигурации 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'
      
      
      

  1. Сохраните конфигурационный файл. Сериализуйте изменения:

    /usr/local/sbin/lbwebcfg -y client /usr/local/etc/lanbilling/phpclient/client/
    

    ``

Проверка взаимодействия

  1. Включите тестовый режим.

    • В файле psb.ini:

      url = 'https://test.3ds.payment.ru/cgi-bin/cgi_link'
      
      
      
    • В файле psb_recurrent_payment.py:

      DEBUG = '1'
      
      
      
  2. Проведите платежи в тестовом режиме.

  3. После успешного тестирования свяжитесь с сотрудниками ПСБ и получите реквизиты для работы в промышленной среде. Укажите новые реквизиты в скриптах и конфигурационном файле.

    Не забудьте указать URL для промышленной среды в psb.ini и выключить тестовый режим в psb_recurrent_payment.py.

Настройка завершена. Теперь абоненты-физлица могут пополнять баланс в личном кабинете с помощью этой платёжной системы.