studservis / php-dreamkas
Фискализация чека для Дримкас-Ф на php
v2.0.1
2024-04-23 17:27 UTC
Requires
- php: ^7.0 || ^8.0
- guzzlehttp/guzzle: ^7.8
Requires (Dev)
- phpunit/phpunit: ^9.6
This package is auto-updated.
Last update: 2024-04-23 17:29:01 UTC
README
Фискализация чека для Дримкас-Ф для PHP 7.4
Для более старых версий PHP придётся править код на предмет типов у функций.
Установка
composer require studservis/php-dreamkas
Пример кода
<?php use StudServis\Dreamkas\Api; use StudServis\Dreamkas\CustomerAttributes; use StudServis\Dreamkas\exceptions\ValidationException; use StudServis\Dreamkas\Payment; use StudServis\Dreamkas\Position; use StudServis\Dreamkas\Receipt; use StudServis\Dreamkas\TaxMode; use GuzzleHttp\Exception\ClientException; use GuzzleHttp\Client; /** * $accessToken - ACCESS_TOKEN из профиля * $deviceId - ID кассы */ $api = new Api( $accessToken, $deviceId, new Client([ 'base_uri' => Api::PRODUCTION_URL, ]) ); $receipt = new Receipt(); $receipt->taxMode = TaxMode::MODE_SIMPLE; $receipt->positions[] = new Position([ 'name' => 'Билет - тест', 'quantity' => 2, 'price' => 210000, // цена в копейках за 1 шт. или 1 грамм ]); $receipt->payments[] = new Payment([ 'sum' => 420000, // стоимость оплаты по чеку ]); $receipt->attributes = new CustomerAttributes([ 'email' => 'foobar@example.com', // почта покупателя 'phone' => '+70000000000', // телефон покупателя ]); // Можно посчитать сумму автоматом // $receipt->calculateSum(); // А можно завалидировать чек // $receipt->validate(); $response = []; try { $response = $api->postReceipt($receipt); } catch (ValidationException $e) { // Это исключение кидается, когда информация в чеке не правильная } catch (ClientException $e) { echo $e->getResponse()->getBody(); // Это исключение кидается, когда при передачи чека в Дрикас произошла ошибка. Лучше отправить чек ещё раз // Если будут дубли - потом отменяйте через $receipt->type = Receipt::TYPE_REFUND; }
Made by DevGroup.ru - Создание интернет-магазинов.