codus/fns-api

PHP API,用于通过俄罗斯联邦税务局的官方API检查和获取税务发票。

1.1 2021-03-29 11:22 UTC

This package is auto-updated.

Last update: 2024-09-27 01:38:56 UTC


README

PHP API,用于通过俄罗斯联邦税务局的官方API检查和获取税务发票。

要使用俄罗斯联邦税务局的官方API,您需要获取master token。获取master token的说明位于俄罗斯联邦税务局的官方网站上。您可以通过此链接找到文档。

通过Composer安装库

要通过 Composer 安装库,请使用以下命令

composer require codus/fns-api

使用库

以下代码示例检查发票是否存在,并获取发票信息。

重要!在获取发票信息之前,请务必检查发票是否存在。

重要!用于检查发票是否存在的方法(checkTicket)和获取发票信息的方法(getTicket)返回异步执行的响应。在编写代码时请注意这一点。对请求的响应存在一个方法 getProcessingStatus,它返回请求的状态。存在两种状态:PROCESSINGCOMPLETED。如果请求的响应返回 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();