Приём платежей с помощью «ЮKassa»

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

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

Личный кабинет ЮKassa

  1. Зарегистрируйтесь в ЮKassa. После заключения договора в ЮKassa будет создан ваш магазин.

  2. Для интеграции вам понадобятся два параметра. Найдите их в ЮKassa.

    • shopID отображается напротив названия магазина в разделе «Операции».
    • Секретный ключ API можно посмотреть в разделе «Интеграция» — «Ключи API».
    image
  3. Укажите в ЮKassa, где располагается скрипт callback-уведомлений kassa.py. Для этого перейдите в раздел «Интеграция» — «HTTP-уведомления» и в поле «URL для уведомлений» введите путь до файла на вашем веб-сервере.

    image

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

Создайте профиль для платёжной системы в LANBilling. Логин и пароль нужно будет указать в скрипте callback-уведомлений.

image

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

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

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

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

    cp /usr/local/billing/payments/yandex/kassa.py /var/www/cgi-bin/
    

    ``

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

    • Путь, где будет храниться файл с логами.
    • IP-адрес и порт для подключения к LBcore.
    • Логин и пароль от профиля платёжной системы в LANBilling.
    • Идентификатор категории платежей.
    # Настройки логирования
    YANDEX_LOG = '/var/log/billing/weblogs/yandex.kassa.log'
    

    # Параметры подключения к LBcore HOST = '127.0.0.1' PORT = 34012 MANAGER = 'super_pay' PASSWORD = '12345'

    # Класс платежа (id) из таблицы pay_classses CLASS_ID = 0

    ``

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

    chmod +x /var/www/cgi-bin/kassa.py
    

    ``

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

    cp /usr/local/billing/payments/yandex/kassa.py /usr/lib/cgi-bin/
    

    ``

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

    • Путь, где будет храниться файл с логами.
    • IP-адрес и порт для подключения к LBcore.
    • Логин и пароль от профиля платёжной системы в LANBilling.
    • Идентификатор категории платежей.
    # Настройки логирования
    YANDEX_LOG = '/var/log/billing/weblogs/yandex.kassa.log'
    

    # Параметры подключения к LBcore HOST = '127.0.0.1' PORT = 34012 MANAGER = 'super_pay' PASSWORD = '12345'

    # Класс платежа (id) из таблицы pay_classses CLASS_ID = 0

    ``

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

    chmod +x /usr/lib/cgi-bin/kassa.py
    

    ``

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

    cp /usr/local/billing/payments/yandex/kassa.py /usr/local/www/apache24/cgi-bin/
    

    ``

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

    • Путь, где будет храниться файл с логами.
    • IP-адрес и порт для подключения к LBcore.
    • Логин и пароль от профиля платёжной системы в LANBilling.
    • Идентификатор категории платежей.
    # Настройки логирования
    YANDEX_LOG = '/var/log/billing/weblogs/yandex.kassa.log'
    

    # Параметры подключения к LBcore HOST = '127.0.0.1' PORT = 34012 MANAGER = 'super_pay' PASSWORD = '12345'

    # Класс платежа (id) из таблицы pay_classses CLASS_ID = 0

    ``

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

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

    ``

Скрипт для автоматических платежей kassa_recurrent_payment.py

Выполните эти шаги, если вы работате с автоплатежами.

  1. Убедитесь, что установлен Python 3, а также дополнительные пакеты. Список различается в зависимости от ОС.

    Необходимый пакет: python3-requests.
    Необходимый пакет: python3-requests.
    Необходимый пакет: py39-requests.
  2. Скопируйте скрипт kassa_recurrent_payment.py в директорию /usr/local/billing/pymodules/:

    cp /usr/local/billing/payments/yandex/kassa_recurrent_payment.py /usr/local/billing/pymodules/
    

    ``

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

    • Логин и пароль от профиля платёжной системы в LANBilling.

      # Логин и пароль менеджера ВПС
      MANAGER = "super_pay"
      PASSWORD = "12345"
      
    • ID оператора в биллинге. Если в скрипте задан ненулевой идентификатор OPER_ID, то автоплатежи будут выполняться только по договорам этого оператора:

      OPER_ID = 1
      
      
      
    • ShopID и секретный ключ API:

      ACCOUNT_ID = "123456"
      SECRET_KEY = "test_aH-Me-ppaXhT-QarpmjvrzGxklUniJDDne73xydJIfM"
      
      
      
    • Дополнительно: валюта, ставка НДС, система налогообложения.

  4. Перезапустите модуль LBcore. Команды различаются в разных ОС.

    systemctl restart lbcore
    
    service lbcore restart
    

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

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

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

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

    ``

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

      [yooKassa]
      enabled = true
      
      
      
    • Если вы работаете с автоплатежами, укажите ID профиля платёжной системы из LANBilling:

      epsManagerId = 14
      
      
      
    • Если вы не работаете с автоплатежами, отключите их:

      allowAutoPayments = false
      
      
      
    • Укажите свой shopID и секретный ключ API:

      shopID = 123456
      apiKey = test_aH-Me-ppaXhT-QarpmjvrzGxklUniJDDne73xydJIfM
      
      
      
    • Установите минимальную сумму платежа. Чтобы убрать ограничение, введите «0».

      minPaymentAmount = 10
      
      
      
    • Включите отображение кнопки оплаты через СБП.

      useSbpPayment = true
      
      
      
    • При необходимости скройте кнопку «Оплата», оставив только оплату по СБП:

      useCardPayment = false
      
      
      
    • Дополнительно — укажите систему налогообложения, ставку НДС, валюту.

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

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

    ``

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

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

    ``

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

      [yooKassa]
      enabled = true
      
      
      
    • Если вы работаете с автоплатежами, укажите ID профиля платёжной системы из LANBilling:

      epsManagerId = 14
      
      
      
    • Если вы не работаете с автоплатежами, отключите их:

      allowAutoPayments = false
      
      
      
    • Укажите свой shopID и секретный ключ API:

      shopID = 123456
      apiKey = test_aH-Me-ppaXhT-QarpmjvrzGxklUniJDDne73xydJIfM
      
      
      
    • Установите минимальную сумму платежа. Чтобы убрать ограничение, введите «0».

      minPaymentAmount = 10
      
      
      
    • Включите отображение кнопки оплаты через СБП.

      useSbpPayment = true
      
      
      
    • При необходимости скройте кнопку «Оплата», оставив только оплату по СБП:

      useCardPayment = false
      
      
      
    • Дополнительно — укажите систему налогообложения, ставку НДС, валюту.

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

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

    ``

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

Проверка взаимодействия

Вы можете протестировать возможности оплаты. Подробнее об этом читайте на сайте ЮKassa.