alekciy/php-ofd-sdk
Composer 安装命令:
composer require alekciy/php-ofd-sdk
包简介
Библиотека работает с API операторов фискальных данных (ОФД)
README 文档
README
Библиотека предоставляет унифицированный интерфейс (см. ProviderInterface) работы с различными ОФД (оператор фискальных данных) при получении данных о фискальных документах (чеках).
Основная цель - облегчить интеграцию проекта при работе с разными API операторов. Например, при синхронизации данных о выбитых на кассе чеках и данных ушедших в налоговую.
Поддерживаемые ОФД
Установка
Через composer командой: composer require alekciy/php-ofd-sdk
Пример
Ниже приведен пример работы для Такском и Яндекс.ОФД.
<?php include_once __DIR__ . '/vendor/autoload.php'; use alekciy\ofd\providers\taxcom\Client as TaxcomClient; use alekciy\ofd\providers\taxcom\Credentials as TaxcomCredentials; use alekciy\ofd\providers\taxcom\Taxcom; use alekciy\ofd\providers\yandex\Client as YandexClient; use alekciy\ofd\providers\yandex\Credentials as YandexCredentials; use alekciy\ofd\providers\yandex\Yandex; // ============ Инициализация клиента ============ // У каждого провайдера свои требование при работе через API поэтому инициализация клиента // зависит от используемого провайдера. // Инициализируем Такском API клиент $credentials = new TaxcomCredentials( 'api-lk-ofd.taxcom.ru', 'логин', 'пароль', 'токен' ); $agreementNumber = 'Номер договора'; $client = new TaxcomClient($credentials, $agreementNumber); $taxcom = new Taxcom($client); // Инициализация Яндекс.ОФД клиент $credentials = new YandexCredentials( 'api.ofd.yandex.net', 'аутентификационный ключ', 'авторизационный ключ' ); $client = new YandexClient($credentials); $yandex = new Yandex($client); // ============ Получение данных ============ // Получаем список точек продаж с Такском... $outletList = $taxcom->getOutletList(); $outlet = current($outletList); // ...список касс с первой точки... $cashDeskList = $taxcom->getCashDeskList($outlet); $cashDesk = current($cashDeskList); // ...и список смен с первой кассы $shiftList = $taxcom->getShiftList($cashDesk); // Получение смен через Яндекс.ОФД выглядит точно так же $outletList = $yandex->getOutletList(); $outlet = current($outletList); $cashDeskList = $taxcom->getCashDeskList($outlet); $cashDesk = current($cashDeskList); $shiftList = $taxcom->getShiftList($cashDesk);
Тесты
В библиотеке используются два вида тестов:
- юнит для проверки правильности работы самой библиотеки;
- интеграционные для проверки работы API заданного ОФД.
Юнит тесты
Для запуска тестов нужно:
- выполнить команду
composer test-unit.
Интеграционные тесты
Для запуска тестов нужно:
- скопировать файл нужного ОФД (например, taxcom)
tests/credentials/ОФД.example.phpв файлtests/credentials/ОФД.php; - вписать требуемые реквизиты доступа в
tests/credentials/ОФД.php; - выполнить команду
composer test-integration-ОФД.
Основные термины
В таблице приведены термины в порядке удобном для понимания.
| ОФД | Оператор Фискальных Данных | Сервис принимающий с кассово аппарата данные о выбитых чеках и передающий их в налоговую службу. |
| ККТ | Контрольно Кассовая Техника | Кассовый аппарат выбивающий чеки либо на бумаге, либо в электронном виде. |
| ККМ | Контрольно Кассовая Машина | Устаревшее название ККТ. |
| ФД | Фискальный Документ | Документ отправляемый в налоговую службу. Кассовый чек является частным случаем ФД. Все типы ФД перечисленые в константах DocumentInterface в виде классов документов. |
| ФФД | Формат Фискальных Данных | По сути спецификация описывающая свойства (реквизиты) и их значения, которые могут быть у ФД. Регламентируется приказами ФНС России (на основании 54-ФЗ). Например, приказ № ЕД-7-20/662 По состоянию на 2022 год есть три версии ФФД: 1.0, 1.05, 1.1 и 1.2. |
| Тег ФД | - | По сути имя свойства (реквизита) ФД которые передаются в ОФД. Например, в теге 1037 касса передает свой регистрационный номер. Поддерживаемые теги находятся в директории tags. |
alekciy/php-ofd-sdk 适用场景与选型建议
alekciy/php-ofd-sdk 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 2.36k 次下载、GitHub Stars 达 10, 最近一次更新时间为 2019 年 12 月 29 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「sdk」 「ОФД」 「оператор фискал�」 「ных данных」 「ФФД」 「фор�」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 alekciy/php-ofd-sdk 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 alekciy/php-ofd-sdk 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 alekciy/php-ofd-sdk 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
PHP SDK for the Enconvert file conversion API
支付宝开放平台v3协议文档,支持最新版PHP8+
Merchant-side PHP SDK for YoPay Pay Open API.
SDK oficial da API AurePay para PHP (tipado via OpenAPI)
SDK oficial da API AureEX para PHP (tipado via OpenAPI)
Usgm PHP Library
统计信息
- 总下载量: 2.36k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 10
- 点击次数: 7
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-12-29