Приём платежей с помощью эквайринга «Газпромбанк»

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

  1. Личный кабинет Газпромбанка
  2. Административный интерфейс LANBilling
  3. Скрипты pay и check
  4. Конфигурационный файл
  5. Оплата по СБП

Личный кабинет Газпромбанка

Оставьте заявку на сайте. Дождитесь информации от сотрудников Газпромбанка.

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

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

image

Скрипты pay и check

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

  1. Скопируйте два скрипта из директории /usr/local/billing/payments/gpb/ в ту, где хранятся исполняемые скрипты вашего веб-сервера:

    • pay — для проведения платежей;
    • check — для проверки платежей.
    cp /usr/local/billing/payments/gpb/pay /var/www/cgi-bin/
    cp /usr/local/billing/payments/gpb/check /var/www/cgi-bin/
    

    ``

  2. Для скрипта pay задайте настройки:

    • Метод подключения к LBcore. По умолчанию — http; если настроена работа API по SSL — https.
    • IP-адрес для подключения к LBcore.
    • Логин и пароль от профиля платёжной системы в LANBilling.
    • Путь, где будет храниться файл с логами.
    • Идентификатор магазина в СПЭК (merch_id).
    # Атрибуты для доступа к LBcore
    my $proto = 'http';
    my $lbcore_host = '127.0.0.1';
    my $manager_login = 'super_pay';
    my $manager_pass = '12345';
    my $log_file = "/var/log/billing/weblogs/gpb.log";
    my $MerchantID = '';
    

    ``

  3. Для скрипта check задайте настройки:

    • Метод подключения к LBcore. По умолчанию — http; если настроена работа API по SSL — https.
    • IP-адрес для подключения к LBcore.
    • Логин и пароль от профиля платёжной системы в LANBilling.
    • Путь, где будет храниться файл с логами.
    • Идентификатор магазина в СПЭК (merch_id).
    • Идентификатор учётной записи (account_id).
    # Атрибуты для доступа к LBcore
    my $proto = 'http';
    my $lbcore_host = '127.0.0.1';
    my $manager_login = 'super_pay';
    my $manager_pass = '12345';
    my $log_file = "/var/log/billing/weblogs/gpb.log";
    my $MerchantID = '';
    our $Accoun_ID = '';
    

    ``

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

    chmod +x /var/www/cgi-bin/pay
    chmod +x /var/www/cgi-bin/check
    

    ``

  1. Скопируйте два скрипта из директории /usr/local/billing/payments/gpb/ в ту, где хранятся исполняемые скрипты вашего веб-сервера:

    • pay — для проведения платежей;
    • check — для проверки платежей.
    cp /usr/local/billing/payments/gpb/pay /usr/lib/cgi-bin/
    cp /usr/local/billing/payments/gpb/check /usr/lib/cgi-bin/
    

    ``

  2. Для скрипта pay задайте настройки:

    • Метод подключения к LBcore. По умолчанию — http; если настроена работа API по SSL — https.
    • IP-адрес для подключения к LBcore.
    • Логин и пароль от профиля платёжной системы в LANBilling.
    • Путь, где будет храниться файл с логами.
    • Идентификатор магазина в СПЭК (merch_id).
    # Атрибуты для доступа к LBcore
    my $proto = 'http';
    my $lbcore_host = '127.0.0.1';
    my $manager_login = 'super_pay';
    my $manager_pass = '12345';
    my $log_file = "/var/log/billing/weblogs/gpb.log";
    my $MerchantID = '';
    

    ``

  3. Для скрипта check задайте настройки:

    • Метод подключения к LBcore. По умолчанию — http; если настроена работа API по SSL — https.
    • IP-адрес для подключения к LBcore.
    • Логин и пароль от профиля платёжной системы в LANBilling.
    • Путь, где будет храниться файл с логами.
    • Идентификатор магазина в СПЭК (merch_id).
    • Идентификатор учётной записи (account_id).
    # Атрибуты для доступа к LBcore
    my $proto = 'http';
    my $lbcore_host = '127.0.0.1';
    my $manager_login = 'super_pay';
    my $manager_pass = '12345';
    my $log_file = "/var/log/billing/weblogs/gpb.log";
    my $MerchantID = '';
    our $Accoun_ID = '';
    

    ``

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

    chmod +x /usr/lib/cgi-bin/pay
    chmod +x /usr/lib/cgi-bin/check
    

    ``

  1. Скопируйте два скрипта из директории /usr/local/billing/payments/gpb/ в ту, где хранятся исполняемые скрипты вашего веб-сервера:

    • pay — для проведения платежей;
    • check — для проверки платежей.
    cp /usr/local/billing/payments/gpb/pay /usr/local/www/apache24/cgi-bin/
    cp /usr/local/billing/payments/gpb/check /usr/local/www/apache24/cgi-bin/
    

    ``

  2. Для скрипта pay задайте настройки:

    • Метод подключения к LBcore. По умолчанию — http; если настроена работа API по SSL — https.
    • IP-адрес для подключения к LBcore.
    • Логин и пароль от профиля платёжной системы в LANBilling.
    • Путь, где будет храниться файл с логами.
    • Идентификатор магазина в СПЭК (merch_id).
    # Атрибуты для доступа к LBcore
    my $proto = 'http';
    my $lbcore_host = '127.0.0.1';
    my $manager_login = 'super_pay';
    my $manager_pass = '12345';
    my $log_file = "/var/log/billing/weblogs/gpb.log";
    my $MerchantID = '';
    

    ``

  3. Для скрипта check задайте настройки:

    • Метод подключения к LBcore. По умолчанию — http; если настроена работа API по SSL — https.
    • IP-адрес для подключения к LBcore.
    • Логин и пароль от профиля платёжной системы в LANBilling.
    • Путь, где будет храниться файл с логами.
    • Идентификатор магазина в СПЭК (merch_id).
    • Идентификатор учётной записи (account_id).
    # Атрибуты для доступа к LBcore
    my $proto = 'http';
    my $lbcore_host = '127.0.0.1';
    my $manager_login = 'super_pay';
    my $manager_pass = '12345';
    my $log_file = "/var/log/billing/weblogs/gpb.log";
    my $MerchantID = '';
    our $Accoun_ID = '';
    

    ``

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

    chmod +x /usr/local/www/apache24/cgi-bin/pay
    chmod +x /usr/local/www/apache24/cgi-bin/check
    

    ``

После этого сообщите сотрудникам банка URL этих скриптов. Ссылки могут выглядеть так: http://site.com/cgi-bin/pay и http://site.com/cgi-bin/check.

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

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

  1. Внесите изменения в файл конфигурации gpb.ini:

    nano /etc/lanbilling/phpclient/client/gpb.ini
    

    ``

    • Включите платёжную систему в личном кабинете абонентов LANBilling.

      [gpb]
      enabled = true
      
      
      
    • Укажите ссылку на платёжный шлюз.

      • Для промышленной среды:

        path = 'https://www.pga.gazprombank.ru/pages'
        
        
        
      • Или для тестового режима:

        url = 'https://test.pga.gazprombank.ru/pages'
        
        
        
    • Введите идентификатор магазина в СПЭК — его выдают сотрудники Газпромбанка:

      merch_id = 'FСFB93E3B653203589F9'
      
      
      
    • Укажите адреса страниц, на которые пользователь сможет перейти после успешной и неудачной оплаты:

      back_url_s = 'https://lk.site.com/api.php?r=payment/success'
      back_url_f = 'https://lk.site.com/api.php?r=payment/fail'
      
      
      
    • Установите минимальную сумму платежа. Чтобы убрать ограничение, введите «0».

      minPaymentAmount = 10
      
      
      

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

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

    ``

  1. Внесите изменения в файл конфигурации gpb.ini:

    nano /usr/local/etc/lanbilling/phpclient/client/gpb.ini
    

    ``

    • Включите платёжную систему в личном кабинете абонентов LANBilling.

      [gpb]
      enabled = true
      
      
      
    • Укажите ссылку на платёжный шлюз.

      • Для промышленной среды:

        path = 'https://www.pga.gazprombank.ru/pages'
        
        
        
      • Или для тестового режима:

        url = 'https://test.pga.gazprombank.ru/pages'
        
        
        
    • Введите идентификатор магазина в СПЭК — его выдают сотрудники Газпромбанка:

      merch_id = 'FСFB93E3B653203589F9'
      
      
      
    • Укажите адреса страниц, на которые пользователь сможет перейти после успешной и неудачной оплаты:

      back_url_s = 'https://lk.site.com/api.php?r=payment/success'
      back_url_f = 'https://lk.site.com/api.php?r=payment/fail'
      
      
      
    • Установите минимальную сумму платежа. Чтобы убрать ограничение, введите «0».

      minPaymentAmount = 10
      
      
      

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

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

    ``

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

Оплата по СБП

Можно предоставить абонентам возможность совершать оплаты по СБП — с помощью банковского приложения на смартфоне. Для этого дополнительно нужно настроить:

СБП: скрипт для callback-уведомлений gpb_qr.py

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

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

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

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

    ``

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

    • IP-адрес и порт для подключения к LBcore
    • Логин и пароль менеджера платёжной системы
    • Путь, где будет храниться файл с логами
    • Идентификатор категории платежей
    # Атрибуты для доступа к LBcore
    # Перед настройкой модуля необходимо добавить менеджера платёжной системы и прописать ниже его логин и пароль
    HOST = '127.0.0.1'
    PORT = 42103
    MANAGER_LOGIN = 'super_pay'
    MANAGER_PASS  = '12345'
    

    # Настройка логирования LOG_FILE = "/var/log/billing/weblogs/gpb_qr.log"

    # Класс платежа (id) из таблицы pay_classses CLASS_ID = 0

    ``

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

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

    ``

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

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

    ``

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

    • IP-адрес и порт для подключения к LBcore
    • Логин и пароль менеджера платёжной системы
    • Путь, где будет храниться файл с логами
    • Идентификатор категории платежей
    # Атрибуты для доступа к LBcore
    # Перед настройкой модуля необходимо добавить менеджера платёжной системы и прописать ниже его логин и пароль
    HOST = '127.0.0.1'
    PORT = 42103
    MANAGER_LOGIN = 'super_pay'
    MANAGER_PASS  = '12345'
    

    # Настройка логирования LOG_FILE = "/var/log/billing/weblogs/gpb_qr.log"

    # Класс платежа (id) из таблицы pay_classses CLASS_ID = 0

    ``

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

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

    ``

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

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

    ``

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

    • IP-адрес и порт для подключения к LBcore
    • Логин и пароль менеджера платёжной системы
    • Путь, где будет храниться файл с логами
    • Идентификатор категории платежей
    # Атрибуты для доступа к LBcore
    # Перед настройкой модуля необходимо добавить менеджера платёжной системы и прописать ниже его логин и пароль
    HOST = '127.0.0.1'
    PORT = 42103
    MANAGER_LOGIN = 'super_pay'
    MANAGER_PASS  = '12345'
    

    # Настройка логирования LOG_FILE = "/var/log/billing/weblogs/gpb_qr.log"

    # Класс платежа (id) из таблицы pay_classses CLASS_ID = 0

    ``

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

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

    ``

СБП: конфигурационный файл

  1. Откройте файл конфигурации gpb.ini:

    nano /etc/lanbilling/phpclient/client/gpb.ini
    

    ``

  2. Укажите данные.

    • Счёт юридического лица:

      account = '70801710100200070910'
      
    • Идентификатор ТСП:

      merchantId = 'AT0010211983'
      
    • Буквенный код валюты в формате ISO-4217:

      currency = 'RUB'
      
    • Адрес возврата после платежа:

      redirectUrl = 'https://lk.site.com/api.php?r=payment/success'
      
    • Ссылка для регистрации и получения QR-кода для СБП оплаты:

      qrUrl = 'https://sbp.gazprombank.ru:9443/merchant/qrc-data'
      
    • URL для получения сообщения о совершении перевода:

      callbackMerchantNotifications = 'https://lk.site.com/cgi-bin/gpb_qr.py'
      
    • Наименование предмета расчёта:

      description = 'Оплата {amount} {currency} по договорам {agrnums}'
      
      
      
    • Возможность использовать СБП оплату:

      useSbpPayment = true
      
      
      
    • Возможность скрыть кнопку «Оплата», оставив только оплату по СБП:

      useCardPayment = false
      
      
      
  3. Сериализуйте изменения:

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

    ``

  1. Откройте файл конфигурации gpb.ini:

    nano /usr/local/etc/lanbilling/phpclient/client/gpb.ini
    

    ``

  2. Укажите данные.

    • Счёт юридического лица:

      account = '70801710100200070910'
      
    • Идентификатор ТСП:

      merchantId = 'AT0010211983'
      
    • Буквенный код валюты в формате ISO-4217:

      currency = 'RUB'
      
    • Адрес возврата после платежа:

      redirectUrl = 'https://lanbilling'
      
    • Ссылка для регистрации и получения QR-кода для СБП оплаты:

      qrUrl = 'https://api.sbp.gazprombank.ru/merchant/qrc-data'
      
    • URL для получения сообщения о совершении перевода:

      callbackMerchantNotifications = 'https://acp.lanbilling.ru/cgi-bin/gpb'
      
    • Наименование предмета расчёта:

      description = 'Оплата {amount} {currency} по договорам {agrnums}'
      
      
      
    • Возможность использовать СБП оплату:

      useSbpPayment = true
      
      
      
    • Возможность скрыть кнопку «Оплата», оставив только оплату по СБП:

      useCardPayment = false
      
      
      
  3. Сериализуйте изменения:

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

    ``