gavan4eg / cashalotapi
cashalot laravel api
1.0.0
2023-09-30 11:21 UTC
Requires
- illuminate/support: ^8|^9|^10
Requires (Dev)
- orchestra/testbench: ^6|^7|^8|^9|^10
- phpunit/phpunit: ^8|^9|^10
This package is not auto-updated.
Last update: 2025-03-09 03:52:51 UTC
README
Cashalot API Laravel
Fiscalization of checks in the tax office using the cashalot program
Фіскалізація чеків у податковій за допомогою програми cashalot
Laravel 6 або вище, php7.0 або вище
Встановлення
composer require gavan4eg/cashalotapi
Опублікувати config (cashalot.php)
php artisan vendor:publish
Решта
Сертефікат .crt та приват ключ .pfx повинні бути у форматі base64 (https://www.base64encode.org/enc/certificate/)
Отримання сертифіката для приват24 https://acsk.privatbank.ua/certificates/clients
Приклади використання
# Запитати статус рро
$cashalot = new CashalotService(); var_dump($cashalot->transactionsRegistrarState());
# Успішна відповідь
"ShiftState" => 1
"ShiftId" => 30709815
"OpenShiftFiscalNum" => "1384524792"
"ZRepPresent" => false
"Testing" => false
"Name" => "Тестовий платник 4 (Тест)"
"SubjectKeyId" => "9453d76f39229104e9a64da46752040e0081a64ff6c755fdc986cf4dd418dfba"
"FirstLocalNum" => 283
"NextLocalNum" => 286
"LastFiscalNum" => "1384554129"
"OfflineSupported" => true
"ChiefCashier" => true
"OfflineSessionId" => 299988
"OfflineSeed" => 584709474973155
"OfflineNextLocalNum" => 1
"OfflineSessionDuration" => 0
"OfflineSessionsMonthlyDuration" => 0
"Closed" => false
"OfflineDocumentsPresent" => false
"TaxObject" => null
"ErrorCode" => "Ok"
"ErrorMessage" => null
# Запит видаляє всі локальні дані
$remove = true $cashalot = new CashalotService(); var_dump($cashalot->cleanUp());
# Успішна відповідь
"ZRepAutoInfo": // Відомості автоматично створеного Z-звіту
"CloseShiftAutoInfo": // Відомості автоматично створеного документу на закриття
зміни
# Відкриття зміни
$cashalot = new CashalotService(); var_dump($cashalot->openShift());
# Успішна відповідь
"NumFiscal" => "1384590380"
"NumLocal" => 288
"OrderDateTime" => "2023-09-30T14:52:43.9713919+03:00"
"Offline" => false
"ErrorCode" => "Ok"
"ErrorMessage" => null
# Закриття зміни
// Формувати Z-Звіт коли закритя зміни true/false $zrep = true; $cashalot = new CashalotService(); var_dump($cashalot->closeShift($zrep));
# Успішна відповідь
"ZRepAutoInfo" => array:6 [
"NumFiscal" => "1384622746"
"NumLocal" => 290
"OrderDateTime" => "2023-09-30T14:59:31.8089189+03:00"
"Offline" => false
"ErrorCode" => "Ok"
"ErrorMessage" => null
]
"NumFiscal" => "1384622754"
"NumLocal" => 291
"OrderDateTime" => "2023-09-30T14:59:31.9714893+03:00"
"Offline" => false
"ErrorCode" => "Ok"
"ErrorMessage" => null
]
# Створення чека
// Праметри до внесення /** * DOCSUBTYPE * 1. CheckGoods - регістрація чеку * 2. ServiceDeposit - службове внесеня * 3. ServiceIssue - службова видача */ $cashalot = new CashalotService(); $array = $cashalot->registerCheck([ "CHECKHEAD" => [ "DOCTYPE" => "SaleGoods", "DOCSUBTYPE" => "CheckGoods" ], "CHECKTOTAL" => [ "SUM" => 99.99 ], "CHECKPAY" => [ [ "PAYFORMCD" => 1, "PAYFORMNM" => "Банківська картка", "SUM" => 99.99, "PAYSYS" => [ [ "TAXNUM" => "UA2020", "NAME" => "LiqPay", "SUM" => "99.99", "COMMISSION" => "0" ] ], ], ], "CHECKBODY" => [ [ "NAME" => "Оплата за услуги клинки", "UNITCD" => 138, "UNITNM" => "л", "AMOUNT" => 1.000, "PRICE" => 99.99, "COST" => 99.99 ] ], ]); dd($array);
# Успішна відповідь
"QrCode" => null
"Url" => "https://cabinet.tax.gov.ua/cashregs/check?fn=4000146829&id=1384600901&date=20230930&time=145454&sm=99.99"
"NumFiscal" => "1384600901"
"NumLocal" => 289
"OrderDateTime" => "2023-09-30T14:54:54.8878813+03:00"
"Offline" => false
"ErrorCode" => "Ok"
"ErrorMessage" => null
# Реєстрація Z-звіту
$cashalot = new CashalotService(); var_dump($cashalot->registerZRep());
# Успішна відповідь
"NumFiscal" => 54321
"NumLocal" => 12345
"OrderDateTime" => Date
"Offline" => true