sushi-market/digitalkassa-sdk 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

sushi-market/digitalkassa-sdk

Composer 安装命令:

composer require sushi-market/digitalkassa-sdk

包简介

PHP SDK for DigitalKassa API v2.1

README 文档

README

PHP Version Latest Version Total Downloads License

SDK на основе версии документа 2.1.0

Установка:

composer require sushi-market/digitalkassa-sdk
use DF\DigitalKassa\V2\DigitalKassaApi;
use DF\DigitalKassa\V2\ValueObjects\Credentials;

$digitalkassa = new DigitalKassaApi(
    credentials: new Credentials(
        actorId: '1234567',
        actorToken: 'secret-token',
        cGroupId: 1,
    ),
);

💰 Работа с НДС (VatType)

В SDK доступен enum VatType, который инкапсулирует тип ставки НДС для чеков DigitalKassa и содержит хелперы для расчёта суммы с НДС, выделения НДС и получения суммы без НДС.

Поддерживаются:

  • обычные ставки (0%, 5%, 7%, 10%, 20%, 22%)
  • расчетные ставки (5/105, 7/107, 10/110, 20/120, 22/122)
  • режим без НДС

Начисление НДС (из цены без НДС в цену с НДС)

use DF\DigitalKassa\V2\Enums\VatType;

$vat = VatType::VAT_20;

$net = 1000.00;
$gross = $vat->applyVat($net);

// 1200.00

Выделение НДС из суммы с НДС

use DF\DigitalKassa\V2\Enums\VatType;

$vat = VatType::VAT_20;

$gross = 1200.00;
$vatAmount = $vat->extractVat($gross);

// 200.00

Получение суммы без НДС

use DF\DigitalKassa\V2\Enums\VatType;

$vat = VatType::VAT_20;

$gross = 1200.00;
$net = $vat->removeVat($gross);

// 1000.00

Основные методы

  • getCGroupInfo()
  • createReceipt()
  • getReceiptInfo()
  • createCorrectionReceipt()
  • getCorrectionReceiptInfo()
  • getShiftReport()
  • openShift()
  • closeShift()
  • changeShiftMode()

Быстрый пример создания чека

use DF\DigitalKassa\V2\DTO\Receipt\ReceiptItemDTO;
use DF\DigitalKassa\V2\DTO\Receipt\ReceiptDTO;
use DF\DigitalKassa\V2\DTO\Receipt\ReceiptRequestDTO;
use DF\DigitalKassa\V2\DTO\Shared\AmountDTO;
use DF\DigitalKassa\V2\DTO\Shared\LocationDTO;
use DF\DigitalKassa\V2\DTO\Shared\NotifyDTO;
use DF\DigitalKassa\V2\Enums\InternetMode;
use DF\DigitalKassa\V2\Enums\ReceiptItemType;
use DF\DigitalKassa\V2\Enums\PaymentMethod;
use DF\DigitalKassa\V2\Enums\ReceiptType;
use DF\DigitalKassa\V2\Enums\Taxation;
use DF\DigitalKassa\V2\Enums\Timezone;
use DF\DigitalKassa\V2\Enums\Unit;
use DF\DigitalKassa\V2\Enums\VatType;

$response = $digitalkassa->createReceipt(new ReceiptRequestDTO(
    receipt_id: 'receipt123',
    receipt: new ReceiptDTO(
        type: ReceiptType::SELL,
        items: [
            new ReceiptItemDTO(
                type: ReceiptItemType::PRODUCT,
                name: 'Coffee',
                price: 100.00,
                quantity: 1.0,
                amount: 100.00,
                payment_method: PaymentMethod::FULL_PAYMENT,
                unit: Unit::PIECE,
                vat: VatType::VAT_20,
            ),
        ],
        taxation: Taxation::OSN,
        is_internet: InternetMode::ON,
        timezone: Timezone::UTC_5,
        notify: new NotifyDTO(
            emails: ['customer@example.com'],
            phone: '+79990000000',
        ),
        amount: new AmountDTO(cashless: 100.00),
        loc: new LocationDTO(billing_place: 'site.example'),
    ),
));

Примеры вызова

Получение информации о группе касс

$cGroupInfo = $digitalkassa->getCGroupInfo();

Получение статуса чека

use DF\DigitalKassa\V2\DTO\Receipt\ReceiptInfoRequestDTO;

$receiptInfo = $digitalkassa->getReceiptInfo(
    new ReceiptInfoRequestDTO(receipt_id: 'receipt123'),
);

Создание чека коррекции

use DF\DigitalKassa\V2\DTO\CorrectionReceipt\CorrectionReceiptDTO;
use DF\DigitalKassa\V2\DTO\CorrectionReceipt\CorrectionReceiptRequestDTO;
use DF\DigitalKassa\V2\DTO\Shared\CorrectionNotifyDTO;

$correctionResponse = $digitalkassa->createCorrectionReceipt(new CorrectionReceiptRequestDTO(
    receipt_id: 'correction123',
    correction_receipt: new CorrectionReceiptDTO(
        type: ReceiptType1054::SELL_REFUND,
        items: [
            new ItemDTO(
                type: ItemType::PRODUCT,
                name: 'Coffee',
                price: 100.00,
                quantity: 1.0,
                amount: 100.00,
                payment_method: PaymentMethod::FULL_PAYMENT,
                unit: Unit::PIECE,
                vat: VatType::VAT_20,
            ),
        ],
        taxation: Taxation::OSN,
        corrected_date: '24.03.2026',
        amount: new AmountDTO(cashless: 100.00),
        is_internet: InternetMode::ON,
        timezone: Timezone::UTC_5,
        loc: new LocationDTO(billing_place: 'site.example'),
        notify: new CorrectionNotifyDTO(phone: '+79990000000'),
    ),
));

Получение статуса чека коррекции

use DF\DigitalKassa\V2\DTO\CorrectionReceipt\CorrectionReceiptInfoRequestDTO;

$correctionInfo = $digitalkassa->getCorrectionReceiptInfo(
    new CorrectionReceiptInfoRequestDTO(receipt_id: 'correction123'),
);

Работа со сменой

use DF\DigitalKassa\V2\DTO\Shift\ShiftModeRequestDTO;
use DF\DigitalKassa\V2\DTO\Shift\ShiftRequestDTO;
use DF\DigitalKassa\V2\Enums\ShiftMode;

$shiftReport = $digitalkassa->getShiftReport();

$digitalkassa->openShift(new ShiftRequestDTO(
    name: 'Cashier',
    tin: '123456789012',
));

$digitalkassa->changeShiftMode(new ShiftModeRequestDTO(
    mode: ShiftMode::MANUAL,
));

$digitalkassa->closeShift();

Документация

sushi-market/digitalkassa-sdk 适用场景与选型建议

sushi-market/digitalkassa-sdk 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 38 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 03 月 24 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「php」 「api」 「sdk」 「receipt」 「digitalkassa」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 sushi-market/digitalkassa-sdk 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 sushi-market/digitalkassa-sdk 我们能提供哪些服务?
定制开发 / 二次开发

基于 sushi-market/digitalkassa-sdk 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 38
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 26
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-03-24