krasfree / atol-client
PHP client for Atol
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-04-29 04:27:25 UTC
README
О проекте
Данная библиотека предназначена для работы с API кассы АТОЛ.
Установка
Предполагается установка с использованием composer
composer require krasfree/atol-client
Пример использования
Печать чека прихода
Можно указать различные варианты систем налогообложения, передавать e-mail или телефон покупателя, использовать различные взаиморасчеты, а так-же установить, требуется фактическая печать чека или нет. Подробно о параметрах можно посмотреть на сайте Атол
// создаем товарную позицию $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();