Download the PHP package djalone/kkm-server-classes without Composer
On this page you can find all versions of the php package djalone/kkm-server-classes. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download djalone/kkm-server-classes
More information about djalone/kkm-server-classes
Files in djalone/kkm-server-classes
Package kkm-server-classes
Short Description PHP classes to create json for kkmServer
License MIT
Informations about the package kkm-server-classes
KKM Server Classes 🇷🇺
PHP библиотека классов для работы с кассовыми аппаратами (ККТ) через KKM Server. Предоставляет удобный API для создания команд, печати чеков и управления сменами в кассовых аппаратов.
📋 Описание
KKM Server Classes — это PHP библиотека, разработанная для взаимодействия с кассовыми аппаратами (ККТ) через KKM Server. Библиотека имеет функции:
- 📝 Печать чеков с поддержкой различных типов платежей
- 🔄 Управление сменой (открытие/закрытие)
- 📊 Получение отчётов (X-отчёты, Z-отчёты)
- 💳 Обработка платежей (наличные, электронные, авансовые)
- 💰 Инкассация и пополнение кассы
- 🏪 Работа с устройствами и получение данных ККТ
Библиотека полностью совместима с российской системой фискализации и поддерживает все основные функции современных кассовых аппаратов.
🎯 Основные возможности
Команды ККТ
| Команда | Описание |
|---|---|
Cheque |
Печать товарного чека с поддержкой различных видов платежей |
OpenShift |
Открытие смены на кассовом аппарате |
CloseShift |
Закрытие смены с выведением Z-отчёта |
XReport |
Печать X-отчёта (внутренний отчёт смены) |
ZReport |
Печать Z-отчёта (итоговый отчёт смены) |
PaymentCash |
Инкассация (изъятие) наличных денежных средств |
DepositingCash |
Пополнение кассы наличными среди наличными |
GetDataKKT |
Получение технических данных о кассовом аппарате |
DeviceList |
Получение информации о подключённых устройствах |
Типы платежей
- 💵 Наличные (Cash)
- 💳 Электронные платежи (Electronic)
- 🎫 Предоплата (Advanced)
- 📋 Кредит (Credit)
- 🏦 Кассовое обеспечение (CashProvision)
Типы чеков
- ✅ Продажа/Приход
- 🚫 Возврат продажи
- 🚫 Корректировка продажи
- 🚫 Покупка/Расход
- 🚫 Возврат покупки
- 🚫 Корректировка покупки
📦 Требования
- PHP >= 8.1
- Composer
- OpenSSL PHP extension
Зависимости
🚀 Установка
Через Composer
💡 Использование
Меню работы с ККТ
При переходе будет меню для работы
Базовый пример: Печать чека
После вызова, вы будете переброшены на страницу для работы печатью
📁 Структура проекта
🧪 Тестирование
Проект включает полный набор unit-тестов с использованием PHPUnit.
Запуск всех тестов
Запуск тестов конкретного класса
Запуск тестов с отчётом о покрытии
🛠️ Разработка и инструменты
Исправление стиля кода
Проект использует PHP CS Fixer для автоматического исправления стиля кода:
Статический анализ
PHPStan используется для статического анализа кода:
Рефакторинг
Rector помогает автоматизировать рефакторинг кода:
📝 API Документация
Класс Cheque
Основной конструктор
Основные методы
addItem(Item $item): self— добавить товар/элементsetChequeType(ChequeType $type): self— установить тип чекаsetClientEmail(string $email): self— установить email клиентаsetClientPhone(string $phone): self— установить телефон клиентаsetClientAddress(string $address): self— установить адрес клиентаsetClientInfo(string $info): self— установить ФИО/названия компанииsetClientINN(string $inn): self— установить ИНН клиентаtoArray(): array— получить массив параметров команды
Класс Position
Конструктор
Методы
setPaymentType(PaymentTypes $type): self— установить тип платежаsetTax(Tax $tax): self— установить налоговую ставкуsetDepartment(int $id): self— установить номер отделаsetMeasureOfQuantity(MeasureOfQuantity $measure): self— установить единицу измерения
Сервис Serializer
Сервис Logger
📊 Примеры интеграции
Интеграция с веб-приложением
Смотрите папку frontend/ и backend/ для примеров практической интеграции:
🐛 Обработка ошибок
Все команды наследуют базовый класс Command, который включает обработку ошибок:
🔐 Безопасность
- Все входные данные обрабатываются и валидируются
- Используются типизированные свойства PHP 8.1+
- Поддержка UUID для уникальных идентификаторов команд
- Логирование всех операций с ККТ
📄 Лицензия
MIT License - смотрите файл LICENSE для деталей.
👤 Автор
Egor Ermilov
- Email: [email protected]
🤝 Вклад
Улучшения, исправления ошибок и новые функции приветствуются!
📚 Дополнительные ресурсы
All versions of kkm-server-classes with dependencies
twig/twig Version ^3.11.3
ext-gd Version *
ext-bcmath Version *
twbs/bootstrap Version 5.3.8
symfony/http-foundation Version ^5.4
symfony/serializer Version ^5.4
symfony/property-access Version ^5.4
phpdocumentor/reflection-docblock Version ^5.2
symfony/serializer-pack Version ^1.3
ramsey/uuid Version ^4.2
monolog/monolog Version ^2.11
tecnickcom/tc-lib-barcode Version ^1.18.4
phpseclib/bcmath_compat Version ^2.0