Skip to content

Интеграция с сервисом ФНС «Мой налог» (lknpd.nalog.ru) автоматически регистрирует доход и формирует чек самозанятого при каждой успешной оплате подписки. Это избавляет от ручного пробития чеков в приложении «Мой налог».

Для кого

Функция предназначена для тех, кто оформлен как самозанятый (НПД — налог на профессиональный доход) и принимает оплату за подписки.

Как это работает

  1. Клиент оплачивает подписку.
  2. После подтверждения платежа бот в фоне обращается к API «Мой налог» и регистрирует доход.
  3. В личном кабинете ФНС создаётся чек с суммой платежа.
  4. Если регистрация не удалась — администратор получает уведомление в Telegram.

Чек формируется так:

ПолеЗначение
Наименование услугиПодписка на N месяц(ев) (склонение по числу месяцев)
СуммаСумма платежа
Тип доходаОт физического лица (FROM_INDIVIDUAL)
Способ оплатыНаличные / прочее (CASH)

Только YooKassa

Сейчас чеки выдаются только при оплате через YooKassa. Платежи Telegram Stars, CryptoPay и Tribute в «Мой налог» не передаются.

Настройка

Все переменные задаются в .env (см. Переменные окружения). Вход в API выполняется по тем же логину и паролю, что и в личный кабинет на lknpd.nalog.ru.

ПеременнаяОписаниеПо умолчанию
MOYNALOG_ENABLEDВключает интеграциюfalse
MOYNALOG_USERNAMEЛогин ЛК «Мой налог» (ИНН или телефон)
MOYNALOG_PASSWORDПароль ЛК «Мой налог»
MOYNALOG_URLБазовый URL APIhttps://lknpd.nalog.ru/api/v1
MOYNALOG_PROXY_URLПрокси для запросов к API (HTTP, HTTPS, SOCKS5)

Пример .env:

bash
MOYNALOG_ENABLED=true
MOYNALOG_USERNAME=7712345678
MOYNALOG_PASSWORD=ваш_пароль
MOYNALOG_URL=https://lknpd.nalog.ru/api/v1

# Если lknpd.nalog.ru недоступен напрямую с сервера
MOYNALOG_PROXY_URL=socks5://user:password@proxy.example.com:1080

Пароль для ЛК

Если вы входите в «Мой налог» только по коду из СМС, задайте отдельный пароль в личном кабинете ФНС (раздел настроек профиля), затем используйте его в MOYNALOG_PASSWORD.

Доступ к API из России

API lknpd.nalog.ru доступно с российских IP. Если сервер бота находится за пределами РФ или доступ заблокирован, направьте запросы через прокси с российским IP в MOYNALOG_PROXY_URL. Поддерживаются http://, https:// и socks5://. Через этот же прокси идёт healthcheck-проверка интеграции, поэтому её статус в мониторинге отражает реальный сетевой путь.

Надёжность

  • При сетевых сбоях и ошибках сервера (5xx) запрос повторяется до 3 раз с нарастающей задержкой.
  • При истечении токена (401/403) бот автоматически переавторизуется (до 2 попыток) и повторяет запрос.
  • Регистрация дохода выполняется в фоне и не задерживает подтверждение оплаты клиенту.
  • При окончательной неудаче администратору приходит уведомление — чек можно будет пробить вручную.

Устранение неполадок

СимптомПричинаРешение
Уведомление об ошибке авторизацииНеверный логин/пароль или нет пароля в ЛКПроверьте MOYNALOG_USERNAME / MOYNALOG_PASSWORD, задайте пароль в ЛК ФНС
Таймауты, недоступность APIlknpd.nalog.ru заблокирован с сервераНастройте MOYNALOG_PROXY_URL с российским IP
Чеки не формируютсяОплата прошла не через YooKassaОжидаемо — другие платёжные системы не поддерживаются
Интеграция не запускаетсяMOYNALOG_ENABLED=false или не заданы логин/парольВключите флаг и заполните обязательные переменные