Взаимодействие с платёжной системой «QIWI»

Чтобы абоненты-физлица могли оплачивать счета в личном кабинете с помощью QIWI, последовательно настройте четыре объекта.

  1. Личный кабинет QIWI
  2. Административный интерфейс АСР LANBilling
  3. Скрипт для callback-уведомлений
  4. Конфигурационный файл

Личный кабинет QIWI

  1. Подключите интернет-эквайринг QIWI, следуя инструкциям.

  2. Добавьте токен. Для этого в личном кабинете QIWI перейдите в раздел «Услуги» и кликните ваш сайт.

    image

    Перейдите в раздел «Настройки» и нажмите «Добавить токен».

    image

    В открывшемся окне укажите путь до скрипта уведомлений qiwi_acq.cgi на вашем веб-сервере и нажмите «Создать».

    image

Административный интерфейс АСР LANBilling

Создайте профиль для платёжной системы в АСР LANBilling.

Скрипт для callback-уведомлений qiwi_acq.cgi

Скрипт нужен, чтобы фиксировать в АСР LANBilling результаты оплат. Он обрабатывает запросы от платёжной системы — в них содержится информация об операциях. На основании этих данных скрипт создаёт платежи в биллинге.

Настройка различается для разных ОС.

  1. Скопируйте файл qiwi_acq.cgi в директорию исполняемых скриптов вашего веб-сервера:

    cp /usr/local/billing/payments/qiwi/qiwi_acq.cgi /var/www/cgi-bin/
    

    ``

  2. Укажите в файле настройки доступа.

    • IP-адрес и порт для подключения к LBcore.
    • Логин и пароль от профиля платёжной системы в АСР LANBilling.
    • Ключ серверных уведомлений из личного кабинета QIWI.
    # Подключение к LBcore
    HOST = '127.0.0.1'
    PORT = 1502
    MANAGER = ''
    PASSWORD = ''
    

    # API ключ / Токен secret = 'a1bcd345efg678hij90'

    ``

  3. Сделайте скрипт исполняемым:

    chmod +x /var/www/cgi-bin/qiwi_acq.cgi
    

    ``

  1. Скопируйте файл qiwi_acq.cgi в директорию исполняемых скриптов вашего веб-сервера:

    cp /usr/local/billing/payments/qiwi/qiwi_acq.cgi /usr/lib/cgi-bin/
    

    ``

  2. Укажите в файле настройки доступа.

    • IP-адрес и порт для подключения к LBcore.
    • Логин и пароль от профиля платёжной системы в АСР LANBilling.
    • Ключ серверных уведомлений из личного кабинета QIWI.
    # Подключение к LBcore
    HOST = '127.0.0.1'
    PORT = 1502
    MANAGER = ''
    PASSWORD = ''
    

    # API ключ / Токен secret = 'a1bcd345efg678hij90'

    ``

  3. Сделайте скрипт исполняемым:

    chmod +x /usr/lib/cgi-bin/qiwi_acq.cgi
    

    ``

  1. Скопируйте файл qiwi_acq.cgi в директорию исполняемых скриптов вашего веб-сервера:

    cp /usr/local/billing/payments/qiwi/qiwi_acq.cgi /usr/local/www/apache24/cgi-bin/
    

    ``

  2. Укажите в файле настройки доступа.

    • IP-адрес и порт для подключения к LBcore.
    • Логин и пароль от профиля платёжной системы в АСР LANBilling.
    • Ключ серверных уведомлений из личного кабинета QIWI.
    # Подключение к LBcore
    HOST = '127.0.0.1'
    PORT = 1502
    MANAGER = ''
    PASSWORD = ''
    

    # API ключ / Токен secret = 'a1bcd345efg678hij90'

    ``

  3. Сделайте скрипт исполняемым:

    chmod +x /usr/local/www/apache24/cgi-bin/qiwi_acq.cgi
    

    ``

Конфигурационный файл qiwi.ini

Действия различаются для разных ОС.

  1. Внесите изменения в файл конфигурации qiwi.ini.

    nano /etc/lanbilling/phpclient/client/qiwi.ini
    

    ``

    • Включите платёжную систему в личном кабинете абонентов АСР LANBilling.

      enabled = true
      
      
      
    • Укажите токен из личного кабинета QIWI.

      secret = 'xyz987wvu654tsq321'
      
      
      

  1. Сохраните конфигурационный файл. Сериализуйте изменения:

    /usr/local/sbin/lbwebcfg -y client /etc/lanbilling/phpclient/client/
    

    ``

  1. Внесите изменения в файл конфигурации qiwi.ini.

    nano /usr/local/etc/lanbilling/phpclient/client/qiwi.ini
    

    ``

    • Включите платёжную систему в личном кабинете абонентов АСР LANBilling.

      enabled = true
      
      
      
    • Укажите токен из личного кабинета QIWI.

      secret = 'xyz987wvu654tsq321'
      
      
      

  1. Сохраните конфигурационный файл. Сериализуйте изменения:

    /usr/local/sbin/lbwebcfg -y client /usr/local/etc/lanbilling/phpclient/client/
    

    ``

Настройка завершена. Теперь абоненты-физлица могут пополнять баланс в личном кабинете с помощью этой платёжной системы.

Взаимодействие с помощью URL

Также вы можете взаимодействовать с 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 — этот способ не даёт гарантии, что мерчант выставил все счета.