Чтобы абоненты-физлица могли оплачивать счета в личном кабинете с помощью QIWI, последовательно настройте четыре объекта.
Подключите интернет-эквайринг QIWI, следуя инструкциям.
Добавьте токен. Для этого в личном кабинете QIWI перейдите в раздел «Услуги» и кликните ваш сайт.
Перейдите в раздел «Настройки» и нажмите «Добавить токен».
В открывшемся окне укажите путь до скрипта уведомлений qiwi_acq.cgi
на вашем веб-сервере и нажмите «Создать».
Создайте профиль для платёжной системы в LANBilling. Логин и пароль нужно будет указать в скрипте callback-уведомлений.
Скрипт нужен, чтобы фиксировать в LANBilling результаты оплат. Он обрабатывает запросы от платёжной системы — в них содержится информация об операциях. На основании этих данных скрипт создаёт платежи в биллинге.
Настройка различается для разных ОС.
Убедитесь, что установлен PHP 7
, а также пакеты perl-cgi
и perl-soap-lite
.
Скопируйте файл qiwi_acq.cgi
в директорию исполняемых скриптов вашего веб-сервера:
cp /usr/local/billing/payments/qiwi/qiwi_acq.cgi /var/www/cgi-bin/
``
Укажите в файле настройки доступа.
# Подключение к LBcore
HOST = '127.0.0.1'
PORT = 1502
MANAGER = 'super_pay'
PASSWORD = '12345'
# Ключ серверных уведомлений
secret = 'a1bcd345efg678hij90'
# Настройки логирования, нужны права доступа к файлу у веб-сервера
QIWI_LOG = '/var/log/billing/weblogs/qiwi_acq.log'
# Класс платежа (id) из таблицы pay_classses
CLASS_ID = 0
``
Сделайте скрипт исполняемым:
chmod +x /var/www/cgi-bin/qiwi_acq.cgi
``
Убедитесь, что установлен PHP 7
, а также пакеты libsoap-lite-perl
, libxml-simple-perl
, libcgi-session-perl
, libtext-iconv-perl
.
Скопируйте файл qiwi_acq.cgi
в директорию исполняемых скриптов вашего веб-сервера:
cp /usr/local/billing/payments/qiwi/qiwi_acq.cgi /usr/lib/cgi-bin/
``
Укажите в файле настройки доступа.
# Подключение к LBcore
HOST = '127.0.0.1'
PORT = 1502
MANAGER = 'super_pay'
PASSWORD = '12345'
# Ключ серверных уведомлений
secret = 'a1bcd345efg678hij90'
# Настройки логирования, нужны права доступа к файлу у веб-сервера
QIWI_LOG = '/var/log/billing/weblogs/qiwi_acq.log'
# Класс платежа (id) из таблицы pay_classses
CLASS_ID = 0
``
Сделайте скрипт исполняемым:
chmod +x /usr/lib/cgi-bin/qiwi_acq.cgi
``
Убедитесь, что установлен PHP 7
, а также пакеты p5-IO-SessionData
и p5-SOAP-Lite
.
Скопируйте файл qiwi_acq.cgi
в директорию исполняемых скриптов вашего веб-сервера:
cp /usr/local/billing/payments/qiwi/qiwi_acq.cgi /usr/local/www/apache24/cgi-bin/
``
Укажите в файле настройки доступа.
# Подключение к LBcore
HOST = '127.0.0.1'
PORT = 1502
MANAGER = 'super_pay'
PASSWORD = '12345'
# Ключ серверных уведомлений
secret = 'a1bcd345efg678hij90'
# Настройки логирования, нужны права доступа к файлу у веб-сервера
QIWI_LOG = '/var/log/billing/weblogs/qiwi_acq.log'
# Класс платежа (id) из таблицы pay_classses
CLASS_ID = 0
``
Сделайте скрипт исполняемым:
chmod +x /usr/local/www/apache24/cgi-bin/qiwi_acq.cgi
``
Действия различаются для разных ОС.
Внесите изменения в файл конфигурации qiwi.ini
.
nano /etc/lanbilling/phpclient/client/qiwi.ini
``
Включите платёжную систему в личном кабинете абонентов LANBilling.
[paysystems/qiwi]
enabled = true
Укажите токен из личного кабинета QIWI.
secret = 'xyz987wvu654tsq321'
Установите минимальную сумму платежа. Чтобы убрать ограничение, введите «0».
minPaymentAmount = 10
Дополнительно: валюта.
Сохраните конфигурационный файл. Сериализуйте изменения:
/usr/local/sbin/lbwebcfg -y client /etc/lanbilling/phpclient/client/
``
Внесите изменения в файл конфигурации qiwi.ini
.
nano /usr/local/etc/lanbilling/phpclient/client/qiwi.ini
``
Включите платёжную систему в личном кабинете абонентов LANBilling.
[paysystems/qiwi]
enabled = true
Укажите токен из личного кабинета QIWI.
secret = 'xyz987wvu654tsq321'
Установите минимальную сумму платежа. Чтобы убрать ограничение, введите «0».
minPaymentAmount = 10
Дополнительно: валюта.
Сохраните конфигурационный файл. Сериализуйте изменения:
/usr/local/sbin/lbwebcfg -y client /usr/local/etc/lanbilling/phpclient/client/
``
Настройка завершена. Теперь абоненты-физлица могут пополнять баланс в личном кабинете с помощью этой платёжной системы.
Также вы можете взаимодействовать с QIWI без использвания API — с помощью обращений по URL. Для этого можно использовать виджеты QIWI или разместить на своём сайте веб-форму, которая будет генерировать URL и обращаться к платёжной системе. Пример URL:
https://oplata.qiwi.com/create?publicKey=ABCD1234&amount=567.89&extras[cf1]=Contract-0
publicKey — публичный ключ для авторизации. Запросите его у службы поддержки QIWI.
amount — сумма платежа.
extras[cf1] — номер договора в LANBilling. На языке php этот параметр можно сформировать так:
"extras[cf1]"=>$_POST['account_number']
Однако — в отличие от взаимодействия по API — этот способ не даёт гарантии, что мерчант выставил все счета.
Есть вопросы по документации? Пожалуйста, напишите их