Download the PHP package agoalofalife/fnsapi without Composer

On this page you can find all versions of the php package agoalofalife/fnsapi. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package fnsapi

Fns API SOAP

Пакет предоставляет возможность работы по проверке чеков через официальное API ФНС (Федеральной Налоговая службы России).

Установка

composer require agoalofalife/fnsapi

Аутентификация

Для начала работы с сервисом, вам необходимо получить временный токен. На момент написания документации, время его жизни был один час.

Вам надо передать мастер токен, который выдали в ФНС и хранилище, которое реализует PSR-16.

В хранилище будет своевременно обновляться новый токен, который реализуется в PSR-16 параметром ttl.

PSR-16 позволяет использовать пакет во многих современных фреймворках и т.д

Класс имеет исключение UnexpectedValueException в случае если токен не будет получен.

Временная зона

Время жизни токена устанавливается в соответствии с вашей настройкой PHP: Настройка во время выполнения - Manual date.timezone Рекомендуется проверить ваш файл php.ini и установить соответствующую временную зону.

Создать Ticket (кассовый чек)

Для того чтобы получить информацию по чеку, вам надо создать объект класса Ticket Подробнее о данных написано в коде и официальной документации ФНС.

Создание SOAP Client

Отлично мы создали чек и заполнили его данными. Теперь надо создать SOAP client. Это очень осведомленный клиент, он знает что мы работает с ФНС, поэтому он требует:

Проверка или информация по чеку

Отлично, вы создали чек и клиента. И уже все готово для работы! Осталось уже выбрать:

Ответ возвращается в json или в обекте Receipt.

Response в готовой структуре

Ответ по чеку можно получить в виде готовой структуры, которая содержит:

и решает такие проблемы как:

Проверка чека CheckTicketRequest

Для получения информации что чек корректен, достаточно сравнить код ответа с кодом 200.

Получении информации по чеку GetTicketRequest

Алгоритмы обработки timeout

Чтобы получить информацию по чеку, надо сделать запрос SendMessageRequest c параметром messageId При первом(вторым и т.д) запросе, сразу после получения messageId, может отсутствовать информацию по чеку. По-умолчанию в пакете реализовывается Exponential Backoff

Вы можете реализовать свой алгоритм реализуя интерфейс Fns\Contracts\TimeoutStrategyHandler\TimeoutStrategyHandler

Для контроля процесса выполнения запроса и его результата, передайте в конструктор Fns\Contracts\RequestsManager

Для примера вы можете реализовать свой алгоритм Interval Который будет опрашивать сервер через константный промежуток времени.

Дополнительная информация от автора

В данный момент все выполняется в синхронном режиме. Можно разделить процесс получения messageId и информации по нему, на два различных процесса. Для начальной версии пакета, пока остаётся так.

Угостить чаем 😌

Этот пакет был создан для экономии вашего времени на безвозмездной основе. Надеюсь у меня получилось это сделать и я буду рад любым формам спасибо. Звезда или скромный донат - окажут мне поддержку и веру в людей. https://money.yandex.ru/to/410019109036855


All versions of fnsapi with dependencies

PHP Build Version
Package Version
Requires php Version >=7.1.0
psr/simple-cache Version ^1.0
ext-json Version *
nesbot/carbon Version ^2.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package agoalofalife/fnsapi contains the following files

Loading the files please wait ....