studservis / php-dreamkas
为 Dreamkas-F 在 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-09-23 18:17:54 UTC
README
为 PHP 7.4 实现的 Dreamkas-F 收据税务化
对于更早版本的 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; }
由 DevGroup.ru 制作 - 创建在线商店.