Интеграция с сервисом ФНС «Мой налог» (lknpd.nalog.ru) автоматически регистрирует доход и формирует чек самозанятого при каждой успешной оплате подписки. Это избавляет от ручного пробития чеков в приложении «Мой налог».
Для кого
Функция предназначена для тех, кто оформлен как самозанятый (НПД — налог на профессиональный доход) и принимает оплату за подписки.
Как это работает
- Клиент оплачивает подписку.
- После подтверждения платежа бот в фоне обращается к API «Мой налог» и регистрирует доход.
- В личном кабинете ФНС создаётся чек с суммой платежа.
- Если регистрация не удалась — администратор получает уведомление в 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 API | https://lknpd.nalog.ru/api/v1 |
MOYNALOG_PROXY_URL | Прокси для запросов к API (HTTP, HTTPS, SOCKS5) | — |
Пример .env:
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, задайте пароль в ЛК ФНС |
| Таймауты, недоступность API | lknpd.nalog.ru заблокирован с сервера | Настройте MOYNALOG_PROXY_URL с российским IP |
| Чеки не формируются | Оплата прошла не через YooKassa | Ожидаемо — другие платёжные системы не поддерживаются |
| Интеграция не запускается | MOYNALOG_ENABLED=false или не заданы логин/пароль | Включите флаг и заполните обязательные переменные |