Чтобы абоненты-физлица могли оплачивать счета в личном кабинете с помощью Тинькофф Кассы, последовательно настройте пять объектов.
Оставьте заявку на подключение Тинькофф Кассы. Дождитесь, пока сотрудники предоставят вам доступ в личный кабинет и создадут магазин.
В личном кабинете укажите, где располагается скрипт callback-уведомлений tinkoff.py
.
Для этого в разделе «Интернет-эквайринг» перейдите на вкладку «Магазины» и выберите магазин.
Перейдите на вкладку «Терминалы» и нажмите «Настроить».
В блоке «Уведомления» установите флаг «По протоколу HTTP». Введите путь до скрипта callback-уведомлений tinkoff.py
на вашем веб-сервере.
Создайте профиль для платёжной системы в LANBilling. Логин и пароль нужно будет указать в скрипте callback-уведомлений.
Скрипт нужен, чтобы фиксировать в LANBilling результаты оплат. Он обрабатывает запросы от платёжной системы — в них содержится информация об операциях. На основании этих данных скрипт создаёт платежи в биллинге.
Настройка различается для разных ОС.
Скопируйте скрипт callback-уведомлений tinkoff.py
в директорию исполняемых скриптов вашего веб-сервера:
cp /usr/local/billing/payments/tinkoff/tinkoff.py /var/www/cgi-bin/
``
Укажите в файле настройки доступа.
# Настройки логирования
TINKOFF_LOG = '/var/log/billing/weblogs/tinkoff.log'
# Параметры подключения к LBcore
HOST = '127.0.0.1'
PORT = 1502
MANAGER = 'super_pay'
PASSWORD = '12345'
# Класс платежа (id) из таблицы pay_classses
CLASS_ID = 0
``
Сделайте скрипт исполняемым:
chmod +x /var/www/cgi-bin/tinkoff.py
``
Скопируйте скрипт callback-уведомлений tinkoff.py
в директорию исполняемых скриптов вашего веб-сервера:
cp /usr/local/billing/payments/tinkoff/tinkoff.py /usr/lib/cgi-bin/
``
Укажите в файле настройки доступа.
# Настройки логирования
TINKOFF_LOG = '/var/log/billing/weblogs/tinkoff.log'
# Параметры подключения к LBcore
HOST = '127.0.0.1'
PORT = 1502
MANAGER = 'super_pay'
PASSWORD = '12345'
# Класс платежа (id) из таблицы pay_classses
CLASS_ID = 0
``
Сделайте скрипт исполняемым:
chmod +x /usr/lib/cgi-bin/tinkoff.py
``
Скопируйте скрипт callback-уведомлений tinkoff.py
в директорию исполняемых скриптов вашего веб-сервера:
cp /usr/local/billing/payments/tinkoff/tinkoff.py /usr/local/www/apache24/cgi-bin/
``
Укажите в файле настройки доступа.
# Настройки логирования
TINKOFF_LOG = '/var/log/billing/weblogs/tinkoff.log'
# Параметры подключения к LBcore
HOST = '127.0.0.1'
PORT = 1502
MANAGER = 'super_pay'
PASSWORD = '12345'
# Класс платежа (id) из таблицы pay_classses
CLASS_ID = 0
``
Сделайте скрипт исполняемым:
chmod +x /usr/local/www/apache24/cgi-bin/tinkoff.py
``
Выполните эти шаги, если вы работаете с автоплатежами.
Убедитесь, что установлен Python 3, а также дополнительные пакеты. Список различается в зависимости от ОС.
python3-requests
.
python3-requests.noarch
.
py39-requests
.
Скопируйте скрипт tinkoff_recurrent_payment.py
в директорию /usr/local/billing/pymodules/
:
cp /usr/local/billing/payments/tinkoff/tinkoff_recurrent_payment.py /usr/local/billing/pymodules/
``
Укажите в файле настройки доступа.
Логин и пароль от профиля платёжной системы в LANBilling.
MANAGER = 'super_pay'
PASSWORD = '12345'
ID оператора в биллинге. Если в скрипте задан ненулевой идентификатор OPER_ID, то автоплатежи будут выполняться только по договорам этого оператора:
OPER_ID = 1
Настройки подключения к серверу эквайринга.
TERMINAL_KEY = '1241860450455' # Идентификатор терминала, выдается Продавцу Банком
TERMINAL_PASS = 'xcltnjkzltchzybx' # пароль для терминала, указан в Личном кабинете
Дополнительно: код валюты, ставка НДС (в примере — 20%), система налогообложения.
CURRENCY = '643'
TAX = 'vat20'
TAXATION = 'osn'
Перезапустите модуль LBcore. Команды различаются в разных ОС.
systemctl restart lbcore
service lbcore restart
Действия различаются для разных ОС.
Внесите изменения в файл конфигурации tinkoff.ini
:
nano /etc/lanbilling/phpclient/client/tinkoff.ini
``
Включите платёжную систему в личном кабинете абонентов LANBilling:
[tinkoff]
enabled = true
Введите идентификатор терминала и пароль — их можно посмотреть в личном кабинете Тинькофф:
terminalKey = '1241860450455'
password = 'xcltnjkzltchzybx'
Укажите cсылку на платёжный шлюз:
operatorURL = 'https://securepay.tinkoff.ru/v2/Init'
Если вы работаете с автоплатежами, укажите ID профиля платёжной системы из LANBilling:
epsManagerId = 14
Если вы не работаете с автоплатежами, отключите их:
allowAutoPayments = false
Тинькофф Касса может сохранять информацию о карте — абоненту не придётся вводить её каждый раз. Для этого включите параметр:
useCustomerKey = true
Решите, нужна ли фискализация от Тинькофф Кассы:
fiscalization = true
Установите минимальную сумму платежа. Чтобы убрать ограничение, введите «0».
minPaymentAmount = 10
Включите отображение кнопки оплаты через СБП.
useSbpPayment = true
Дополнительно: валюта, ставка НДС, система налогообложения.
Сохраните конфигурационный файл. Сериализуйте изменения:
/usr/local/sbin/lbwebcfg -y client /etc/lanbilling/phpclient/client/
``
Внесите изменения в файл конфигурации tinkoff.ini
:
nano /usr/local/etc/lanbilling/phpclient/client/tinkoff.ini
``
Включите платёжную систему в личном кабинете абонентов LANBilling:
[tinkoff]
enabled = true
Введите идентификатор терминала и пароль — их можно посмотреть в личном кабинете Тинькофф:
terminalKey = '1241860450455'
password = 'xcltnjkzltchzybx'
Укажите cсылку на платёжный шлюз:
operatorURL = 'https://securepay.tinkoff.ru/v2/Init'
Если вы работаете с автоплатежами, укажите ID профиля платёжной системы из LANBilling:
epsManagerId = 14
Если вы не работаете с автоплатежами, отключите их:
allowAutoPayments = false
Тинькофф Касса может сохранять информацию о карте — абоненту не придётся вводить её каждый раз. Для этого включите параметр:
useCustomerKey = true
Решите, нужна ли фискализация от Тинькофф Кассы:
fiscalization = true
Установите минимальную сумму платежа. Чтобы убрать ограничение, введите «0».
minPaymentAmount = 10
Включите отображение кнопки оплаты через СБП.
useSbpPayment = true
Дополнительно: валюта, ставка НДС, система налогообложения.
Сохраните конфигурационный файл. Сериализуйте изменения:
/usr/local/sbin/lbwebcfg -y client /usr/local/etc/lanbilling/phpclient/client/
``
Настройка завершена. Теперь абоненты-физлица могут пополнять баланс в личном кабинете с помощью этой платёжной системы.
Есть вопросы по документации? Пожалуйста, напишите их