Для регистрации документа в ККТ необходимо отправить POST запрос.
Возможные типы операции:
- sell: чек «Приход»;
- sell_refund: чек «Возврат прихода»;
- sell_correction: чек «Коррекция прихода»;
- buy: чек «Расход»;
- buy_refund: чек «Возврат расхода»;
- buy_correction: чек «Коррекция расхода».
$vat = (new \Vlsv\AtolOnline\Entity\Vat())
->setType(\Vlsv\AtolOnline\Entity\Enum\VatType::VAT20); // НДС чека по ставке 20%, Типы VatType.php
$item = (new \Vlsv\AtolOnline\Entity\Item())
->setName('Колбаса Клинский Брауншвейгская с/к в/с')
->setSum('1000')
->setPaymentMethod(\Vlsv\AtolOnline\Entity\Enum\PaymentMethod::ADVANCE)
...
->setVat($vat);
$payment = (new \Vlsv\AtolOnline\Entity\Payment())
->setType(1) // 1 - Безналичный, типы платежей см. PaymentType.php
->setSum(300);
$receipt = (new \Vlsv\AtolOnline\Entity\Receipt())
->setClient($client)
->setClient($client)
->setCompany($company)
->setItems($items)
->setPayments([$payment]);
$request = new \Vlsv\AtolOnline\Entity\Request();
$service = (new \Vlsv\AtolOnline\Entity\Service())
->setCallbackUrl('https://callback.mysite.com');
$client = new \Vlsv\AtolOnline\Entity\Client();
$company = new \Vlsv\AtolOnline\Entity\Company();
При необходимости рассчитать и указать общую сумму по чеку и автоматически заполнить массив vats в запросе после
заполнения всех свойств у объекта $receipt
необходимо вызвать метод ->calculateAndSetVatsAndTotal()
.
$receipt->calculateAndSetVatsAndTotal();
В противном случае сумму по чеку необходимо указать дополнительно.
$receipt->setTotal(<сумма int или float>);
$response = $atolApiClient->sell($request);
Аналогичным образом производится регистрация документа с иным типом операции.
Проверка наличия ошибки в ответе.
$response->getError();
Идентификатор документа в Атол.
$response->getUuid();
Статус регистрации документа.
$response->getStatus()->value;
Обработка ошибки.
$serviceError = $error->getServiceError();
// Текст ошибки.
$serviceError->getError();
// Описание способа исправления ошибки.
$serviceError->getTroubleshooting()
// Описание ошибки.
$serviceError->getDescription()