Чтобы ваши абоненты могли оплачивать услуги в личном кабинете с помощью эквайринга от СберБанка, выполните настройку.
Скрипт для автоматических платежей sber_recurrent_payment.py
Настроить систему в зависимости от платёжного шлюза
Оставьте заявку на подключение на сайте. Дождитесь, пока сотрудники предоставят вам информацию.
В личном кабинете настройте параметры callback-уведомлений:

Зарегистрируйте приложение в личном кабинете Sber API. Получите необходимые данные для дальнейшей настройки:
Создайте профиль для платёжной системы в LANBilling.

Перейдите в раздел «Настройки» — «Настройки ВПС».

Нажмите «Добавить».

Выберите профиль менеджера, созданный ранее. Также выберите оператора, для которого будет действовать ВПС.
Вы можете настроить несколько экземпляров одной платёжной системы. Для каждой из них пара
В поле «ВПС» выберите «Сбербанк». Появятся расширенные настройки этой платёжной системы.

Некоторые поля заполнятся автоматически. Как правило, их не нужно редактировать — это настройки на стороне платёжной системы, которые редко меняются.
https://mc.api.sberbank.ru:443/prod/tokens/v3/oauthhttps://mc.api.sberbank.ru:443/prod/qr/order/v3/creationhttps://api.sberbank.ru/qr/order.createВведите комментарий. Это обязательное поле. Если вы используете несколько экземпляров одной ВПС, комментарий позволит вам отличать их друг от друга.

В зависимости от того, какой платёжный шлюз вы будете использовать, укажите URL шлюза:
Старый шлюз (securepayments):
https://3dsec.sberbank.ru/payment/rest/https://securepayments.sberbank.ru/payment/rest/Новый шлюз (ecommerce):
https://ecomtest.sberbank.ru/ecomm/gw/partner/api/v1/register.dohttps://ecommerce.sberbank.ru/ecomm/gw/partner/api/v1/register.do
Введите URL, на которые система будет перенаправлять клиента при успешной и неуспешной оплате.

Укажите логин и пароль, полученные при подключении к платёжному шлюзу.

Код валюты (по ISO 4217) — по умолчанию используется 643 (рубль). Вы можете указать другую валюту. В договорах оператора, для которого вы настраиваете ВПС, должна быть указана соответствующая валюта.
Язык оформления платёжной страницы (по ISO 639-1) — по умолчанию используется русский язык (значение «ru»).

Описание платежа, отображаемое для пользователя — составьте шаблон описания, которое увидит ваш клиент, когда будет пополнять баланс. В шаблоне можно использовать переменные:
Пример.
В настройках задан шаблон описания: Оплата {amount} {currency} по договору {agrnum}
При оплате пользователь увидит свои данные: Оплата 2 500 руб. по договору Contract_1
Единицы измерения товара — по умолчанию используется единица измерения «шт».
Минимальный размер автоплатежа и Максимальный размер автоплатежа — если вы работаете с автоплатежами, можно задать ограничения по сумме автооплаты.
Минимальный размер платежа в личном кабинете — позволяет задать минимальную сумму, на которую ваши абоненты могут пополнить баланс в личном кабинете. Если не хотите использовать это ограничение, укажите значение 0.
Наименование товара — введите наименование, которое будет использоваться при оплате СБП.

Идентификаторы, присваиваемые банком вашей организации:

Параметры сертификатов, полученных при регистрации в Sber API:

Возможность подключать автоплатежи — позволяет вашим клиентам подключать автооплату в личном кабинете. По умолчанию возможность включена.
Использовать обычную оплату — возможность использовать обычную оплату картой (не СБП). По умолчанию флаг установлен. Если хотите использовать только способ оплаты «СБП», снимите флаг.
Использовать оплату по СБП — по умолчанию флаг установлен. Если хотите использовать только обычный способ оплаты картой, снимите флаг.

Тип оплаты (признак способа расчёта) — выберите признак, который будет присваиваться платежам:
Тип оплачиваемой позиции (признак предмета расчёта) — выберите предмет расчёта, который будет присваиваться платежам:

Сохраните настройки ВПС.

Действия различаются для разных ОС.
Создайте каталог:
mkdir /usr/local/share/ca-certificates/sber/
``
Скачайте два сертификата:
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
``
Подробнее о сертификатах для Linux — в документации Сбербанка.
Обновите хранилище сертификатов:
update-ca-certificates -v
``
Ответ системы при успешном добавлении:
2 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
``
Проверьте, что сертификаты валидны — заверены центром сертификации. Сделать это можно двумя способами.
С помощью wget — при проверке ответ не должен быть пустым.
wget -qS —spider —max-redirect=0 https://3dsec.sberbank.ru/payment/rest/
С помощью curl — при проверке не должна возвращаться ошибка.
curl https://3dsec.sberbank.ru/payment/webservices/merchant-ws?wsdl
Убедитесь, что существует каталог /etc/pki/ca-trust/source/anchors/.
Скачайте два сертификата:
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
``
Подробнее о сертификатах для Linux — в документации Сбербанка.
Обновите хранилище сертификатов:
update-ca-trust force-enable
``
Ответ системы при успешном добавлении:
2 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
``
Проверьте, что сертификаты валидны — заверены центром сертификации. Сделать это можно двумя способами.
С помощью wget — при проверке ответ не должен быть пустым.
wget -qS —spider —max-redirect=0 https://3dsec.sberbank.ru/payment/rest/
С помощью curl — при проверке не должна возвращаться ошибка.
curl https://3dsec.sberbank.ru/payment/webservices/merchant-ws?wsdl
Выполните эти шаги, если вы работаете с автоплатежами.
Скопируйте скрипт sber_recurrent_payment.py в директорию /usr/local/billing/pymodules/:
cp /usr/local/billing/payments/sber_acq/sber_recurrent_payment.py /usr/local/billing/pymodules/
``
Укажите в файле настройки доступа. Пример:
MANAGER = 'super_pay'
PASSWORD = '12345'
OPER_ID = 1
``
MANAGER и PASSWORD — логин и пароль профиля платёжной системы.OPER_ID — ID оператора в биллинге. Укажите идентификатор того же оператора, который задали при настройке в административном интерфейсе.
Перезапустите модуль LBcore. Команды различаются в разных ОС.
systemctl restart lbcore
service lbcore restart
Callback-скрипт нужен, чтобы фиксировать в LANBilling результаты оплат. Он обрабатывает запросы от платёжной системы — в них содержится информация об операциях. На основании этих данных скрипт создаёт платежи в биллинге.
Скрипт sber_acq.cgi используется для работы нового платёжного шлюза (ecommerce). Убедитесь, что в настройках ВПС в административном интерфейсе установлен флаг «Использовать платёжный шлюз ecommerce».
Настройка различается для разных ОС.
Убедитесь, что установлен PHP 7, а также пакеты perl-cgi, perl-JSON и perl-soap-lite.
Скопируйте sber_acq.cgi в директорию исполняемых скриптов вашего веб-сервера:
cp /usr/local/billing/payments/sber_acq/sber_acq.cgi /var/www/cgi-bin/
``
Укажите в файле настройки доступа.
# Атрибуты для доступа к LBcore
my $proto = 'http';
my $lbcore_host = '127.0.0.1';
my $manager_login = 'super_pay';
my $manager_pass = '12345';
my $oper_id = 0;
# Путь к файлу лога
my $log_file = "/var/log/billing/weblogs/sber-acq.log";
``
proto — метод подключения к LBcore. По умолчанию — http. Если настроена работа API по SSL — используйте https.
lbcore_host — IP-адрес и порт для подключения к LBcore.
manager_login и manager_pass — логин и пароль от профиля платёжной системы в LANBilling.
oper_id — ID оператора в биллинге. Укажите идентификатор того же оператора, который задали при настройке в административном интерфейсе.
log_file — путь к файлу с логами.
Сделайте скрипт исполняемым:
chmod +x /var/www/cgi-bin/sber_acq.cgi
``
Сообщите сотрудникам СберБанка URL скрипта sber_acq.cgi на вашем веб-сервере. Например: https://company.org/cgi-bin/sber_acq.cgi.
Убедитесь, что установлен PHP 7, а также пакеты libsoap-lite-perl, libxml-simple-perl, libcgi-session-perl, libtext-iconv-perl, libjson-perl.
Скопируйте sber_acq.cgi в директорию исполняемых скриптов вашего веб-сервера:
cp /usr/local/billing/payments/sber_acq/sber_acq.cgi /usr/lib/cgi-bin/
``
Укажите в файле настройки доступа.
# Атрибуты для доступа к LBcore
my $proto = 'http';
my $lbcore_host = '127.0.0.1';
my $manager_login = 'super_pay';
my $manager_pass = '12345';
my $oper_id = 0;
# Путь к файлу лога
my $log_file = "/var/log/billing/weblogs/sber-acq.log";
``
proto — метод подключения к LBcore. По умолчанию — http. Если настроена работа API по SSL — используйте https.
lbcore_host — IP-адрес и порт для подключения к LBcore.
manager_login и manager_pass — логин и пароль от профиля платёжной системы в LANBilling.
oper_id — ID оператора в биллинге. Укажите идентификатор того же оператора, который задали при настройке в административном интерфейсе.
log_file — путь к файлу с логами.
Сделайте скрипт исполняемым:
chmod +x /usr/lib/cgi-bin/sber_acq.cgi
``
Сообщите сотрудникам СберБанка URL скрипта sber_acq.cgi на вашем веб-сервере. Например: https://company.org/cgi-bin/sber_acq.cgi.
Убедитесь, что установлен PHP 7, а также пакеты p5-IO-SessionData и p5-SOAP-Lite.
Скопируйте sber_acq.cgi в директорию исполняемых скриптов вашего веб-сервера:
cp /usr/local/billing/payments/sber_acq/sber_acq.cgi /usr/local/www/apache24/cgi-bin/
``
Укажите в файле настройки доступа.
# Атрибуты для доступа к LBcore
my $proto = 'http';
my $lbcore_host = '127.0.0.1';
my $manager_login = 'super_pay';
my $manager_pass = '12345';
my $oper_id = 0;
# Путь к файлу лога
my $log_file = "/var/log/billing/weblogs/sber-acq.log";
``
proto — метод подключения к LBcore. По умолчанию — http. Если настроена работа API по SSL — используйте https.
lbcore_host — IP-адрес и порт для подключения к LBcore.
manager_login и manager_pass — логин и пароль от профиля платёжной системы в LANBilling.
oper_id — ID оператора в биллинге. Укажите идентификатор того же оператора, который задали при настройке в административном интерфейсе.
log_file — путь к файлу с логами.
Сделайте скрипт исполняемым:
chmod +x /usr/local/www/apache24/cgi-bin/sber_acq.cgi
``
Сообщите сотрудникам СберБанка URL скрипта sber_acq.cgi на вашем веб-сервере. Например: https://company.org/cgi-bin/sber_acq.cgi.
Действия различаются для разных ОС.
Откройте файл sberbank.ini:
nano /etc/lanbilling/phpclient/client/sberbank.ini
``
Проверьте параметры. Измените их, если нужно.
[sberbank]
enabled = true
; Идентификатор менеджера, работающего с данной ВПС
epsManagerId = '14'
; Возможность подключать автоплатежи
allowAutoPayments = true
; url для оплаты
path = 'https://ecomtest.sberbank.ru/ecomm/gw/partner/api/v1/'
userName = 'lblogin'
password = '24g2I24geskKgeh'
currency = 643
language = 'ru'
pageView = 'DESKTOP'
sessionTimeoutSecs = 600
; Описание заказа в свободной форме
description = 'Оплата {amount} {currency} по договорам {agrnums}'
; Мера измерения количества товарной позиции
measure = 'шт'
; Тип платежа
paymentMethod = full_prepayment
; Объект платежа
paymentObject = service
; Сумма минимального платежа
minPaymentAmount = 10
; Использование нового шлюза https://ecomtest.sberbank.ru/doc
useNewGateway = true
``
enabled — укажите true, чтобы включить Сбербанк в личном кабинете абонентов LANBilling.epsManagerId — ID профиля платёжной системы.allowAutoPayments — укажите true, если хотите работать с автоплатежами.path — URL платёжного шлюза:
https://ecomtest.sberbank.ru/ecomm/gw/partner/api/v1/register.dohttps://ecommerce.sberbank.ru/ecomm/gw/partner/api/v1/register.douserName и password — логин и пароль для доступа к сервису. Их выдают сотрудники СберБанка.currency — код валюты (по ISO 4217). По умолчанию используется рубль. Вы можете указать другую валюту. В договорах оператора, для которого вы настраиваете ВПС, должна быть указана соответствующая валюта.language — язык оформления платёжной страницы (по ISO 639-1). По умолчанию используется русский язык (значение «ru»).description — Описание платежа, отображаемое для пользователя. Составьте шаблон описания, которое увидит ваш клиент, когда будет пополнять баланс.measure — единицы измерения товара. По умолчанию используется единица измерения «шт».paymentMethod — тип оплаты (признак способа расчёта). Укажите признак, который будет присваиваться платежам:
full_prepayment — полная предоплата,prepayment — частичная предоплата,advance — аванс,full_payment — полный расчёт. В том числе с учетом аванса или предоплаты.paymentObject — тип оплачиваемой позиции (признак предмета расчёта). Примеры допустимых значений:
commodity — товар,service — услуга,job — работа,payment — платеж. Передается, если формируется чек Аванса или Предоплаты,another — иной предмет расчета.minPaymentAmount — минимальный размер платежа в личном кабинете. Если не хотите использовать это ограничение, укажите значение 0.useNewGateway — укажите true.Сохраните конфигурационный файл. Сериализуйте изменения:
/usr/local/sbin/lbwebcfg -y client /etc/lanbilling/phpclient/client/
``
Откройте файл sberbank.ini:
nano /usr/local/etc/lanbilling/phpclient/client/sberbank.ini
``
Проверьте параметры. Измените их, если нужно.
[sberbank]
enabled = true
; Идентификатор менеджера, работающего с данной ВПС
epsManagerId = '14'
; Возможность подключать автоплатежи
allowAutoPayments = true
; url для оплаты
path = 'https://ecomtest.sberbank.ru/ecomm/gw/partner/api/v1/'
userName = 'lblogin'
password = '24g2I24geskKgeh'
currency = 643
language = 'ru'
pageView = 'DESKTOP'
sessionTimeoutSecs = 600
; Описание заказа в свободной форме
description = 'Оплата {amount} {currency} по договорам {agrnums}'
; Мера измерения количества товарной позиции
measure = 'шт'
; Тип платежа
paymentMethod = full_prepayment
; Объект платежа
paymentObject = service
; Сумма минимального платежа
minPaymentAmount = 10
; Использование нового шлюза https://ecomtest.sberbank.ru/doc
useNewGateway = true
``
enabled — укажите true, чтобы включить Сбербанк в личном кабинете абонентов LANBilling.epsManagerId — ID профиля платёжной системы.allowAutoPayments — укажите true, если хотите работать с автоплатежами.path — URL платёжного шлюза:
https://ecomtest.sberbank.ru/ecomm/gw/partner/api/v1/register.dohttps://ecommerce.sberbank.ru/ecomm/gw/partner/api/v1/register.douserName и password — логин и пароль для доступа к сервису. Их выдают сотрудники СберБанка.currency — код валюты (по ISO 4217). По умолчанию используется рубль. Вы можете указать другую валюту. В договорах оператора, для которого вы настраиваете ВПС, должна быть указана соответствующая валюта.language — язык оформления платёжной страницы (по ISO 639-1). По умолчанию используется русский язык (значение «ru»).description — Описание платежа, отображаемое для пользователя. Составьте шаблон описания, которое увидит ваш клиент, когда будет пополнять баланс.measure — единицы измерения товара. По умолчанию используется единица измерения «шт».paymentMethod — тип оплаты (признак способа расчёта). Укажите признак, который будет присваиваться платежам:
full_prepayment — полная предоплата,prepayment — частичная предоплата,advance — аванс,full_payment — полный расчёт. В том числе с учетом аванса или предоплаты.paymentObject — тип оплачиваемой позиции (признак предмета расчёта). Примеры допустимых значений:
commodity — товар,service — услуга,job — работа,payment — платеж. Передается, если формируется чек Аванса или Предоплаты,another — иной предмет расчета.minPaymentAmount — минимальный размер платежа в личном кабинете. Если не хотите использовать это ограничение, укажите значение 0.useNewGateway — укажите true.Сохраните конфигурационный файл. Сериализуйте изменения:
/usr/local/sbin/lbwebcfg -y client /usr/local/etc/lanbilling/phpclient/client/
``
Можно предоставить абонентам возможность совершать оплаты по СБП — с помощью банковского приложения на смартфоне. Динамический QR-код привязан к конкретной покупке и содержит в себе её сумму. Такой QR-код не нужно вручную отправлять абонентам — достаточно разместить на сайте платежную форму и подключить оплату через СБП.
Обратите внимание: оплату по СБП не удастся настроить, если сервер, где установлен личный кабинет, работает под управлением Centos 7.
Убедитесь, что корректно настроен скрипт callback-уведомлений sber_acq.cgi.
Задайте необходимые параметры оплаты по СБП в файле конфигурации sberbank.ini.
Команды различаются в зависимости от ОС.
Откройте файл конфигурации sberbank.ini:
nano /etc/lanbilling/phpclient/client/sberbank.ini
``
Проверьте параметры. Измените их, если нужно.
; Настройки СБП оплаты
; Наименование товарной позиции при сбп оплате
positionName = 'Платёж'
; Идентификатор клиента
memberId = ''
; Client ID
clientId = ''
; Client Secret
clientSecret = ''
; url для получения токена доступа
tokenURL = 'https://mc.api.sberbank.ru:443/prod/tokens/v3/oauth'
; url для создания заказа при оплате СБП
qrURL = 'https://mc.api.sberbank.ru/prod/qr/order/v3/creation'
; Область видимости для qrURL
scope = 'https://api.sberbank.ru/qr/order.create'
; Уникальный идентификатор терминала
tid = ''
; Полный путь до сертификата
certificatePath = ''
; Пароль от сертификата
certificatePassword = ''
; Возможность использовать обычную оплату
useCardPayment = true
; Возможность использовать СБП оплату
useSbpPayment = true
``
positionName — наименование товара при оплате СБП.memberId — идентификатор партнёра, присваиваемый банком вашей организации.clientId — идентификатор клиента, полученный при регистрации приложения в Sber API.clientSecret — секрет, полученный при регистрации приложения в Sber API.tid — идентификатор терминала, присваиваемый банком вашей организации.certificatePath и certificatePassword — путь к контейнеру с сертификатами безопасности, полученными при регистрации приложения в Sber API, и пароль к нему.useCardPayment — возможность использовать в ЛК обычную оплату картой (не СБП). По умолчанию включена. Если хотите использовать только способ оплаты «СБП», укажите false.useSbpPayment — укажите true, чтобы вашим клиентам были доступны оплаты по СБП.Параметры tokenURL, qrURL и scope менять не нужно.
Сериализуйте изменения:
/usr/local/sbin/lbwebcfg -y client /etc/lanbilling/phpclient/client/
``
Откройте файл конфигурации sberbank.ini:
nano /usr/local/etc/lanbilling/phpclient/client/sberbank.ini
``
Проверьте параметры. Измените их, если нужно.
; Настройки СБП оплаты
; Наименование товарной позиции при сбп оплате
positionName = 'Платёж'
; Идентификатор клиента
memberId = ''
; Client ID
clientId = ''
; Client Secret
clientSecret = ''
; url для получения токена доступа
tokenURL = 'https://mc.api.sberbank.ru:443/prod/tokens/v3/oauth'
; url для создания заказа при оплате СБП
qrURL = 'https://mc.api.sberbank.ru/prod/qr/order/v3/creation'
; Область видимости для qrURL
scope = 'https://api.sberbank.ru/qr/order.create'
; Уникальный идентификатор терминала
tid = ''
; Полный путь до сертификата
certificatePath = ''
; Пароль от сертификата
certificatePassword = ''
; Возможность использовать обычную оплату
useCardPayment = true
; Возможность использовать СБП оплату
useSbpPayment = true
``
positionName — наименование товара при оплате СБП.memberId — идентификатор партнёра, присваиваемый банком вашей организации.clientId — идентификатор клиента, полученный при регистрации приложения в Sber API.clientSecret — секрет, полученный при регистрации приложения в Sber API.tid — идентификатор терминала, присваиваемый банком вашей организации.certificatePath и certificatePassword — путь к контейнеру с сертификатами безопасности, полученными при регистрации приложения в Sber API, и пароль к нему.useCardPayment — возможность использовать в ЛК обычную оплату картой (не СБП). По умолчанию включена. Если хотите использовать только способ оплаты «СБП», укажите false.useSbpPayment — укажите true, чтобы вашим клиентам были доступны оплаты по СБП.Параметры tokenURL, qrURL и scope менять не нужно.
Сериализуйте изменения:
/usr/local/sbin/lbwebcfg -y client /usr/local/etc/lanbilling/phpclient/client/
``
Callback-скрипт нужен, чтобы фиксировать в LANBilling результаты оплат. Он обрабатывает запросы от платёжной системы — в них содержится информация об операциях. На основании этих данных скрипт создаёт платежи в биллинге.
Скрипт sber_acq_3dsec.cgi используется для оплат картой через старый платёжный шлюз (securepayments). Убедитесь, что в настройках ВПС в административном интерфейсе снят флаг «Использовать платёжный шлюз ecommerce».
Настройка различается для разных ОС.
Убедитесь, что установлен PHP 7, а также пакеты perl-cgi, perl-JSON и perl-soap-lite.
Скопируйте sber_acq_3dsec.cgi в директорию исполняемых скриптов вашего веб-сервера:
cp /usr/local/billing/payments/sber_acq/sber_acq_3dsec.cgi /var/www/cgi-bin/
``
Укажите в файле настройки доступа.
# Атрибуты для доступа к LBcore
my $proto = 'http';
my $lbcore_host = '127.0.0.1';
my $manager_login = 'super_pay';
my $manager_pass = '12345';
my $oper_id = 0;
# Путь к файлу лога
my $log_file = "/var/log/billing/weblogs/sber-acq.log";
``
proto — метод подключения к LBcore. По умолчанию — http. Если настроена работа API по SSL — используйте https.
lbcore_host — IP-адрес и порт для подключения к LBcore.
manager_login и manager_pass — логин и пароль от профиля платёжной системы в LANBilling.
oper_id — ID оператора в биллинге. Укажите идентификатор того же оператора, который задали при настройке в административном интерфейсе.
log_file — путь к файлу с логами.
Сделайте скрипт исполняемым:
chmod +x /var/www/cgi-bin/sber_acq_3dsec.cgi
``
Сообщите сотрудникам СберБанка URL скрипта sber_acq_3dsec.cgi на вашем веб-сервере. Например: https://company.org/cgi-bin/sber_acq_3dsec.cgi.
Убедитесь, что установлен PHP 7, а также пакеты libsoap-lite-perl, libxml-simple-perl, libcgi-session-perl, libtext-iconv-perl, libjson-perl.
Скопируйте sber_acq_3dsec.cgi в директорию исполняемых скриптов вашего веб-сервера:
cp /usr/local/billing/payments/sber_acq/sber_acq_3dsec.cgi /usr/lib/cgi-bin/
``
Укажите в файле настройки доступа.
# Атрибуты для доступа к LBcore
my $proto = 'http';
my $lbcore_host = '127.0.0.1';
my $manager_login = 'super_pay';
my $manager_pass = '12345';
my $oper_id = 0;
# Путь к файлу лога
my $log_file = "/var/log/billing/weblogs/sber-acq.log";
``
proto — метод подключения к LBcore. По умолчанию — http. Если настроена работа API по SSL — используйте https.
lbcore_host — IP-адрес и порт для подключения к LBcore.
manager_login и manager_pass — логин и пароль от профиля платёжной системы в LANBilling.
oper_id — ID оператора в биллинге. Укажите идентификатор того же оператора, который задали при настройке в административном интерфейсе.
log_file — путь к файлу с логами.
Сделайте скрипт исполняемым:
chmod +x /usr/lib/cgi-bin/sber_acq_3dsec.cgi
``
Сообщите сотрудникам СберБанка URL скрипта sber_acq_3dsec.cgi на вашем веб-сервере. Например: https://company.org/cgi-bin/sber_acq_3dsec.cgi.
Убедитесь, что установлен PHP 7, а также пакеты p5-IO-SessionData и p5-SOAP-Lite.
Скопируйте скрипт callback-уведомлений sber_acq_3dsec.cgi в директорию исполняемых скриптов вашего веб-сервера:
cp /usr/local/billing/payments/sber_acq/sber_acq_3dsec.cgi /usr/local/www/apache24/cgi-bin/
``
Укажите в файле настройки доступа.
# Атрибуты для доступа к LBcore
my $proto = 'http';
my $lbcore_host = '127.0.0.1';
my $manager_login = 'super_pay';
my $manager_pass = '12345';
my $oper_id = 0;
# Путь к файлу лога
my $log_file = "/var/log/billing/weblogs/sber-acq.log";
``
proto — метод подключения к LBcore. По умолчанию — http. Если настроена работа API по SSL — используйте https.
lbcore_host — IP-адрес и порт для подключения к LBcore.
manager_login и manager_pass — логин и пароль от профиля платёжной системы в LANBilling.
oper_id — ID оператора в биллинге. Укажите идентификатор того же оператора, который задали при настройке в административном интерфейсе.
log_file — путь к файлу с логами.
Сделайте скрипт исполняемым:
chmod +x /usr/local/www/apache24/cgi-bin/sber_acq_3dsec.cgi
``
Сообщите сотрудникам СберБанка URL скрипта sber_acq_3dsec.cgi на вашем веб-сервере. Например: https://company.org/cgi-bin/sber_acq_3dsec.cgi.
Действия различаются для разных ОС.
Откройте файл конфигурации sberbank.ini:
nano /etc/lanbilling/phpclient/client/sberbank.ini
``
Включите платёжную систему в личном кабинете абонентов LANBilling.
[sberbank]
enabled = false
; Идентификатор менеджера, работающего с данной ВПС
epsManagerId = ''
; Возможность подключать автоплатежи
allowAutoPayments = true
; url для оплаты
path = 'https://3dsec.sberbank.ru/payment/rest/'
userName = 'lblogin'
password = '24g2I24geskKgeh'
currency = 643
; Язык в кодировке ISO 639-1 (ru, en).
language = 'ru'
pageView = 'DESKTOP'
sessionTimeoutSecs = 600
; Описание заказа в свободной форме
description = 'Оплата {amount} {currency} по договорам {agrnums}'
; Мера измерения количества товарной позиции
measure = 'шт'
; Тип платежа
paymentMethod = 1
; Объект платежа
paymentObject = 10
; Сумма минимального платежа
minPaymentAmount = 10
; Использование нового шлюза https://ecomtest.sberbank.ru/doc
useNewGateway = false
``
enabled — укажите true, чтобы включить Сбербанк в личном кабинете абонентов LANBilling.epsManagerId — ID профиля платёжной системы.allowAutoPayments — укажите true, если хотите работать с автоплатежами.path — URL платёжного шлюза:
https://3dsec.sberbank.ru/payment/rest/https://securepayments.sberbank.ru/payment/rest/userName и password — логин и пароль для доступа к сервису. Их выдают сотрудники СберБанка.currency — код валюты (по ISO 4217). По умолчанию используется рубль. Вы можете указать другую валюту. В договорах оператора, для которого вы настраиваете ВПС, должна быть указана соответствующая валюта.language — язык оформления платёжной страницы (по ISO 639-1). По умолчанию используется русский язык (значение «ru»).description — Описание платежа, отображаемое для пользователя. Составьте шаблон описания, которое увидит ваш клиент, когда будет пополнять баланс.measure — единицы измерения товара. По умолчанию используется единица измерения «шт».paymentMethod — тип оплаты (признак способа расчёта). Укажите признак, который будет присваиваться платежам:
1 — полная предварительная оплата до момента передачи предмета расчета,2 — частичная предварительная оплата до момента передачи предмета расчета,3 — аванс,3 — полная оплата в момент передачи предмета расчёта.paymentObject — тип оплачиваемой позиции (признак предмета расчёта). Примеры допустимых значений:
1 — товар,3 — работа,4 — услуга,10 — платеж. Передается, если формируется чек Аванса или Предоплаты,13 — иной предмет расчета.minPaymentAmount — минимальный размер платежа в личном кабинете. Если не хотите использовать это ограничение, укажите значение 0.useNewGateway — укажите false.Сохраните конфигурационный файл. Сериализуйте изменения:
/usr/local/sbin/lbwebcfg -y client /etc/lanbilling/phpclient/client/
``
Откройте файл конфигурации sberbank.ini:
nano /usr/local/etc/lanbilling/phpclient/client/sberbank.ini
``
Включите платёжную систему в личном кабинете абонентов LANBilling.
[sberbank]
enabled = false
; Идентификатор менеджера, работающего с данной ВПС
epsManagerId = ''
; Возможность подключать автоплатежи
allowAutoPayments = true
; url для оплаты
path = 'https://3dsec.sberbank.ru/payment/rest/'
userName = 'lblogin'
password = '24g2I24geskKgeh'
currency = 643
; Язык в кодировке ISO 639-1 (ru, en).
language = 'ru'
pageView = 'DESKTOP'
sessionTimeoutSecs = 600
; Описание заказа в свободной форме
description = 'Оплата {amount} {currency} по договорам {agrnums}'
; Мера измерения количества товарной позиции
measure = 'шт'
; Тип платежа
paymentMethod = 1
; Объект платежа
paymentObject = 10
; Сумма минимального платежа
minPaymentAmount = 10
; Использование нового шлюза https://ecomtest.sberbank.ru/doc
useNewGateway = false
``
enabled — укажите true, чтобы включить Сбербанк в личном кабинете абонентов LANBilling.epsManagerId — ID профиля платёжной системы.allowAutoPayments — укажите true, если хотите работать с автоплатежами.path — URL платёжного шлюза:
https://3dsec.sberbank.ru/payment/rest/https://securepayments.sberbank.ru/payment/rest/userName и password — логин и пароль для доступа к сервису. Их выдают сотрудники СберБанка.currency — код валюты (по ISO 4217). По умолчанию используется рубль. Вы можете указать другую валюту. В договорах оператора, для которого вы настраиваете ВПС, должна быть указана соответствующая валюта.language — язык оформления платёжной страницы (по ISO 639-1). По умолчанию используется русский язык (значение «ru»).description — Описание платежа, отображаемое для пользователя. Составьте шаблон описания, которое увидит ваш клиент, когда будет пополнять баланс.measure — единицы измерения товара. По умолчанию используется единица измерения «шт».paymentMethod — тип оплаты (признак способа расчёта). Укажите признак, который будет присваиваться платежам:
1 — полная предварительная оплата до момента передачи предмета расчета,2 — частичная предварительная оплата до момента передачи предмета расчета,3 — аванс,3 — полная оплата в момент передачи предмета расчёта.paymentObject — тип оплачиваемой позиции (признак предмета расчёта). Примеры допустимых значений:
1 — товар,3 — работа,4 — услуга,10 — платеж. Передается, если формируется чек Аванса или Предоплаты,13 — иной предмет расчета.minPaymentAmount — минимальный размер платежа в личном кабинете. Если не хотите использовать это ограничение, укажите значение 0.useNewGateway — укажите false.Сохраните конфигурационный файл. Сериализуйте изменения:
/usr/local/sbin/lbwebcfg -y client /usr/local/etc/lanbilling/phpclient/client/
``
Измените настройки openssl:
nano /etc/ssl/openssl.cnf
``
Задайте такие параметры:
openssl_conf = openssl_init
[openssl_init]
providers = provider_sect
[provider_sect]
default = default_sect
legacy = legacy_sect
[default_sect]
activate = 1
[legacy_sect]
activate = 1
``
Извлеките из контейнера корневые сертификаты, полученные при регистрации в Sber API. Они находятся в файле cacerts.cer. Введите команду с учётом расположения и названия вашего контейнера:
openssl pkcs12 -in /home/certificate_ccc123-45bb-67aa.p12 -cacerts -nokeys -out cacerts.cer
``
Переименуйте полученный файл в «cacerts.crt»:
mv cacerts.cer cacerts.crt
``
Дальнейшие действия различаются в зависимости от ОС.
Добавьте файл с корневыми сертификатами в хранилище:
cp cacerts.crt /usr/local/share/ca-certificates/
``
Обновите хранилище:
update-ca-certificates -v
``
Можно проверить, что сертификаты добавлены:
awk -v cmd='openssl x509 -noout -subject' ' /BEGIN/{close(cmd)};{print | cmd}' < /etc/ssl/certs/ca-certificates.crt | grep -i "SberAPI CA"
Ответ системы при успешном добавлении:
subject=C = RU, ST = Moscow, L = Moscow, O = Sberbank of Russia, OU = SberAPI, CN = SberAPI CA
Добавьте файл с корневыми сертификатами в хранилище:
cp cacerts.crt /etc/pki/ca-trust/source/anchors/
``
Обновите хранилище:
update-ca-trust force-enable
``
Можно проверить, что сертификаты добавлены:
awk -v cmd='openssl x509 -noout -subject' ' /BEGIN/{close(cmd)};{print | cmd}' < /etc/ssl/certs/ca-bundle.crt | grep -i "SberAPI CA"
Ответ системы при успешном добавлении:
subject=C = RU, ST = Moscow, L = Moscow, O = Sberbank of Russia, OU = SberAPI, CN = SberAPI CA
Команды различаются для разных ОС.
Скопируйте скрипт callback-уведомлений sber_qr.py в директорию исполняемых скриптов вашего веб-сервера:
cp /usr/local/billing/payments/sber_acq/sber_qr.py /var/www/cgi-bin/
``
Укажите в файле настройки доступа.
# Атрибуты для доступа к LBcore
HOST = '127.0.0.1'
PORT = 34012
MANAGER_LOGIN = 'super_pay'
MANAGER_PASS = '12345'
# Путь к лог-файлу с историей
LOG_FILE = "/var/log/billing/sber_qr.log"
``
HOST и PORT — IP-адрес и порт для подключения к LBcore.MANAGER_LOGIN и MANAGER_PASS — логин и пароль профиля платёжной системы.LOG_FILE — путь к файлу с логами.Сделайте скрипт исполняемым:
chmod +x /var/www/cgi-bin/sber_qr.py
``
Скопируйте скрипт callback-уведомлений sber_qr.py в директорию исполняемых скриптов вашего веб-сервера:
cp /usr/local/billing/payments/sber_acq/sber_qr.py /usr/lib/cgi-bin/
``
Укажите в файле настройки доступа.
# Атрибуты для доступа к LBcore
HOST = '127.0.0.1'
PORT = 34012
MANAGER_LOGIN = 'super_pay'
MANAGER_PASS = '12345'
# Путь к лог-файлу с историей
LOG_FILE = "/var/log/billing/sber_qr.log"
``
HOST и PORT — IP-адрес и порт для подключения к LBcore.MANAGER_LOGIN и MANAGER_PASS — логин и пароль профиля платёжной системы.LOG_FILE — путь к файлу с логами.Сделайте скрипт исполняемым:
chmod +x /usr/lib/cgi-bin/sber_qr.py
``
Скопируйте скрипт callback-уведомлений sber_qr.py в директорию исполняемых скриптов вашего веб-сервера:
cp /usr/local/billing/payments/sber_acq/sber_qr.py /usr/local/www/apache24/cgi-bin/
``
Укажите в файле настройки доступа.
# Атрибуты для доступа к LBcore
HOST = '127.0.0.1'
PORT = 34012
MANAGER_LOGIN = 'super_pay'
MANAGER_PASS = '12345'
# Путь к лог-файлу с историей
LOG_FILE = "/var/log/billing/sber_qr.log"
``
HOST и PORT — IP-адрес и порт для подключения к LBcore.MANAGER_LOGIN и MANAGER_PASS — логин и пароль профиля платёжной системы.LOG_FILE — путь к файлу с логами.Сделайте скрипт исполняемым:
chmod +x /usr/local/www/apache24/cgi-bin/sber_qr.py
``
Откройте файл конфигурации sberbank.ini:
nano /etc/lanbilling/phpclient/client/sberbank.ini
``
Проверьте параметры. Измените их, если нужно.
; Настройки СБП оплаты
; Наименование товарной позиции при сбп оплате
positionName = 'Платёж'
; Идентификатор клиента
memberId = ''
; Client ID
clientId = ''
; Client Secret
clientSecret = ''
; url для получения токена доступа
tokenURL = 'https://mc.api.sberbank.ru:443/prod/tokens/v3/oauth'
; url для создания заказа при оплате СБП
qrURL = 'https://mc.api.sberbank.ru/prod/qr/order/v3/creation'
; Область видимости для qrURL
scope = 'https://api.sberbank.ru/qr/order.create'
; Уникальный идентификатор терминала
tid = ''
; Полный путь до сертификата
certificatePath = ''
; Пароль от сертификата
certificatePassword = ''
; Возможность использовать обычную оплату
useCardPayment = true
; Возможность использовать СБП оплату
useSbpPayment = true
``
positionName — наименование товара при оплате СБП.memberId — идентификатор партнёра, присваиваемый банком вашей организации.clientId — идентификатор клиента, полученный при регистрации приложения в Sber API.clientSecret — секрет, полученный при регистрации приложения в Sber API.tid — идентификатор терминала, присваиваемый банком вашей организации.certificatePath и certificatePassword — путь к контейнеру с сертификатами безопасности, полученными при регистрации приложения в Sber API, и пароль к нему.useCardPayment — возможность использовать в ЛК обычную оплату картой (не СБП). По умолчанию включена. Если хотите использовать только способ оплаты «СБП», укажите false.useSbpPayment — укажите true, чтобы вашим клиентам были доступны оплаты по СБП.Параметры tokenURL, qrURL и scope менять не нужно.
Сериализуйте изменения:
/usr/local/sbin/lbwebcfg -y client /etc/lanbilling/phpclient/client/
``
Откройте файл конфигурации sberbank.ini:
nano /usr/local/etc/lanbilling/phpclient/client/sberbank.ini
``
Проверьте параметры. Измените их, если нужно.
; Настройки СБП оплаты
; Наименование товарной позиции при сбп оплате
positionName = 'Платёж'
; Идентификатор клиента
memberId = ''
; Client ID
clientId = ''
; Client Secret
clientSecret = ''
; url для получения токена доступа
tokenURL = 'https://mc.api.sberbank.ru:443/prod/tokens/v3/oauth'
; url для создания заказа при оплате СБП
qrURL = 'https://mc.api.sberbank.ru/prod/qr/order/v3/creation'
; Область видимости для qrURL
scope = 'https://api.sberbank.ru/qr/order.create'
; Уникальный идентификатор терминала
tid = ''
; Полный путь до сертификата
certificatePath = ''
; Пароль от сертификата
certificatePassword = ''
; Возможность использовать обычную оплату
useCardPayment = true
; Возможность использовать СБП оплату
useSbpPayment = true
``
positionName — наименование товара при оплате СБП.memberId — идентификатор партнёра, присваиваемый банком вашей организации.clientId — идентификатор клиента, полученный при регистрации приложения в Sber API.clientSecret — секрет, полученный при регистрации приложения в Sber API.tid — идентификатор терминала, присваиваемый банком вашей организации.certificatePath и certificatePassword — путь к контейнеру с сертификатами безопасности, полученными при регистрации приложения в Sber API, и пароль к нему.useCardPayment — возможность использовать в ЛК обычную оплату картой (не СБП). По умолчанию включена. Если хотите использовать только способ оплаты «СБП», укажите false.useSbpPayment — укажите true, чтобы вашим клиентам были доступны оплаты по СБП.Параметры tokenURL, qrURL и scope менять не нужно.
Сериализуйте изменения:
/usr/local/sbin/lbwebcfg -y client /usr/local/etc/lanbilling/phpclient/client/
``
Проведите платежи, используя реквизиты тестовых карт. Данные тестовых карт узнайте у сотрудников СберБанка.
В качестве параметра «Cardholder name» нужно использовать не менее двух слов, набранных латинскими буквами. Например, ALEXEY ALEXEEV.
Карты с параметрами «veres=y», «pares=y» или «pares=a» используют технологию «3-D Secure». Для них понадобится код на странице ACS: 12345678.
Есть вопросы по документации? Пожалуйста, напишите их