krasfree / atol-client
Atol 的 PHP 客户端
v1.0.1
2020-05-02 20:27 UTC
Requires
- guzzlehttp/guzzle: ^6.5
- jms/serializer: ^3.4
- ramsey/uuid: ^4.0
This package is auto-updated.
Last update: 2024-09-29 05:42:39 UTC
README
项目信息
该库旨在用于与 ATOLO 的 API 交互。
安装
预计使用 composer 进行安装
composer require krasfree/atol-client
使用示例
打印收据
可以指定不同的税务系统选项,传递买家的电子邮件或电话,使用不同的结算方式,还可以设置是否需要实际打印收据。有关参数的详细信息,请参阅Atol 网站。
// создаем товарную позицию $item = new Item(); $item->setName('Наименование товара') ->setPrice(2000) ->setQuantity(1) ->setAmount(2000) ->setTax(new Tax(Tax::TYPE_VAT0, 0)) ->setPaymentMethod(Item::PAYMENT_METHOD_FULL_PAYMENT) ->setPaymentObject(Item::PAYMENT_OBJECT_COMMODITY); // запрос на печать чека $sell = new SellRequest(SellRequest::TYPE_SELL); $sell->setTaxationType(SellRequest::TAX_TYPE_USN_INCOME) ->setElectronically(false) ->setClientInfo(new ClientInfo('ivan@ivan.com')) ->setItems([$item]) ->setPayments([new Payment(Payment::PAYMENT_TYPE_ELECTRONICALLY, $order->total)]) ->setTotal(2000); $client = new AtolClient(new Client(), new Connection()); //$client->setLogger(LoggerInterface); $response = $client->sendRequest(new CashRequest($sell)); // получаем результат запроса $response->getStatusCode(); $response->getContents();
退货收据
// возврат чека происходит так-же как и печать, только операция возврат $sell = new SellRequest(SellRequest::TYPE_SELL_RETURN);
结账
$request = new CashRequest(new CloseShiftRequest()); $response = $client->sendRequest($request);
打印 X 报告
$request = new CashRequest(new ReportXRequest()); $response = $client->sendRequest($request);
获取任务执行结果
$response = $client->checkStatus('uuid задания'); // получаем результат запроса $response->getStatusCode(); $response->getContents();