PHPackages                             ssitdikov/atol - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. ssitdikov/atol

ActiveLibrary[API Development](/categories/api)

ssitdikov/atol
==============

ATOL PHP API Client. Данная библиотека предназначена для работы с сервисом АТОЛ Онлайн

v1.3(3y ago)133.9k↓100%6[2 issues](https://github.com/ssitdikov/ATOL/issues)[1 PRs](https://github.com/ssitdikov/ATOL/pulls)MITPHPPHP &gt;=7.1CI failing

Since Nov 18Pushed 3y ago1 watchersCompare

[ Source](https://github.com/ssitdikov/ATOL)[ Packagist](https://packagist.org/packages/ssitdikov/atol)[ RSS](/packages/ssitdikov-atol/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (6)Versions (11)Used By (0)

[![Build Status](https://camo.githubusercontent.com/805b333876230f88081271e6787ada3833d279514fa42213f1af1c690cb96355/68747470733a2f2f7472617669732d63692e6f72672f7373697464696b6f762f41544f4c2e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/ssitdikov/ATOL)[![Coverage Status](https://camo.githubusercontent.com/5309e4e4d1f520dd158d0731dd2b5c9911d1357eb4daadb57c383329879c1a28/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f6769746875622f7373697464696b6f762f41544f4c2f62616467652e7376673f6272616e63683d6d6173746572)](https://coveralls.io/github/ssitdikov/ATOL?branch=master)[![codecov](https://camo.githubusercontent.com/286203c91f38c540631593a08b62240e20c3c213565cadba1973c917d40902d0/68747470733a2f2f636f6465636f762e696f2f67682f7373697464696b6f762f41544f4c2f6272616e63682f6d61737465722f67726170682f62616467652e737667)](https://codecov.io/gh/ssitdikov/ATOL)[![Codacy Badge](https://camo.githubusercontent.com/8dcb7c0cc1c7c877ea2f7762b7aea9acbf8904bbef8ea7472de92f1458c651bf/68747470733a2f2f6170692e636f646163792e636f6d2f70726f6a6563742f62616467652f47726164652f6564666436306438643837333437643239383732633139626537613034303161)](https://www.codacy.com/app/sitsalavat/ATOL?utm_source=github.com&utm_medium=referral&utm_content=ssitdikov/ATOL&utm_campaign=Badge_Grade)

АТОЛ Онлайн
===========

[](#атол-онлайн)

О проекте
---------

[](#о-проекте)

Данная библиотека предназначена для работы с сервисом [АТОЛ Онлайн](https://online.atol.ru).

Установка
---------

[](#установка)

Предполагается установка с использованием composer

```
composer require ssitdikov/atol

```

Пример использования
--------------------

[](#пример-использования)

### Запрос токена

[](#запрос-токена)

```
$client = new ApiClient();

try {
    /**
     * @var TokenResponse $token
     */
    $token = $client->getToken(
        new TokenRequest('login', 'password')
    );
} catch (\Exception $e) {
// smth with exception
}
```

### Операция продажи

[](#операция-продажи)

```
//... $token = $client->getToken();
try {
    $uuid = '00001/11-2017';
    $groupId = 'GroupId';

    // Позиции чека
    $itemA = new Item('Товар 1', 1200.50, 1, Vat::TAX_NONE);
    $itemB = new Item('Товар 2', 3200.50, 1, Vat::TAX_NONE);
    $totalSum = 4401.00;

    // Виды оплат
    $paymentElectr = new Payment(Payment::PAYMENT_TYPE_ELECTR, 4400.00);
    $paymentCredit = new Payment(Payment::PAYMENT_TYPE_CREDIT, 1.00);

    // Налоги
    $vat = new Vat(Vat::TAX_VAT20, round($totalSum * 20 / 120, 2));

    // Организация
    $companyINN = "1111111111";
    // Адрес магазина
    // В случае мобильного приложения URL приложения в кабинете (см что указано в кабинете АТОЛ)
    $companyAddress = "test.mystore.dev";
    $companyEmail = "company@mail.ru";
    $company = new Company($companyINN, $companyAddress, $companyEmail, ReceiptSno::RECEIPT_SNO_OSN);

    // Покупатель
    $buyerEmail = "buyer@mail.ru";
    $buyerPhone = "+79170123456";
    $buyer = new Client($buyerEmail, $buyerPhone);

    // Формирование чека
    $receipt = new Receipt();
    $receipt->setClient($buyer)
        ->setCompany($company)
        ->setItems([$itemA, $itemB])
        ->setVats([$vat])
        ->setPayments([$paymentElectr, $paymentCredit]);

    // Куда АТОЛу стучаться с результатом
    $callback_url = 'http://test.mystore.dev/callback/api/url';
    $info = new Info($callback_url);

    /**
     * @var OperationResponse $operation
     */
    $operation = $client->doOperation(
        new OperationRequest($groupId, OperationRequest::OPERATION_SELL, $uuid, $receipt, $info, $token)
    );

    // Идентификатор фискального чека
    $uuidAtol = $operation->getUuid();
} catch (\Exception $e) {
    // ...
}
```

### Операция продажи через агента и поставщика

[](#операция-продажи-через-агента-и-поставщика)

```
//... $token = $client->getToken();
try {
    $uuid = '00001/03-2022';
    $groupId = 'group_code';

    // Позиции чека
    $itemA = new Item('Товар 1', 1200.50, 1, Vat::TAX_NONE);
    $itemB = new Item('Товар 2', 3200.50, 1, Vat::TAX_NONE);
    $totalSum = 4401.00;

    // Виды оплат
    $paymentElectr = new Payment(Payment::PAYMENT_TYPE_ELECTR, 4400.00);
    $paymentCredit = new Payment(Payment::PAYMENT_TYPE_CREDIT, 1.00);

    // Налоги
    $vat = new Vat(Vat::TAX_VAT20, round($totalSum * 20 / 120, 2));

    // Заполнение данных по агенту

    // Атрибуты оператора перевода.
    $moneyTransferOperatorName = "ООО Оператор-Перевода";
    $moneyTransferOperatorPhones = ["+79170123456"];
    $moneyTransferOperatorAddress = "г. Москва";
    $moneyTransferOperatorINN = "3333333333";
    $moneyTransferOperator = new MoneyTransferOperator(
        $moneyTransferOperatorName,
        $moneyTransferOperatorPhones,
        $moneyTransferOperatorAddress,
        $moneyTransferOperatorINN
    );

    // Атрибуты оператора по приему платежей.
    $receivePaymentsOperatorPhones = ["+79170123456"];
    $receivePaymentsOperator = new ReceivePaymentsOperator($receivePaymentsOperatorPhones);

    // Атрибуты платежного агента.
    // Наименование операции. Максимальная длина строки – 24 символа.
    $payingAgentOperation = "ООО Агент";
    $payingAgentPhones = ["+79170123456"];
    $payingAgent = new PayingAgent($payingAgentOperation, $payingAgentPhones);

    // Атрибуты поставщика.
    // Обязателен если указывается AgentInfo
    $supplierInfoName = "ООО Поставщик";
    $supplierInfoPhones = ["+79170123456"];
    $supplierInfoINN = "2222222222";
    $supplierInfo = new SupplierInfo($supplierInfoName, $supplierInfoPhones, $supplierInfoINN);

    // Агент
    $agentInfo = new AgentInfo();
    $agentInfo->setType(AgentInfo::ANOTHER)
        ->setPayingAgent($payingAgent)
        ->setReceivePaymentsOperator($receivePaymentsOperator)
        ->setMoneyTransferOperator($moneyTransferOperator);

    // Организация
    $companyINN = "1111111111";
    // Адрес магазина
    // В случае мобильного приложения URL приложения в кабинете (см что указано в кабинете АТОЛ)
    $companyAddress = "test.mystore.dev";
    $companyEmail = "company@mail.ru";
    $company = new Company($companyINN, $companyAddress, $companyEmail, ReceiptSno::RECEIPT_SNO_OSN);

    // Покупатель
    $buyerEmail = "buyer@mail.ru";
    $buyerPhone = "+79170123456";
    $buyer = new Client($buyerEmail, $buyerPhone);

    // Важно! Агент применяется или ко всему чеку ИЛИ к позициям.
    // Если агент по предметам расчета, иначе смотри ниже
    $itemA->setAgentInfo($agentInfo);

    // Важно! Поставщик применяется или ко всему чеку ИЛИ к позициям.
    // Если поставщик по предметам расчета, иначе смотри ниже
    $itemA->setSupplierInfo($supplierInfo);

    // Чек
    $receipt = new Receipt();
    $receipt->setCompany($company)
        ->setClient($buyer)
        ->setItems([$itemA, $itemB])
        ->setPayments([$paymentElectr, $paymentCredit])
        ->setVats([$vat])
        // Если агент применяется ко всему чеку
        ->setAgentInfo($agentInfo)
        // Если поставщик применяется ко всему чеку
        ->setSupplierInfo($supplierInfo);

    // Куда АТОЛу стучаться с результатом
    $callbackUrl = 'http://test.mystore.dev/callback/api/url';
    $info = new Info($callbackUrl);

    /**
     * @var OperationResponse $operation
     */
    $operation = $client->doOperation(
        new OperationRequest($groupId, OperationRequest::OPERATION_SELL, $uuid, $receipt, $info, $token)
    );

    $uuidAtol = $operation->getUuid();
} catch (\Exception $e) {
    // ...
}
```

### Получить отчет по операции

[](#получить-отчет-по-операции)

```
//... $token = $client->getToken();
//... $uuidAtol = $operation->getUuid();
try {
    $groupId = 'GroupId'; // Выдается АТОЛ
    $report = $client->getReport(
        new ReportRequest($groupId, $uuidAtol, $token)
    );
} catch (\Exception $e) {
// smth with exception
}
```

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance17

Infrequent updates — may be unmaintained

Popularity29

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity64

Established project with proven stability

 Bus Factor1

Top contributor holds 83.1% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~182 days

Recently: every ~376 days

Total

10

Last Release

1458d ago

PHP version history (2 changes)v1.0PHP &gt;=7.0

v1.0.5PHP &gt;=7.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/d5bd088b01004a4a1308559a5d55865a930e5bec5c9264e72aa44d4041087478?d=identicon)[ssitdikov](/maintainers/ssitdikov)

---

Top Contributors

[![ssitdikov](https://avatars.githubusercontent.com/u/3704211?v=4)](https://github.com/ssitdikov "ssitdikov (69 commits)")[![custanator](https://avatars.githubusercontent.com/u/5785354?v=4)](https://github.com/custanator "custanator (6 commits)")[![NelinD](https://avatars.githubusercontent.com/u/10078264?v=4)](https://github.com/NelinD "NelinD (4 commits)")[![nixprosoft](https://avatars.githubusercontent.com/u/5313478?v=4)](https://github.com/nixprosoft "nixprosoft (4 commits)")

---

Tags

phpapionlineatol

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/ssitdikov-atol/health.svg)

```
[![Health](https://phpackages.com/badges/ssitdikov-atol/health.svg)](https://phpackages.com/packages/ssitdikov-atol)
```

###  Alternatives

[openai-php/laravel

OpenAI PHP for Laravel is a supercharged PHP API client that allows you to interact with the Open AI API

3.7k7.6M74](/packages/openai-php-laravel)[hubspot/api-client

Hubspot API client

23414.2M16](/packages/hubspot-api-client)[theodo-group/llphant

LLPhant is a library to help you build Generative AI applications.

1.5k311.5k5](/packages/theodo-group-llphant)[resend/resend-php

Resend PHP library.

564.7M21](/packages/resend-resend-php)[checkout/checkout-sdk-php

Checkout.com SDK for PHP

553.3M7](/packages/checkout-checkout-sdk-php)[scriptdevelop/whatsapp-manager

Paquete para manejo de WhatsApp Business API en Laravel

762.6k](/packages/scriptdevelop-whatsapp-manager)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
