codus / fns-api
PHP API для проверки и получения фискальных чеков через официальное API ФНС России.
Requires
- php: ^7.3
- ext-json: *
- ext-simplexml: *
- ext-soap: *
- nesbot/carbon: ^2.0
This package is auto-updated.
Last update: 2025-07-27 03:39:28 UTC
README
PHP API для проверки и получения фискальных чеков через официальное API ФНС России.
Для работы с официальным API ФНС России необходимо получить мастер-токен. Инструкция по получению мастер-токена расположена на официальном сайте ФНС России. Документ вы найдете по этой ссылке.
Установка библиотеки через Composer
Для установки библиотеки через Composer используйте эту команду:
composer require codus/fns-api
Использование библиотеки
Приведенный ниже код проверяет чек на существование и получает информацию по чеку.
ВАЖНО! Перед получением информации по чеку обязательно проверяйте чек на существование.
ВАЖНО! Методы для проверки существования чека (checkTicket
) и получения информации о чеке (getTicket
) возвращают ответ который выполняется асинхронно, учтите это при написании кода. У ответов на запрос существует метод getProcessingStatus
, который возвращает статус запроса. Существуют два статуса: PROCESSING
и COMPLETED
. Если статус у ответа на запрос возвращается COMPLETED
, вы можете получить результат запроса в ответе с помощью метода getResult
.
// Создание класса для взаимодействия с API. // Имя пользователя может быть любое. $api = new FNSApi(<АДРЕС_СЕРВЕРА>, <ИМЯ_ПОЛЬЗОВАТЕЛЯ>, <МАСТЕР-ТОКЕН>); // Создание модели, содержащую информацию о чеке. // Тип операции // Тип данных: int // Возможные значения: // 1 - Приход // 2 - Возврат прихода // 3 - Расход // 4 - Возврат расхода // Дата и время осуществления расчета // Тип данных: Carbon // Сумма, в копейках // Тип данных: int // Возможные значения: // От 0 до 281474976710655 // Заводской номер фискального накопителя (ФН) // Тип данных: int // Возможные значения: // 16 символов (только цифры) // Порядковый номер фискального документа (ФД) // Тип данных: int // Возможные значения: // От 1 до 4294967295 // Фискальный признак документа (ФП или ФПД) // Тип данных: int // Возможные значения: // От 1 до 4294967295 $ticket = new Ticket( <ТИП_ОПЕРАЦИИ>, <ДАТА_И_ВРЕМЯ>, <СУММА>, <НОМЕР_ФН>, <ПОРЯДКОВЫЙ_НОМЕР_ФД>, <ФИСКАЛЬНЫЙ_ПРИЗНАК_ДОКУМЕНТА> ); // Получение идентификатора сообщения для проверки чека на существование. $messageId = $api->getCheckTicketMessageId($ticket); // Получение ответа на запрос о проверке чека на существование. $checkTicketResponse = $api->checkTicket($messageId); // Получение результата выполнения запроса о проверке чека на существование. $checkTicketResult = $checkTicketResponse->getResult(); // Получение идентификатора сообщения для получения информации по чеку. $messageId = $api->getGetTicketMessageId($ticket); // Получение ответа на запрос о получении информации по чеку. $getTicketResponse = $api->getTicket($messageId); // Получение результата выполнения запроса о получении информации по чеку. $getTicketResult = $getTicketResponse->getResult();