krasfree / atol-client

Atol 的 PHP 客户端

v1.0.1 2020-05-02 20:27 UTC

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();