25 KiB
YooKassa API SDK
Class: \YooKassa\Client\BaseClient
Namespace: \YooKassa\Client
Summary:
Класс, представляющий модель BaseClient.
Description:
Базовый класс Curl клиента.
Constants
| Visibility | Name | Flag | Summary |
|---|---|---|---|
| public | ME_PATH | Точка входа для запроса к API по магазину | |
| public | PAYMENTS_PATH | Точка входа для запросов к API по платежам | |
| public | REFUNDS_PATH | Точка входа для запросов к API по возвратам | |
| public | WEBHOOKS_PATH | Точка входа для запросов к API по вебхукам | |
| public | RECEIPTS_PATH | Точка входа для запросов к API по чекам | |
| public | DEALS_PATH | Точка входа для запросов к API по сделкам | |
| public | PAYOUTS_PATH | Точка входа для запросов к API по выплатам | |
| public | PERSONAL_DATA_PATH | Точка входа для запросов к API по персональным данным | |
| public | SBP_BANKS_PATH | Точка входа для запросов к API по участникам СБП | |
| public | SELF_EMPLOYED_PATH | Точка входа для запросов к API по самозанятым | |
| public | INVOICES_PATH | Точка входа для запросов к API по счетам | |
| public | IDEMPOTENCE_KEY_HEADER | Имя HTTP заголовка, используемого для передачи idempotence key | |
| public | DEFAULT_DELAY | Значение по умолчанию времени ожидания между запросами при отправке повторного запроса в случае получения ответа с HTTP статусом 202. | |
| public | DEFAULT_TRIES_COUNT | Значение по умолчанию количества попыток получения информации от API если пришёл ответ с HTTP статусом 202 | |
| public | DEFAULT_ATTEMPTS_COUNT | Значение по умолчанию количества попыток получения информации от API если пришёл ответ с HTTP статусом 202 |
Properties
| Visibility | Name | Flag | Summary |
|---|---|---|---|
| protected | $apiClient | CURL клиент | |
| protected | $attempts | Количество повторных запросов при ответе API статусом 202. | |
| protected | $config | Настройки для CURL клиента. | |
| protected | $logger | Объект для логирования работы SDK. | |
| protected | $login | shopId магазина. | |
| protected | $password | Секретный ключ магазина. | |
| protected | $timeout | Время через которое будут осуществляться повторные запросы. |
Methods
| Visibility | Name | Flag | Summary |
|---|---|---|---|
| public | __construct() | Constructor. | |
| public | getApiClient() | Возвращает CURL клиента для работы с API. | |
| public | getConfig() | Возвращает настройки клиента. | |
| public | isNotificationIPTrusted() | Метод проверяет, находится ли IP адрес среди IP адресов Юkassa, с которых отправляются уведомления. | |
| public | setApiClient() | Устанавливает CURL клиента для работы с API. | |
| public | setAuth() | Устанавливает авторизацию по логин/паролю. | |
| public | setAuthToken() | Устанавливает авторизацию по Oauth-токену. | |
| public | setConfig() | Устанавливает настройки клиента. | |
| public | setLogger() | Устанавливает логгер приложения. | |
| public | setMaxRequestAttempts() | Установка значения количества попыток повторных запросов при статусе 202. | |
| public | setRetryTimeout() | Установка значения задержки между повторными запросами. | |
| protected | decodeData() | Декодирует JSON строку в массив данных. | |
| protected | delay() | Задержка между повторными запросами. | |
| protected | encodeData() | Кодирует массив данных в JSON строку. | |
| protected | execute() | Выполнение запроса и обработка 202 статуса. | |
| protected | handleError() | Выбрасывает исключение по коду ошибки. |
Details
-
Package: YooKassa
-
Class Hierarchy:
- \YooKassa\Client\BaseClient
-
See Also:
Tags
| Tag | Version | Description |
|---|---|---|
| category | Class | |
| author | cms@yoomoney.ru |
Constants
ME_PATH
Точка входа для запроса к API по магазину
ME_PATH = '/me'
PAYMENTS_PATH
Точка входа для запросов к API по платежам
PAYMENTS_PATH = '/payments'
REFUNDS_PATH
Точка входа для запросов к API по возвратам
REFUNDS_PATH = '/refunds'
WEBHOOKS_PATH
Точка входа для запросов к API по вебхукам
WEBHOOKS_PATH = '/webhooks'
RECEIPTS_PATH
Точка входа для запросов к API по чекам
RECEIPTS_PATH = '/receipts'
DEALS_PATH
Точка входа для запросов к API по сделкам
DEALS_PATH = '/deals'
PAYOUTS_PATH
Точка входа для запросов к API по выплатам
PAYOUTS_PATH = '/payouts'
PERSONAL_DATA_PATH
Точка входа для запросов к API по персональным данным
PERSONAL_DATA_PATH = '/personal_data'
SBP_BANKS_PATH
Точка входа для запросов к API по участникам СБП
SBP_BANKS_PATH = '/sbp_banks'
SELF_EMPLOYED_PATH
Точка входа для запросов к API по самозанятым
SELF_EMPLOYED_PATH = '/self_employed'
INVOICES_PATH
Точка входа для запросов к API по счетам
INVOICES_PATH = '/invoices'
IDEMPOTENCE_KEY_HEADER
Имя HTTP заголовка, используемого для передачи idempotence key
IDEMPOTENCE_KEY_HEADER = 'Idempotence-Key'
DEFAULT_DELAY
Значение по умолчанию времени ожидания между запросами при отправке повторного запроса в случае получения ответа с HTTP статусом 202.
DEFAULT_DELAY = 1800
DEFAULT_TRIES_COUNT
Значение по умолчанию количества попыток получения информации от API если пришёл ответ с HTTP статусом 202
DEFAULT_TRIES_COUNT = 3
DEFAULT_ATTEMPTS_COUNT
Значение по умолчанию количества попыток получения информации от API если пришёл ответ с HTTP статусом 202
DEFAULT_ATTEMPTS_COUNT = 3
Properties
protected $apiClient : ?\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
Summary
Объект для логирования работы SDK.
Type: LoggerInterface
Details:
protected $login : ?int
Summary
shopId магазина.
Type: ?int
Details:
protected $password : ?string
Summary
Секретный ключ магазина.
Type: ?string
Details:
protected $timeout : int
Summary
Время через которое будут осуществляться повторные запросы.
Description
Значение по умолчанию - 1800 миллисекунд.
Type: int Значение в миллисекундах Details:
Methods
public __construct() : mixed
public __construct(?\YooKassa\Client\ApiClientInterface $apiClient = null, ?\YooKassa\Helpers\Config\ConfigurationLoaderInterface $configLoader = null) : mixed
Summary
Constructor.
Details:
- Inherited From: \YooKassa\Client\BaseClient
Parameters:
| Type | Name | Description |
|---|---|---|
?\YooKassa\Client\ApiClientInterface |
apiClient | |
?\YooKassa\Helpers\Config\ConfigurationLoaderInterface |
configLoader |
Returns: mixed -
public getApiClient() : \YooKassa\Client\ApiClientInterface
public getApiClient() : \YooKassa\Client\ApiClientInterface
Summary
Возвращает CURL клиента для работы с API.
Details:
- Inherited From: \YooKassa\Client\BaseClient
Returns: \YooKassa\Client\ApiClientInterface -
public getConfig() : array
public getConfig() : array
Summary
Возвращает настройки клиента.
Details:
- Inherited From: \YooKassa\Client\BaseClient
Returns: array -
public isNotificationIPTrusted() : bool
public isNotificationIPTrusted(string $ip) : bool
Summary
Метод проверяет, находится ли IP адрес среди IP адресов Юkassa, с которых отправляются уведомления.
Details:
- Inherited From: \YooKassa\Client\BaseClient
Parameters:
| Type | Name | Description |
|---|---|---|
string |
ip | IPv4 или IPv6 адрес webhook уведомления |
Throws:
| Type | Description |
|---|---|
| \Exception | Выбрасывается, если будет передан IP адрес неверного формата |
Returns: bool -
public setApiClient() : $this
public setApiClient(\YooKassa\Client\ApiClientInterface $apiClient) : $this
Summary
Устанавливает CURL клиента для работы с API.
Details:
- Inherited From: \YooKassa\Client\BaseClient
Parameters:
| Type | Name | Description |
|---|---|---|
\YooKassa\Client\ApiClientInterface |
apiClient |
Returns: $this -
public setAuth() : $this
public setAuth(string|int $login, string $password) : $this
Summary
Устанавливает авторизацию по логин/паролю.
Details:
- Inherited From: \YooKassa\Client\BaseClient
Parameters:
| Type | Name | Description |
|---|---|---|
string OR int |
login | |
string |
password |
Returns: $this -
Examples:
Пример авторизации:
$client->setAuth('xxxxxx', 'test_XXXXXXX');
public setAuthToken() : $this
public setAuthToken(string $token) : $this
Summary
Устанавливает авторизацию по Oauth-токену.
Details:
- Inherited From: \YooKassa\Client\BaseClient
Parameters:
| Type | Name | Description |
|---|---|---|
string |
token |
Returns: $this -
Examples:
Пример авторизации:
$client->setAuthToken('token_XXXXXXX');
public setConfig() : void
public setConfig(array $config) : void
Summary
Устанавливает настройки клиента.
Details:
- Inherited From: \YooKassa\Client\BaseClient
Parameters:
| Type | Name | Description |
|---|---|---|
array |
config |
Returns: void -
public setLogger() : self
public setLogger(null|callable|\Psr\Log\LoggerInterface|object $value) : self
Summary
Устанавливает логгер приложения.
Details:
- Inherited From: \YooKassa\Client\BaseClient
Parameters:
| Type | Name | Description |
|---|---|---|
null OR callable OR \Psr\Log\LoggerInterface OR object |
value | Инстанс логгера |
Returns: self -
public setMaxRequestAttempts() : $this
public setMaxRequestAttempts(int $attempts = self::DEFAULT_ATTEMPTS_COUNT) : $this
Summary
Установка значения количества попыток повторных запросов при статусе 202.
Details:
- Inherited From: \YooKassa\Client\BaseClient
Parameters:
| Type | Name | Description |
|---|---|---|
int |
attempts |
Returns: $this -
public setRetryTimeout() : $this
public setRetryTimeout(int $timeout = self::DEFAULT_DELAY) : $this
Summary
Установка значения задержки между повторными запросами.
Details:
- Inherited From: \YooKassa\Client\BaseClient
Parameters:
| Type | Name | Description |
|---|---|---|
int |
timeout |
Returns: $this -
protected decodeData() : array
protected decodeData(\YooKassa\Common\ResponseObject $response) : array
Summary
Декодирует JSON строку в массив данных.
Details:
- Inherited From: \YooKassa\Client\BaseClient
Parameters:
| Type | Name | Description |
|---|---|---|
\YooKassa\Common\ResponseObject |
response | Объект ответа на запрос к API |
Throws:
| Type | Description |
|---|---|
| \JsonException |
Returns: array - Массив данных
protected delay() : void
protected delay(\YooKassa\Common\ResponseObject $response) : void
Summary
Задержка между повторными запросами.
Details:
- Inherited From: \YooKassa\Client\BaseClient
Parameters:
| Type | Name | Description |
|---|---|---|
\YooKassa\Common\ResponseObject |
response | Объект ответа на запрос к API |
Throws:
| Type | Description |
|---|---|
| \JsonException |
Returns: void -
protected encodeData() : string
protected encodeData(array $serializedData) : string
Summary
Кодирует массив данных в JSON строку.
Details:
- Inherited From: \YooKassa\Client\BaseClient
Parameters:
| Type | Name | Description |
|---|---|---|
array |
serializedData | Массив данных для кодировки |
Throws:
| Type | Description |
|---|---|
| \JsonException | Выбрасывается, если не удалось конвертировать данные в строку JSON |
Returns: string - Строка JSON
protected execute() : mixed|\YooKassa\Common\ResponseObject
protected execute(string $path, string $method, array $queryParams, null|string $httpBody = null, array $headers = []) : mixed|\YooKassa\Common\ResponseObject
Summary
Выполнение запроса и обработка 202 статуса.
Details:
- Inherited From: \YooKassa\Client\BaseClient
Parameters:
| Type | Name | Description |
|---|---|---|
string |
path | URL запроса |
string |
method | HTTP метод |
array |
queryParams | Массив GET параметров запроса |
null OR string |
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() : void
protected handleError(\YooKassa\Common\ResponseObject $response) : void
Summary
Выбрасывает исключение по коду ошибки.
Details:
- Inherited From: \YooKassa\Client\BaseClient
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: void -
Top Namespaces
Reports
This document was automatically generated from source code comments on 2025-07-01 using phpDocumentor
© 2025 YooMoney