Взаимодействие с платёжной системой «Сбербанк эквайринг»

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

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

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

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

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

Создайте профиль для платёжной системы в АСР LANBilling.

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

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

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

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

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

    ``

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

    • Метод подключения к LBcore. По умолчанию — http; если настроена работа API по SSL — https.
    • IP-адрес и порт для подключения к LBcore.
    • Логин и пароль от профиля платёжной системы в АСР LANBilling.
    # Атрибуты для доступа к LBcore
    my $proto = 'http';
     
    # Атрибуты для доступа к LBcore
    $lbcore_host = '127.0.0.1'
    $manager_login = 'sber'
    $manager_pass = 'sber'
    

    ``

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

    chmod +x /var/www/cgi-bin/sber_acq.cgi
    

    ``

  4. Сообщите сотрудникам Сбербанка URL-ссылку до скрипта sber_acq.cgi на вашем веб-сервере. Например: https://company.org/cgi-bin/sber_acq.cgi.

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

    cp /usr/local/billing/payments/sber_acq/sber_acq.cgi /usr/lib/cgi-bin/
    

    ``

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

    • Метод подключения к LBcore. По умолчанию — http; если настроена работа API по SSL — https.
    • IP-адрес и порт для подключения к LBcore.
    • Логин и пароль от профиля платёжной системы в АСР LANBilling.
    # Атрибуты для доступа к LBcore
    my $proto = 'http';
     
    # Атрибуты для доступа к LBcore
    $lbcore_host = '127.0.0.1'
    $manager_login = 'sber'
    $manager_pass = 'sber'
    

    ``

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

    chmod +x /usr/lib/cgi-bin/sber_acq.cgi
    

    ``

  4. Сообщите сотрудникам Сбербанка URL-ссылку до скрипта sber_acq.cgi на вашем веб-сервере. Например: https://company.org/cgi-bin/sber_acq.cgi.

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

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

    ``

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

    • Метод подключения к LBcore. По умолчанию — http; если настроена работа API по SSL — https.
    • IP-адрес и порт для подключения к LBcore.
    • Логин и пароль от профиля платёжной системы в АСР LANBilling.
    # Атрибуты для доступа к LBcore
    my $proto = 'http';
     
    # Атрибуты для доступа к LBcore
    $lbcore_host = '127.0.0.1'
    $manager_login = 'sber'
    $manager_pass = 'sber'
    

    ``

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

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

    ``

  4. Сообщите сотрудникам Сбербанка URL-ссылку до скрипта sber_acq.cgi на вашем веб-сервере. Например: https://company.org/cgi-bin/sber_acq.cgi.

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

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

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

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

    ``

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

      enabled = true
      
      
      
    • Укажите путь доступа к сервису — его выдают сотрудники Сбербанка.

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

        path = 'https://securepayments.sberbank.ru/payment/rest/'
        
        
        
      • Или для тестового режима:

        path = 'https://3dsec.sberbank.ru/payment/rest/'
        
        
        
    • Введите логин и пароль для доступа к сервису — их тоже выдают сотрудники Сбербанка.

      userName = 'login'
      password = 'PaSsWoRd'
      
      
      
    • Также вы можете указать валюту, ставку НДС, тип и объект платежа.

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

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

    ``

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

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

    ``

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

      enabled = true
      
      
      
    • Укажите путь доступа к сервису — его выдают сотрудники Сбербанка.

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

        path = 'https://securepayments.sberbank.ru/payment/rest/'
        
        
        
      • Или для тестового режима:

        path = 'https://3dsec.sberbank.ru/payment/rest/'
        
        
        
    • Введите логин и пароль для доступа к сервису — их тоже выдают сотрудники Сбербанка.

      userName = 'login'
      password = 'PaSsWoRd'
      
      
      
    • Также вы можете указать валюту, ставку НДС, тип и объект платежа.

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

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

    ``

Сертификаты НУЦ Минцифры России

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

  1. Создайте каталог:

    mkdir /usr/local/share/ca-certificates/sber/
    

    ``

  2. Скачайте два сертификата:

    wget https://gu-st.ru/content/lending/russian_trusted_root_ca_pem.crt -O /usr/local/share/ca-certificates/sber/russian_trusted_root_ca_pem.crt
    wget https://gu-st.ru/content/lending/russian_trusted_sub_ca_pem.crt -O /usr/local/share/ca-certificates/sber/russian_trusted_sub_ca_pem.crt
    

    ``

    Подробнее читайте по ссылке.

  3. Обновите хранилище сертификатов:

    update-ca-certificates -v
    

    ``

    Ответ системы при успешном добавлении:

    2 added, 0 removed; done.
    Running hooks in /etc/ca-certificates/update.d...
    

    ``

  4. Проверьте, что сертификаты валидны — заверены центром сертификации. Сделать это можно с помощью wget или curl.

    • wget — при проверке ответ не должен быть пустым.

      wget -qS —spider —max-redirect=0 https://3dsec.sberbank.ru/payment/rest/
      
      
      
    • curl — при проверке не должна возвращаться ошибка.

      curl https://3dsec.sberbank.ru/payment/webservices/merchant-ws?wsdl
      
      
      
  1. Убедитесь, что существует каталог /etc/pki/ca-trust/source/anchors/.

  2. Скачайте два сертификата:

    wget https://gu-st.ru/content/lending/russian_trusted_root_ca_pem.crt -O /etc/pki/ca-trust/source/anchors/russian_trusted_root_ca_pem.crt
    wget https://gu-st.ru/content/lending/russian_trusted_sub_ca_pem.crt -O /etc/pki/ca-trust/source/anchors/russian_trusted_sub_ca_pem.crt
    

    ``

    Подробнее читайте по ссылке.

  3. Обновите хранилище сертификатов:

    update-ca-trust force-enable
    

    ``

    Ответ системы при успешном добавлении:

    2 added, 0 removed; done.
    Running hooks in /etc/ca-certificates/update.d...
    

    ``

  4. Проверьте, что сертификаты валидны — заверены центром сертификации. Сделать это можно с помощью wget или curl.

    • wget — при проверке ответ не должен быть пустым.

      wget -qS —spider —max-redirect=0 https://3dsec.sberbank.ru/payment/rest/
      
      
      
    • curl — при проверке не должна возвращаться ошибка.

      curl https://3dsec.sberbank.ru/payment/webservices/merchant-ws?wsdl
      
      
      

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

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

Проведите платежи, используя реквизиты тестовых карт. Данные тестовых карт узнайте у сотрудников Сбербанка.

В качестве параметра «Cardholder name» нужно использовать не менее двух слов, набранных латинскими буквами. Например, ALEXEY ALEXEEV.

Карты с параметрами «veres=y», «pares=y» или «pares=a» используют технологию «3-D Secure». Для них понадобится код на странице ACS: 12345678.