2020-01-11 06:30:25 +00:00
|
|
|
|
# АТОЛ Онлайн
|
|
|
|
|
|
2021-12-02 08:14:01 +00:00
|
|
|
|
[![Latest Stable Version](http://poser.pugx.org/axenov/atol-online/v)](https://packagist.org/packages/axenov/atol-online)
|
|
|
|
|
[![Latest Unstable Version](http://poser.pugx.org/axenov/atol-online/v/unstable)](https://packagist.org/packages/axenov/atol-online)
|
2021-12-09 12:14:16 +00:00
|
|
|
|
[![Packagist PHP Version Support](https://img.shields.io/packagist/php-v/axenov/atol-online)](https://packagist.org/packages/axenov/atol-online)
|
|
|
|
|
[![Total Downloads](https://img.shields.io/packagist/dt/axenov/atol-online)](https://packagist.org/packages/axenov/atol-online)
|
|
|
|
|
[![License](https://img.shields.io/packagist/l/axenov/atol-online?color=%23369883)](LICENSE)
|
2021-11-20 16:33:43 +00:00
|
|
|
|
|
2021-12-19 14:58:47 +00:00
|
|
|
|
Библиотека для фискализации чеков по 54-ФЗ через [облачные ККТ АТОЛ](https://online.atol.ru/).
|
2021-12-02 08:14:01 +00:00
|
|
|
|
|
|
|
|
|
**[Документация](/docs/readme.md)**
|
2021-11-20 16:33:43 +00:00
|
|
|
|
|
2021-12-19 14:58:47 +00:00
|
|
|
|
Текущие поддерживаемые версии АТОЛ Онлайн:
|
2021-11-20 16:33:43 +00:00
|
|
|
|
|
2021-12-19 14:58:47 +00:00
|
|
|
|
| Протокол | API | ФФД | Статус |
|
|
|
|
|
|----------|-----|------|----------------|
|
|
|
|
|
| v4 | 5.8 | 1.05 | Поддерживается |
|
|
|
|
|
| v5 | 2.0 | 1.2 | В планах |
|
2020-05-27 17:14:53 +00:00
|
|
|
|
|
2021-12-19 14:58:47 +00:00
|
|
|
|
Состояние веток:
|
2020-01-11 06:30:25 +00:00
|
|
|
|
|
2021-12-09 12:14:16 +00:00
|
|
|
|
| master | [![GitHub Workflow Status (master)](https://img.shields.io/github/workflow/status/anthonyaxenov/atol-online/CI/master?logo=github)](https://github.com/anthonyaxenov/atol-online/actions/workflows/ci.yml) | [![codecov](https://codecov.io/gh/anthonyaxenov/atol-online/branch/master/graph/badge.svg?token=WR2IV7FTF0)](https://codecov.io/gh/anthonyaxenov/atol-online) |
|
|
|
|
|
|--------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
|
|
|
| dev | [![GitHub Workflow Status (dev)](https://img.shields.io/github/workflow/status/anthonyaxenov/atol-online/CI/dev?logo=github)](https://github.com/anthonyaxenov/atol-online/actions/workflows/ci.yml) | [![codecov dev](https://codecov.io/gh/anthonyaxenov/atol-online/branch/dev/graph/badge.svg?token=WR2IV7FTF0)](https://codecov.io/gh/anthonyaxenov/atol-online) |
|
2020-01-11 10:08:49 +00:00
|
|
|
|
|
2021-11-28 04:01:28 +00:00
|
|
|
|
## Плюшечки
|
|
|
|
|
|
|
|
|
|
* Мониторинг ККТ и ФН
|
|
|
|
|
* Фискализация докумнетов на облачной ККТ
|
|
|
|
|
* Валидация данных до отправки документа на ККТ (насколько это возможно, согласно схеме)
|
|
|
|
|
* Расчёты денег в копейках
|
2021-12-19 14:58:47 +00:00
|
|
|
|
* PSR-4 автозагрузка, покрытие настоящими тестами, fluent-setters
|
2021-11-28 04:01:28 +00:00
|
|
|
|
|
2020-01-11 06:30:25 +00:00
|
|
|
|
## Системные требования
|
|
|
|
|
|
2021-11-28 04:01:28 +00:00
|
|
|
|
* php8.0+
|
|
|
|
|
* [composer](https://getcomposer.org/)
|
|
|
|
|
* расширения php (скорее всего, устанавливать их отдельно не придётся):
|
|
|
|
|
* `php-json`
|
|
|
|
|
* `php-curl`
|
|
|
|
|
* `php-mbstring`
|
|
|
|
|
* `php-tokenizer`
|
2020-01-11 06:30:25 +00:00
|
|
|
|
|
|
|
|
|
## Начало работы
|
|
|
|
|
|
|
|
|
|
### Подключение библиотеки
|
|
|
|
|
|
2021-12-19 14:58:47 +00:00
|
|
|
|
1. Подключить пакет к проекту:
|
2020-01-11 06:30:25 +00:00
|
|
|
|
```bash
|
|
|
|
|
composer require axenov/atol-online
|
|
|
|
|
```
|
2021-11-28 04:01:28 +00:00
|
|
|
|
2. В нужном месте проекта подключить автозагрузчик composer-зависимостей, если это не сделано ранее:
|
2020-01-11 06:30:25 +00:00
|
|
|
|
```php
|
2021-11-28 04:01:28 +00:00
|
|
|
|
require($project_root . '/vendor/autoload.php');
|
2020-01-11 06:30:25 +00:00
|
|
|
|
```
|
2020-01-11 07:57:39 +00:00
|
|
|
|
где `$project_root` — абсолютный путь к корневой директории вашего проекта.
|
2021-11-28 04:01:28 +00:00
|
|
|
|
> При использовании фреймворков это обычно не требуется.
|
2020-01-11 06:30:25 +00:00
|
|
|
|
|
|
|
|
|
### Тестирование кода библиотеки
|
|
|
|
|
|
|
|
|
|
Файлы тестов находятся в директории `/tests` корня репозитория.
|
|
|
|
|
|
2021-12-02 06:34:21 +00:00
|
|
|
|
Для запуска тестов необходимо перейти в корень репозитория и выполнить одну из команд:
|
2020-01-11 06:30:25 +00:00
|
|
|
|
|
|
|
|
|
```bash
|
2021-12-02 06:34:21 +00:00
|
|
|
|
composer test # обычное тестирование
|
2021-12-19 14:58:47 +00:00
|
|
|
|
composer coverage # тестирование с покрытием
|
2020-01-11 06:30:25 +00:00
|
|
|
|
```
|
|
|
|
|
|
2021-12-19 14:58:47 +00:00
|
|
|
|
После тестирования с покрытием создаётся отчёт в директории `.coverage` в корне репозитория.
|
2021-12-02 06:34:21 +00:00
|
|
|
|
|
2020-01-11 06:30:25 +00:00
|
|
|
|
## Использование библиотеки
|
|
|
|
|
|
|
|
|
|
Весь исходный код находится в директории [`/src`](/src).
|
|
|
|
|
|
2021-11-28 04:01:28 +00:00
|
|
|
|
**Комментарии phpdoc есть буквально везде. Прокомментировано вообще всё.**
|
2020-01-11 06:30:25 +00:00
|
|
|
|
|
2021-11-28 04:01:28 +00:00
|
|
|
|
1. Обращайтесь к [документации библиотеки](/docs).
|
2020-01-11 06:30:25 +00:00
|
|
|
|
2. Обращайтесь к [исходному коду](/src).
|
2021-11-28 04:01:28 +00:00
|
|
|
|
3. Обращайтесь к [тестам](/tests).
|
|
|
|
|
4. Используйте подсказки вашей IDE.
|
2020-01-11 06:30:25 +00:00
|
|
|
|
|
|
|
|
|
Тогда у вас не возникнет затруднений.
|
|
|
|
|
|
|
|
|
|
## Дополнительные ресурсы
|
|
|
|
|
|
2021-12-01 17:10:54 +00:00
|
|
|
|
* [Документация АТОЛ Онлайн](https://online.atol.ru/lib/)
|
2020-01-11 06:30:25 +00:00
|
|
|
|
|
|
|
|
|
## Лицензия
|
|
|
|
|
|
2021-11-28 04:01:28 +00:00
|
|
|
|
Вы имеете право использовать и распространят код из этого репозитория на условиях **[лицензии MIT](LICENSE)**.
|