- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/cashbox/cashboxatolfarm.php
- Класс: BitrixSaleCashboxCashboxAtolFarm
- Вызов: CashboxAtolFarm::registerCheck
protected function registerCheck($operation, array $check)
{
$printResult = new Result();
$token = $this->getAccessToken();
if ($token === '')
{
$token = $this->requestAccessToken();
if ($token === '')
{
$printResult->addError(new MainError(LocalizationLoc::getMessage('SALE_CASHBOX_ATOL_REQUEST_TOKEN_ERROR')));
return $printResult;
}
}
$url = $this->getRequestUrl(static::OPERATION_CHECK_REGISTRY, $token, ['CHECK_TYPE' => $operation]);
$result = $this->send(static::REQUEST_TYPE_POST, $url, $check);
if (!$result->isSuccess())
{
return $result;
}
$response = $result->getData();
if ($response['http_code'] === static::RESPONSE_HTTP_CODE_401)
{
$token = $this->requestAccessToken();
if ($token === '')
{
$printResult->addError(new MainError(LocalizationLoc::getMessage('SALE_CASHBOX_ATOL_REQUEST_TOKEN_ERROR')));
return $printResult;
}
$url = $this->getRequestUrl(static::OPERATION_CHECK_REGISTRY, $token, array('CHECK_TYPE' => $operation));
$result = $this->send(static::REQUEST_TYPE_POST, $url, $check);
if (!$result->isSuccess())
{
return $result;
}
$response = $result->getData();
}
if ($response['http_code'] === static::RESPONSE_HTTP_CODE_200)
{
if ($response['uuid'])
{
$printResult->setData(array('UUID' => $response['uuid']));
}
else
{
$printResult->addError(new MainError(LocalizationLoc::getMessage('SALE_CASHBOX_ATOL_CHECK_REG_ERROR')));
}
}
else
{
if (isset($response['error']['text']))
{
$printResult->addError(new MainError($response['error']['text']));
}
else
{
$printResult->addError(new MainError(LocalizationLoc::getMessage('SALE_CASHBOX_ATOL_CHECK_REG_ERROR')));
}
}
return $printResult;
}