• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/cashbox/cashboxcheckbox.php
  • Класс: BitrixSaleCashboxCashboxCheckbox
  • Вызов: CashboxCheckbox::requestAccessToken
private function requestAccessToken(): Result
{
	$result = new Result();

	$url = $this->getRequestUrl(static::OPERATION_SIGN_IN);

	$requestData = [
		'login' => $this->getValueFromSettings('AUTH', 'LOGIN'),
		'password' => $this->getValueFromSettings('AUTH', 'PASSWORD'),
	];

	$headersData = [];

	$requestResult = $this->sendRequest(self::HTTP_METHOD_POST, $url, $headersData, $requestData);

	if (!$requestResult->isSuccess())
	{
		return $requestResult;
	}

	$response = $requestResult->getData();

	if ($response['http_code'] === self::HTTP_RESPONSE_CODE_403)
	{
		$result->addError(new MainError(Loc::getMessage('SALE_CASHBOX_CHECKBOX_AUTHORIZATION_ERROR')));
		return $result;
	}

	if ($response['access_token'])
	{
		$token = $response['access_token'];
		$this->setAccessToken($token);
		$result->set('token', $token);
		return $result;
	}

	$result->addError(new MainError(Loc::getMessage('SALE_CASHBOX_CHECKBOX_TOKEN_ERROR')));
	return $result;
}