Чтобы ваши абоненты могли оплачивать услуги в личном кабинете с помощью Альфа-Банка, последовательно выполните шаги настройки.
Зарегистрируйтесь в системе эквайринга Альфа-Банка. Вы получите письмо с доступами.
Обратите внимание: перед началом работы смените временный пароль. Если вы оставите временный пароль, интеграция не будет работать.
Таким образом, при дальнейшей настройке будут использоваться:
Создайте профиль для платёжной системы в LANBilling.

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

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

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

Некоторые поля заполнятся автоматически. Как правило, их не нужно редактировать — это настройки, которые меняются очень редко на стороне платёжной системы.
URL платёжного шлюза — используйте URL, полученный при подключении. Возможные варианты:
Введите комментарий. Это поле обязательно для заполнения. Если вы используете несколько экземпляров одной ВПС, комментарий позволит вам отличать их друг от друга.
URL для перенаправления при успешной и неуспешной оплате.
Логин и Пароль для доступа к сервису — реквизиты, полученные при регистрации в системе эквайринга Альфа-Банка.
Код валюты (по ISO 4217) — по умолчанию используется 643 (рубль). Вы можете указать другую валюту. В договорах оператора, для которого вы настраиваете ВПС, должна быть указана соответствующая валюта.
Язык оформления платёжной страницы (по ISO 639-1) — по умолчанию используется русский язык (значение «ru»).
Описание платежа, отображаемое для пользователя — составьте шаблон описания, которое увидит ваш клиент, когда будет пополнять баланс. В шаблоне можно использовать переменные:
Пример.
В настройках задан шаблон описания: Оплата {amount} {currency} по договору {agrnum}
При оплате пользователь увидит свои данные: Оплата 2 500 руб. по договору Contract_1
Минимальный и максимальный размер автоплатежа — если вы работаете с автоплатежами, можно задать минимальную и максимальную сумму регулярных списаний.
Минимальный размер платежа в личном кабинете — позволяет задать минимальную сумму, на которую ваши абоненты могут пополнить баланс в личном кабинете или Telegram-боте. Если не хотите использовать это ограничение, укажите значение 0.
Возможность подключать автоплатежи — позволяет вашим клиентам подключать автооплату в личном кабинете и Telegram-боте. По умолчанию возможность включена.
Использовать обычную оплату — возможность использовать обычную оплату картой (не СБП). По умолчанию флаг установлен. Если хотите использовать только способ оплаты «СБП», снимите флаг.
Использовать оплату по СБП — по умолчанию флаг установлен. Если хотите использовать только обычный способ оплаты картой, снимите флаг.
Тип платежа — признак расчета, который будет присваиваться платежам:
Объект платежа — предмет расчёта:
Класс платежа — укажите идентификатор категории платежей. Он будет присваиваться платежам, совершённым вашими клиентами.
Код платежа — выберите нужный вариант:

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

Скрипт нужен, чтобы фиксировать в LANBilling результаты оплат. Он обрабатывает запросы от платёжной системы — в них содержится информация об операциях. На основании этих данных скрипт создаёт платежи в биллинге.
Настройка различается для разных ОС.
Скопируйте скрипт callback-уведомлений alfabank.py в директорию исполняемых скриптов вашего веб-сервера:
cp /usr/local/billing/payments/alfabank/alfabank.py /var/www/cgi-bin/
``
Укажите в файле настройки доступа. Пример:
# Настройки логирования
ALFA_LOG = '/var/log/billing/weblogs/alfabank.log'
# Параметры подключения к LBcore
HOST = '127.0.0.1'
PORT = 1502
MANAGER = 'super_pay'
PASSWORD = '12345'
OPER_ID = 1
``
ALFA_LOG — путь к файлу с логами.HOST и PORT — IP-адрес и порт для подключения к LBcore.MANAGER и PASSWORD — логин и пароль от профиля платёжной системы в LANBilling. Укажите реквизиты того же профиля, которые задали при настройке в административном интерфейсе.OPER_ID — ID оператора в биллинге. Укажите идентификатор того же оператора, который задали при настройке в административном интерфейсе.Сделайте скрипт исполняемым:
chmod +x /var/www/cgi-bin/alfabank.py
``
Скопируйте скрипт callback-уведомлений alfabank.py в директорию исполняемых скриптов вашего веб-сервера:
cp /usr/local/billing/payments/alfabank/alfabank.py /usr/lib/cgi-bin/
``
Укажите в файле настройки доступа. Пример:
# Настройки логирования
ALFA_LOG = '/var/log/billing/weblogs/alfabank.log'
# Параметры подключения к LBcore
HOST = '127.0.0.1'
PORT = 1502
MANAGER = 'super_pay'
PASSWORD = '12345'
OPER_ID = 1
``
ALFA_LOG — путь к файлу с логами.HOST и PORT — IP-адрес и порт для подключения к LBcore.MANAGER и PASSWORD — логин и пароль от профиля платёжной системы в LANBilling. Укажите реквизиты того же профиля, которые задали при настройке в административном интерфейсе.OPER_ID — ID оператора в биллинге. Укажите идентификатор того же оператора, который задали при настройке в административном интерфейсе.Сделайте скрипт исполняемым:
chmod +x /usr/lib/cgi-bin/alfabank.py
``
Скопируйте скрипт callback-уведомлений alfabank.py в директорию исполняемых скриптов вашего веб-сервера:
cp /usr/local/billing/payments/alfabank/alfabank.py /usr/local/www/apache24/cgi-bin/
``
Укажите в файле настройки доступа. Пример:
# Настройки логирования
ALFA_LOG = '/var/log/billing/weblogs/alfabank.log'
# Параметры подключения к LBcore
HOST = '127.0.0.1'
PORT = 1502
MANAGER = 'super_pay'
PASSWORD = '12345'
OPER_ID = 1
``
ALFA_LOG — путь к файлу с логами.HOST и PORT — IP-адрес и порт для подключения к LBcore.MANAGER и PASSWORD — логин и пароль от профиля платёжной системы в LANBilling. Укажите реквизиты того же профиля, которые задали при настройке в административном интерфейсе.OPER_ID — ID оператора в биллинге. Укажите идентификатор того же оператора, который задали при настройке в административном интерфейсе.Сделайте скрипт исполняемым:
chmod +x /usr/local/www/apache24/cgi-bin/alfabank.py
``
Выполните эти шаги, если вы работаете с автоплатежами.
Убедитесь, что установлен Python 3, а также дополнительные пакеты. Список различается в зависимости от ОС.
python3-requests.
python3-requests.noarch.
py39-requests.
Скопируйте скрипт alfabank_recurrent_payment.py в директорию /usr/local/billing/pymodules/:
cp /usr/local/billing/payments/alfabank/alfabank_recurrent_payment.py /usr/local/billing/pymodules/
``
Укажите в файле настройки доступа. Пример:
MANAGER = 'super_pay'
PASSWORD = '12345'
OPER_ID = 1
``
MANAGER и PASSWORD — логин и пароль от профиля платёжной системы в LANBilling. Укажите реквизиты того же профиля, которые задали при настройке в административном интерфейсе.OPER_ID — ID оператора в биллинге. Укажите идентификатор того же оператора, который задали при настройке в административном интерфейсе. Автоплатежи будут выполняться только по договорам этого оператора.
Перезапустите модуль LBcore. Команды различаются в разных ОС.
systemctl restart lbcore
service lbcore restart
Действия различаются для разных ОС.
Откройте файл конфигурации alfabank.ini.
nano /etc/lanbilling/phpclient/client/alfabank.ini
``
Включите платёжную систему, чтобы абоненты смогли вносить через неё оплаты в личном кабинете:
[alfabank]
enabled = true
``
Убедитесь, что настройки совпадают с теми, которые вы задали для ВПС в административном интерфейсе.
Пример файла:
; Настройки "Alfabank"
[alfabank]
enabled = true
; Идентификатор менеджера, работающего с данной ВПС
epsManagerId = ''
; url для запроса регистрации заказа
payUrl = 'https://pay.alfabank.ru/payment/rest/'
; url для запроса получения qr кода при сбп оплате
qrUrl = 'https://pay.alfabank.ru/payment/rest/sbp/c2b/qr/dynamic/'
; Логин магазина, полученный при подключении
userName = ''
; Пароль магазина, полученный при подключении
password = ''
; Описание заказа.
description = 'Оплата {amount} {currency} по договорам {agrnums}'
; Код валюты платежа ISO 4217. Если не указано, то используется значение по умолчанию
currency = 643
; Язык в кодировке ISO 639-1
language = 'ru'
; Продолжительность жизни заказа в секундах
sessionTimeoutSecs = 1200
; Признак способа расчёта
paymentMethod = 4
; Признак предмета расчёта
paymentObject = 10
; Возможность подключать автоплатежи
allowAutoPayments = true
; Сумма минимального платежа
minPaymentAmount = 10
; Возможность использовать обычную оплату
useCardPayment = true
; Возможность использовать СБП оплату
useSbpPayment = true
``
epsManagerId — идентификатор профиля платёжной системы в LANBilling. Укажите идентификатор того же профиля, который создали для этой ВПС в административном интерфейсе.
payUrl — URL платёжного шлюза, полученный при подключении. Укажите тот же URL, который указали в настройках ВПС в административном интерфейсе.
qrUrl — URL для получения QR-кода при оплате по СБП. В зависимости от платёжного шлюза:
userName — логин с постфиксом -api из письма с продуктивными доступами.
password — ваш пароль от логина с постфиксом -api, который вы установили вместо временного.
description — описание платежа, отображаемое для пользователя.
currency — код валюты (по ISO 4217). По умолчанию используется 643 (рубль).
language — язык платёжной страницы в кодировке ISO 639-1, по умолчанию «ru».
sessionTimeoutSecs — длительность жизни заказа, в секундах. По умолчанию 1200.
paymentMethod — признак способа расчета. Варианты:
paymentObject — признак предмета расчёта. Варианты:
allowAutoPayments — возможность подключать автоплатежи.
true — клиенты смогут подключать автооплату.false — клиенты не смогут подключать автооплату.minPaymentAmount — позволяет задать минимальную сумму, на которую ваши абоненты могут пополнить баланс. Если не хотите использовать это ограничение, укажите значение 0.
useCardPayment — включает возможность обычной оплаты картой (не СБП) в личном кабинете и Telegram-боте.
true — клиенты смогут использовать обычную оплату картой.false — клиенты не смогут использовать обычную оплату картой.useSbpPayment — включает возможность оплаты по СБП в личном кабинете и Telegram-боте.
true — клиенты смогут оплачивать услуги по СБП.false — клиенты не смогут оплачивать услуги по СБП.Сохраните конфигурационный файл. Сериализуйте изменения:
/usr/local/sbin/lbwebcfg -y client /etc/lanbilling/phpclient/client/
``
Откройте файл конфигурации alfabank.ini:
nano /usr/local/etc/lanbilling/phpclient/client/alfabank.ini
``
Включите платёжную систему, чтобы абоненты смогли вносить через неё оплаты в личном кабинете:
[alfabank]
enabled = true
``
Убедитесь, что настройки совпадают с теми, которые вы задали для ВПС в административном интерфейсе.
Пример файла:
; Настройки "Alfabank"
[alfabank]
enabled = true
; Идентификатор менеджера, работающего с данной ВПС
epsManagerId = ''
; url для запроса регистрации заказа
payUrl = 'https://pay.alfabank.ru/payment/rest/'
; url для запроса получения qr кода при сбп оплате
qrUrl = 'https://pay.alfabank.ru/payment/rest/sbp/c2b/qr/dynamic/'
; Логин магазина, полученный при подключении
userName = ''
; Пароль магазина, полученный при подключении
password = ''
; Описание заказа.
description = 'Оплата {amount} {currency} по договорам {agrnums}'
; Код валюты платежа ISO 4217. Если не указано, то используется значение по умолчанию
currency = 643
; Язык в кодировке ISO 639-1
language = 'ru'
; Продолжительность жизни заказа в секундах
sessionTimeoutSecs = 1200
; Признак способа расчёта
paymentMethod = 4
; Признак предмета расчёта
paymentObject = 10
; Возможность подключать автоплатежи
allowAutoPayments = true
; Сумма минимального платежа
minPaymentAmount = 10
; Возможность использовать обычную оплату
useCardPayment = true
; Возможность использовать СБП оплату
useSbpPayment = true
``
epsManagerId — идентификатор профиля платёжной системы в LANBilling. Укажите идентификатор того же профиля, который создали для этой ВПС в административном интерфейсе.
payUrl — URL платёжного шлюза, полученный при подключении. Укажите тот же URL, который указали в настройках ВПС в административном интерфейсе.
qrUrl — URL для получения QR-кода при оплате по СБП. В зависимости от платёжного шлюза:
userName — логин с постфиксом -api из письма с продуктивными доступами.
password — ваш пароль от логина с постфиксом -api, который вы установили вместо временного.
description — описание платежа, отображаемое для пользователя.
currency — код валюты (по ISO 4217). По умолчанию используется 643 (рубль).
language — язык платёжной страницы в кодировке ISO 639-1, по умолчанию «ru».
sessionTimeoutSecs — длительность жизни заказа, в секундах. По умолчанию 1200.
paymentMethod — признак способа расчета. Варианты:
paymentObject — признак предмета расчёта. Варианты:
allowAutoPayments — возможность подключать автоплатежи.
true — клиенты смогут подключать автооплату.false — клиенты не смогут подключать автооплату.minPaymentAmount — позволяет задать минимальную сумму, на которую ваши абоненты могут пополнить баланс. Если не хотите использовать это ограничение, укажите значение 0.
useCardPayment — включает возможность обычной оплаты картой (не СБП) в личном кабинете и Telegram-боте.
true — клиенты смогут использовать обычную оплату картой.false — клиенты не смогут использовать обычную оплату картой.useSbpPayment — включает возможность оплаты по СБП в личном кабинете и Telegram-боте.
true — клиенты смогут оплачивать услуги по СБП.false — клиенты не смогут оплачивать услуги по СБП.Сохраните конфигурационный файл. Сериализуйте изменения:
/usr/local/sbin/lbwebcfg -y client /usr/local/etc/lanbilling/phpclient/client/
``
Настройка завершена. Теперь абоненты могут пополнять баланс в личном кабинете с помощью этой платёжной системы.
Система берёт значение ставки НДС из карточки оператора. Если в карточке оператора не задана ставка НДС или значение не удаётся распознать — применяется значение «Без НДС».
При пополнении сразу нескольких договоров для каждого из них создаётся отдельная позиция в чеке с соответствующей ставкой НДС. Это связано с тем, что в разных договорах могут быть указаны разные операторы, и у каждого из них может быть своя ставка НДС.
Есть вопросы по документации? Пожалуйста, напишите их