# [YooKassa API SDK](../home.md) # Class: \YooKassa\Client\BaseClient ### Namespace: [\YooKassa\Client](../namespaces/yookassa-client.md) --- --- ### Constants | Visibility | Name | Flag | Summary | | ----------:| ---- | ---- | ------- | | public | [ME_PATH](../classes/YooKassa-Client-BaseClient.md#constant_ME_PATH) | | Точка входа для запроса к API по магазину | | public | [PAYMENTS_PATH](../classes/YooKassa-Client-BaseClient.md#constant_PAYMENTS_PATH) | | Точка входа для запросов к API по платежам | | public | [REFUNDS_PATH](../classes/YooKassa-Client-BaseClient.md#constant_REFUNDS_PATH) | | Точка входа для запросов к API по возвратам | | public | [WEBHOOKS_PATH](../classes/YooKassa-Client-BaseClient.md#constant_WEBHOOKS_PATH) | | Точка входа для запросов к API по вебхукам | | public | [RECEIPTS_PATH](../classes/YooKassa-Client-BaseClient.md#constant_RECEIPTS_PATH) | | Точка входа для запросов к API по чекам | | public | [DEALS_PATH](../classes/YooKassa-Client-BaseClient.md#constant_DEALS_PATH) | | Точка входа для запросов к API по сделкам | | public | [PAYOUTS_PATH](../classes/YooKassa-Client-BaseClient.md#constant_PAYOUTS_PATH) | | Точка входа для запросов к API по выплатам | | public | [PERSONAL_DATA_PATH](../classes/YooKassa-Client-BaseClient.md#constant_PERSONAL_DATA_PATH) | | Точка входа для запросов к API по персональным данным | | public | [SBP_BANKS_PATH](../classes/YooKassa-Client-BaseClient.md#constant_SBP_BANKS_PATH) | | Точка входа для запросов к API по участникам СБП | | public | [SELF_EMPLOYED_PATH](../classes/YooKassa-Client-BaseClient.md#constant_SELF_EMPLOYED_PATH) | | Точка входа для запросов к API по самозанятым | | public | [IDEMPOTENCY_KEY_HEADER](../classes/YooKassa-Client-BaseClient.md#constant_IDEMPOTENCY_KEY_HEADER) | | Имя HTTP заголовка, используемого для передачи idempotence key | | public | [DEFAULT_DELAY](../classes/YooKassa-Client-BaseClient.md#constant_DEFAULT_DELAY) | | Значение по умолчанию времени ожидания между запросами при отправке повторного запроса в случае получения ответа с HTTP статусом 202 | | public | [DEFAULT_TRIES_COUNT](../classes/YooKassa-Client-BaseClient.md#constant_DEFAULT_TRIES_COUNT) | | Значение по умолчанию количества попыток получения информации от API если пришёл ответ с HTTP статусом 202 | | public | [DEFAULT_ATTEMPTS_COUNT](../classes/YooKassa-Client-BaseClient.md#constant_DEFAULT_ATTEMPTS_COUNT) | | Значение по умолчанию количества попыток получения информации от API если пришёл ответ с HTTP статусом 202 | --- ### Properties | Visibility | Name | Flag | Summary | | ----------:| ---- | ---- | ------- | | protected | [$apiClient](../classes/YooKassa-Client-BaseClient.md#property_apiClient) | | CURL клиент | | protected | [$attempts](../classes/YooKassa-Client-BaseClient.md#property_attempts) | | Количество повторных запросов при ответе API статусом 202 | | protected | [$config](../classes/YooKassa-Client-BaseClient.md#property_config) | | Настройки для CURL клиента | | protected | [$logger](../classes/YooKassa-Client-BaseClient.md#property_logger) | | Объект для логирования работы SDK | | protected | [$login](../classes/YooKassa-Client-BaseClient.md#property_login) | | shopId магазина | | protected | [$password](../classes/YooKassa-Client-BaseClient.md#property_password) | | Секретный ключ магазина | | protected | [$timeout](../classes/YooKassa-Client-BaseClient.md#property_timeout) | | Время через которое будут осуществляться повторные запросы | --- ### Methods | Visibility | Name | Flag | Summary | | ----------:| ---- | ---- | ------- | | public | [__construct()](../classes/YooKassa-Client-BaseClient.md#method___construct) | | Constructor | | public | [getApiClient()](../classes/YooKassa-Client-BaseClient.md#method_getApiClient) | | Возвращает CURL клиента для работы с API | | public | [getConfig()](../classes/YooKassa-Client-BaseClient.md#method_getConfig) | | Возвращает настройки клиента | | public | [isNotificationIPTrusted()](../classes/YooKassa-Client-BaseClient.md#method_isNotificationIPTrusted) | | Метод проверяет, находится ли IP адрес среди IP адресов Юkassa, с которых отправляются уведомления | | public | [setApiClient()](../classes/YooKassa-Client-BaseClient.md#method_setApiClient) | | Устанавливает CURL клиента для работы с API | | public | [setAuth()](../classes/YooKassa-Client-BaseClient.md#method_setAuth) | | Устанавливает авторизацию по логин/паролю | | public | [setAuthToken()](../classes/YooKassa-Client-BaseClient.md#method_setAuthToken) | | Устанавливает авторизацию по Oauth-токену | | public | [setConfig()](../classes/YooKassa-Client-BaseClient.md#method_setConfig) | | Устанавливает настройки клиента | | public | [setLogger()](../classes/YooKassa-Client-BaseClient.md#method_setLogger) | | Устанавливает логгер приложения | | public | [setMaxRequestAttempts()](../classes/YooKassa-Client-BaseClient.md#method_setMaxRequestAttempts) | | Установка значения количества попыток повторных запросов при статусе 202 | | public | [setRetryTimeout()](../classes/YooKassa-Client-BaseClient.md#method_setRetryTimeout) | | Установка значения задержки между повторными запросами | | protected | [decodeData()](../classes/YooKassa-Client-BaseClient.md#method_decodeData) | | Декодирует JSON строку в массив данных | | protected | [delay()](../classes/YooKassa-Client-BaseClient.md#method_delay) | | Задержка между повторными запросами | | protected | [encodeData()](../classes/YooKassa-Client-BaseClient.md#method_encodeData) | | Кодирует массив данных в JSON строку | | protected | [execute()](../classes/YooKassa-Client-BaseClient.md#method_execute) | | Выполнение запроса и обработка 202 статуса | | protected | [handleError()](../classes/YooKassa-Client-BaseClient.md#method_handleError) | | Выбрасывает исключение по коду ошибки | --- ### Details * File: [lib/Client/BaseClient.php](../../lib/Client/BaseClient.php) * Package: YooKassa * Class Hierarchy: * \YooKassa\Client\BaseClient --- ## Constants ###### ME_PATH Точка входа для запроса к API по магазину ```php ME_PATH = '/me' ``` ###### PAYMENTS_PATH Точка входа для запросов к API по платежам ```php PAYMENTS_PATH = '/payments' ``` ###### REFUNDS_PATH Точка входа для запросов к API по возвратам ```php REFUNDS_PATH = '/refunds' ``` ###### WEBHOOKS_PATH Точка входа для запросов к API по вебхукам ```php WEBHOOKS_PATH = '/webhooks' ``` ###### RECEIPTS_PATH Точка входа для запросов к API по чекам ```php RECEIPTS_PATH = '/receipts' ``` ###### DEALS_PATH Точка входа для запросов к API по сделкам ```php DEALS_PATH = '/deals' ``` ###### PAYOUTS_PATH Точка входа для запросов к API по выплатам ```php PAYOUTS_PATH = '/payouts' ``` ###### PERSONAL_DATA_PATH Точка входа для запросов к API по персональным данным ```php PERSONAL_DATA_PATH = '/personal_data' ``` ###### SBP_BANKS_PATH Точка входа для запросов к API по участникам СБП ```php SBP_BANKS_PATH = '/sbp_banks' ``` ###### SELF_EMPLOYED_PATH Точка входа для запросов к API по самозанятым ```php SELF_EMPLOYED_PATH = '/self_employed' ``` ###### IDEMPOTENCY_KEY_HEADER Имя HTTP заголовка, используемого для передачи idempotence key ```php IDEMPOTENCY_KEY_HEADER = 'Idempotence-Key' ``` ###### DEFAULT_DELAY Значение по умолчанию времени ожидания между запросами при отправке повторного запроса в случае получения ответа с HTTP статусом 202 ```php DEFAULT_DELAY = 1800 ``` ###### DEFAULT_TRIES_COUNT Значение по умолчанию количества попыток получения информации от API если пришёл ответ с HTTP статусом 202 ```php DEFAULT_TRIES_COUNT = 3 ``` ###### DEFAULT_ATTEMPTS_COUNT Значение по умолчанию количества попыток получения информации от API если пришёл ответ с HTTP статусом 202 ```php DEFAULT_ATTEMPTS_COUNT = 3 ``` --- ## Properties #### protected $apiClient : null|\YooKassa\Client\ApiClientInterface --- **Summary** CURL клиент **Type:** ApiClientInterface **Details:** #### protected $attempts : int --- **Summary** Количество повторных запросов при ответе API статусом 202 ***Description*** Значение по умолчанию 3 **Type:** int **Details:** #### protected $config : array --- **Summary** Настройки для CURL клиента **Type:** array **Details:** #### protected $logger : \Psr\Log\LoggerInterface|null --- **Summary** Объект для логирования работы SDK **Type:** LoggerInterface|null **Details:** #### protected $login : string|int --- **Summary** shopId магазина **Type:** string|int **Details:** #### protected $password : string --- **Summary** Секретный ключ магазина **Type:** string **Details:** #### protected $timeout : int --- **Summary** Время через которое будут осуществляться повторные запросы ***Description*** Значение по умолчанию - 1800 миллисекунд. **Type:** int Значение в миллисекундах **Details:** --- ## Methods #### public __construct() : mixed ```php public __construct(\YooKassa\Client\ApiClientInterface|null $apiClient = null, \YooKassa\Helpers\Config\ConfigurationLoaderInterface|null $configLoader = null) : mixed ``` **Summary** Constructor **Details:** * Inherited From: [\YooKassa\Client\BaseClient](../classes/YooKassa-Client-BaseClient.md) ##### Parameters: | Type | Name | Description | | ---- | ---- | ----------- | | \YooKassa\Client\ApiClientInterface OR null | apiClient | | | \YooKassa\Helpers\Config\ConfigurationLoaderInterface OR null | configLoader | | **Returns:** mixed - #### public getApiClient() : \YooKassa\Client\ApiClientInterface ```php public getApiClient() : \YooKassa\Client\ApiClientInterface ``` **Summary** Возвращает CURL клиента для работы с API **Details:** * Inherited From: [\YooKassa\Client\BaseClient](../classes/YooKassa-Client-BaseClient.md) **Returns:** \YooKassa\Client\ApiClientInterface - #### public getConfig() : array ```php public getConfig() : array ``` **Summary** Возвращает настройки клиента **Details:** * Inherited From: [\YooKassa\Client\BaseClient](../classes/YooKassa-Client-BaseClient.md) **Returns:** array - #### public isNotificationIPTrusted() : bool ```php public isNotificationIPTrusted(string $ip) : bool ``` **Summary** Метод проверяет, находится ли IP адрес среди IP адресов Юkassa, с которых отправляются уведомления **Details:** * Inherited From: [\YooKassa\Client\BaseClient](../classes/YooKassa-Client-BaseClient.md) ##### Parameters: | Type | Name | Description | | ---- | ---- | ----------- | | string | ip | IPv4 или IPv6 адрес webhook уведомления | ##### Throws: | Type | Description | | ---- | ----------- | | \Exception | Выбрасывается, если будет передан IP адрес неверного формата | **Returns:** bool - #### public setApiClient() : $this ```php public setApiClient(\YooKassa\Client\ApiClientInterface $apiClient) : $this ``` **Summary** Устанавливает CURL клиента для работы с API **Details:** * Inherited From: [\YooKassa\Client\BaseClient](../classes/YooKassa-Client-BaseClient.md) ##### Parameters: | Type | Name | Description | | ---- | ---- | ----------- | | \YooKassa\Client\ApiClientInterface | apiClient | | **Returns:** $this - #### public setAuth() : $this ```php public setAuth(string $login, string $password) : $this ``` **Summary** Устанавливает авторизацию по логин/паролю **Details:** * Inherited From: [\YooKassa\Client\BaseClient](../classes/YooKassa-Client-BaseClient.md) ##### Parameters: | Type | Name | Description | | ---- | ---- | ----------- | | string | login | | | string | password | | **Returns:** $this - ##### Examples: 01-client.php 7 1 Пример авторизации: ```php ``` #### public setAuthToken() : $this ```php public setAuthToken(string $token) : $this ``` **Summary** Устанавливает авторизацию по Oauth-токену **Details:** * Inherited From: [\YooKassa\Client\BaseClient](../classes/YooKassa-Client-BaseClient.md) ##### Parameters: | Type | Name | Description | | ---- | ---- | ----------- | | string | token | | **Returns:** $this - ##### Examples: 01-client.php 9 1 Пример авторизации: ```php ``` #### public setConfig() : mixed ```php public setConfig(array $config) : mixed ``` **Summary** Устанавливает настройки клиента **Details:** * Inherited From: [\YooKassa\Client\BaseClient](../classes/YooKassa-Client-BaseClient.md) ##### Parameters: | Type | Name | Description | | ---- | ---- | ----------- | | array | config | | **Returns:** mixed - #### public setLogger() : mixed ```php public setLogger(null|callable|object|\Psr\Log\LoggerInterface $value) : mixed ``` **Summary** Устанавливает логгер приложения **Details:** * Inherited From: [\YooKassa\Client\BaseClient](../classes/YooKassa-Client-BaseClient.md) ##### Parameters: | Type | Name | Description | | ---- | ---- | ----------- | | null OR callable OR object OR \Psr\Log\LoggerInterface | value | Инстанс логгера | **Returns:** mixed - #### public setMaxRequestAttempts() : $this ```php public setMaxRequestAttempts(int $attempts) : $this ``` **Summary** Установка значения количества попыток повторных запросов при статусе 202 **Details:** * Inherited From: [\YooKassa\Client\BaseClient](../classes/YooKassa-Client-BaseClient.md) ##### Parameters: | Type | Name | Description | | ---- | ---- | ----------- | | int | attempts | | **Returns:** $this - #### public setRetryTimeout() : $this ```php public setRetryTimeout(int $timeout) : $this ``` **Summary** Установка значения задержки между повторными запросами **Details:** * Inherited From: [\YooKassa\Client\BaseClient](../classes/YooKassa-Client-BaseClient.md) ##### Parameters: | Type | Name | Description | | ---- | ---- | ----------- | | int | timeout | | **Returns:** $this - #### protected decodeData() : array ```php protected decodeData(\YooKassa\Common\ResponseObject $response) : array ``` **Summary** Декодирует JSON строку в массив данных **Details:** * Inherited From: [\YooKassa\Client\BaseClient](../classes/YooKassa-Client-BaseClient.md) ##### Parameters: | Type | Name | Description | | ---- | ---- | ----------- | | \YooKassa\Common\ResponseObject | response | Объект ответа на запрос к API | **Returns:** array - Массив данных #### protected delay() : mixed ```php protected delay(\YooKassa\Common\ResponseObject $response) : mixed ``` **Summary** Задержка между повторными запросами **Details:** * Inherited From: [\YooKassa\Client\BaseClient](../classes/YooKassa-Client-BaseClient.md) ##### Parameters: | Type | Name | Description | | ---- | ---- | ----------- | | \YooKassa\Common\ResponseObject | response | Объект ответа на запрос к API | **Returns:** mixed - #### protected encodeData() : string ```php protected encodeData(array $serializedData) : string ``` **Summary** Кодирует массив данных в JSON строку **Details:** * Inherited From: [\YooKassa\Client\BaseClient](../classes/YooKassa-Client-BaseClient.md) ##### Parameters: | Type | Name | Description | | ---- | ---- | ----------- | | array | serializedData | Массив данных для кодировки | ##### Throws: | Type | Description | | ---- | ----------- | | \Exception | Выбрасывается, если не удалось конвертировать данные в строку JSON | **Returns:** string - Строка JSON #### protected execute() : mixed|\YooKassa\Common\ResponseObject ```php protected execute(string $path, string $method, array $queryParams, string|null $httpBody = null, array $headers = array()) : mixed|\YooKassa\Common\ResponseObject ``` **Summary** Выполнение запроса и обработка 202 статуса **Details:** * Inherited From: [\YooKassa\Client\BaseClient](../classes/YooKassa-Client-BaseClient.md) ##### Parameters: | Type | Name | Description | | ---- | ---- | ----------- | | string | path | URL запроса | | string | method | HTTP метод | | array | queryParams | Массив GET параметров запроса | | string OR null | httpBody | Тело запроса | | array | headers | Массив заголовков запроса | ##### Throws: | Type | Description | | ---- | ----------- | | \YooKassa\Common\Exceptions\ApiException | | | \YooKassa\Common\Exceptions\AuthorizeException | | | \YooKassa\Common\Exceptions\ApiConnectionException | | | \YooKassa\Common\Exceptions\ExtensionNotFoundException | | **Returns:** mixed|\YooKassa\Common\ResponseObject - #### protected handleError() : mixed ```php protected handleError(\YooKassa\Common\ResponseObject $response) : mixed ``` **Summary** Выбрасывает исключение по коду ошибки **Details:** * Inherited From: [\YooKassa\Client\BaseClient](../classes/YooKassa-Client-BaseClient.md) ##### Parameters: | Type | Name | Description | | ---- | ---- | ----------- | | \YooKassa\Common\ResponseObject | response | | ##### Throws: | Type | Description | | ---- | ----------- | | \YooKassa\Common\Exceptions\ApiException | Неожиданный код ошибки. | | \YooKassa\Common\Exceptions\BadApiRequestException | Неправильный запрос. Чаще всего этот статус выдается из-за нарушения правил взаимодействия с API. | | \YooKassa\Common\Exceptions\ForbiddenException | Секретный ключ или OAuth-токен верный, но не хватает прав для совершения операции. | | \YooKassa\Common\Exceptions\InternalServerError | Технические неполадки на стороне ЮKassa. Результат обработки запроса неизвестен. Повторите запрос позднее с тем же ключом идемпотентности. | | \YooKassa\Common\Exceptions\NotFoundException | Ресурс не найден. | | \YooKassa\Common\Exceptions\ResponseProcessingException | Запрос был принят на обработку, но она не завершена. | | \YooKassa\Common\Exceptions\TooManyRequestsException | Превышен лимит запросов в единицу времени. Попробуйте снизить интенсивность запросов. | | \YooKassa\Common\Exceptions\UnauthorizedException | Неверное имя пользователя или пароль или невалидный OAuth-токен при аутентификации. | | \YooKassa\Common\Exceptions\AuthorizeException | Ошибка авторизации. Не установлен заголовок. | **Returns:** mixed - --- ### Top Namespaces * [\YooKassa](../namespaces/yookassa.md) --- ### Reports * [Errors - 0](../reports/errors.md) * [Markers - 1](../reports/markers.md) * [Deprecated - 25](../reports/deprecated.md) --- This document was automatically generated from source code comments on 2023-04-06 using [phpDocumentor](http://www.phpdoc.org/) © 2023 YooMoney