gavan4eg/cashalotapi

cashalot Laravel API

1.0.0 2023-09-30 11:21 UTC

This package is not auto-updated.

Last update: 2024-09-22 01:36:29 UTC


README

'1'

Packagist Version Packagist Packagist License

联系方式

Cashalot API Laravel

使用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/)

获取 privat24 的证书 https://acsk.privatbank.ua/certificates/clients

使用示例

# 查询rro状态

$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