Skip to content

Latest commit

 

History

History
102 lines (71 loc) · 3.06 KB

document-registration.md

File metadata and controls

102 lines (71 loc) · 3.06 KB

Регистрация документа

Для регистрации документа в ККТ необходимо отправить 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()