2020-01-11 14:30:25 +08:00
# АТОЛ Онлайн
2021-12-19 22:58:47 +08:00
Библиотека для фискализации чеков по 54-ФЗ через [облачные К К Т АТОЛ ](https://online.atol.ru/ ).
2021-12-02 16:14:01 +08:00
2022-12-20 14:43:39 +08:00
[](https://github.com/anthonyaxenov/atol-online/actions/workflows/ci.yml)
2021-12-20 10:41:46 +08:00
[](https://codecov.io/gh/anthonyaxenov/atol-online)
[](https://packagist.org/packages/axenov/atol-online)
[](https://packagist.org/packages/axenov/atol-online)
[](LICENSE)
2022-12-15 09:15:02 +08:00
[](https://www.buymeacoffee.com/axenov)
2021-12-20 10:41:46 +08:00
2021-12-02 16:14:01 +08:00
**[Документация ](/docs/readme.md )**
2021-11-21 00:33:43 +08:00
2021-12-19 22:58:47 +08:00
Текущие поддерживаемые версии АТОЛ Онлайн:
2021-11-21 00:33:43 +08:00
2022-12-14 23:52:08 +08:00
| Протокол | API | ФФД | Статус |
|----------|------|------|----------------|
| v4 | 5.10 | 1.05 | Поддерживается |
| v5 | 3.0 | 1.2 | В планах |
2020-05-28 01:14:53 +08:00
2022-12-14 23:52:08 +08:00
Поддерживаемые возможности:
2021-11-28 12:01:28 +08:00
* Мониторинг К К Т и ФН
2021-12-20 10:41:46 +08:00
* Фискализация документов на облачной К К Т
2021-11-28 12:01:28 +08:00
* Валидация данных до отправки документа на К К Т (насколько это возможно, согласно схеме)
* Расчёты денег в копейках
2021-12-20 10:41:46 +08:00
* PSR-4 автозагрузка, покрытие настоящими тестами, fluent-setters, докблоки
2021-11-28 12:01:28 +08:00
2020-01-11 14:30:25 +08:00
## Системные требования
2022-12-14 23:52:08 +08:00
* `php v8.1` и выше
2022-08-13 21:59:01 +08:00
* `php-json`
* `php-mbstring`
2021-11-28 12:01:28 +08:00
* [composer ](https://getcomposer.org/ )
2020-01-11 14:30:25 +08:00
2022-12-15 11:02:32 +08:00
> Для использования на php8.0 используйте версии библиотеки до 1.0.2 включительно.
2020-01-11 14:30:25 +08:00
## Начало работы
### Подключение библиотеки
2021-12-19 22:58:47 +08:00
1. Подключить пакет к проекту:
2020-01-11 14:30:25 +08:00
```bash
composer require axenov/atol-online
```
2021-11-28 12:01:28 +08:00
2. В нужном месте проекта подключить автозагрузчик composer-зависимостей, если это не сделано ранее:
2020-01-11 14:30:25 +08:00
```php
2021-11-28 12:01:28 +08:00
require($project_root . '/vendor/autoload.php');
2020-01-11 14:30:25 +08:00
```
2020-01-11 15:57:39 +08:00
где `$project_root` — абсолютный путь к корневой директории вашего проекта.
2021-11-28 12:01:28 +08:00
> При использовании фреймворков это обычно не требуется.
2020-01-11 14:30:25 +08:00
2022-12-14 23:52:08 +08:00
### Использование библиотеки
Вы имеете право использовать и распространять код на условиях ** [лицензии MIT ](LICENSE )**.
Дополнительная информация может быть найдена здесь:
1. [Документации к библиотеке ](/docs )
2. [Документация АТОЛ Онлайн ](https://online.atol.ru/lib/ )
3. [Исходный код ](/src ), докблоки
4. [Тесты ](/tests/AtolOnline/Tests )
2020-01-11 14:30:25 +08:00
### Тестирование кода библиотеки
Файлы тестов находятся в директории `/tests` корня репозитория.
2021-12-02 14:34:21 +08:00
Для запуска тестов необходимо перейти в корень репозитория и выполнить одну из команд:
2020-01-11 14:30:25 +08:00
```bash
2022-12-15 09:34:57 +08:00
composer psalm # статический анализ
composer phpcs # синтаксический анализ
composer test # полное тестирование без покрытия
composer coverage # полное тестирование с покрытием
2020-01-11 14:30:25 +08:00
```
2022-12-14 23:52:08 +08:00
После тестирования с покрытием в корне репозитория создаётся отчёт, который сохраняется в директории `.coverage` .
2022-12-15 09:34:57 +08:00
Для тестирования с покрытием необходим `php-xdebug` с параметром `xdebug.mode = coverage,...` .