Чтобы ваши абоненты могли оплачивать услуги в личном кабинете с помощью эквайринга от СберБанка, выполните настройку.
Скрипт для автоматических платежей sber_recurrent_payment.py
Настроить систему в зависимости от платёжного шлюза
Оставьте заявку на подключение на сайте. Дождитесь, пока сотрудники предоставят вам информацию.
В личном кабинете настройте параметры callback-уведомлений:
Зарегистрируйте приложение в личном кабинете Sber API. Получите необходимые данные для дальнейшей настройки:
Создайте профиль для платёжной системы в LANBilling.
Перейдите в раздел «Настройки» — «Настройки ВПС».
Нажмите «Добавить».
Выберите профиль менеджера, созданный ранее. Также выберите оператора, для которого будет действовать ВПС.
Вы можете настроить несколько экземпляров одной платёжной системы. Для каждой из них пара
В поле «ВПС» выберите «Сбербанк». Появятся расширенные настройки этой платёжной системы.
Некоторые поля заполнятся автоматически. Как правило, их не нужно редактировать — это настройки на стороне платёжной системы, которые редко меняются.
https://mc.api.sberbank.ru:443/prod/tokens/v3/oauth
https://mc.api.sberbank.ru:443/prod/qr/order/v3/creation
https://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.do
https://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.do
https://ecommerce.sberbank.ru/ecomm/gw/partner/api/v1/register.do
userName
и 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.do
https://ecommerce.sberbank.ru/ecomm/gw/partner/api/v1/register.do
userName
и 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.
Есть вопросы по документации? Пожалуйста, напишите их