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

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

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

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

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

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

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

Скрипт sber_acq.cgi

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

  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.