• Модуль: 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;
}