Files
yookassa-sdk-php/docs/classes/YooKassa-Client-BaseClient.md
T
2025-07-01 14:52:30 +03:00

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


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:

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:

Returns: \YooKassa\Client\ApiClientInterface -

public getConfig() : array

public getConfig() : array

Summary

Возвращает настройки клиента.

Details:

Returns: array -

public isNotificationIPTrusted() : bool

public isNotificationIPTrusted(string $ip) : bool

Summary

Метод проверяет, находится ли IP адрес среди IP адресов Юkassa, с которых отправляются уведомления.

Details:

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:

Parameters:
Type Name Description
\YooKassa\Client\ApiClientInterface apiClient

Returns: $this -

public setAuth() : $this

public setAuth(string|int $login, string $password) : $this

Summary

Устанавливает авторизацию по логин/паролю.

Details:

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:

Parameters:
Type Name Description
string token

Returns: $this -

Examples:

Пример авторизации:

$client->setAuthToken('token_XXXXXXX');

public setConfig() : void

public setConfig(array $config) : void

Summary

Устанавливает настройки клиента.

Details:

Parameters:
Type Name Description
array config

Returns: void -

public setLogger() : self

public setLogger(null|callable|\Psr\Log\LoggerInterface|object $value) : self

Summary

Устанавливает логгер приложения.

Details:

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:

Parameters:
Type Name Description
int attempts

Returns: $this -

public setRetryTimeout() : $this

public setRetryTimeout(int $timeout = self::DEFAULT_DELAY) : $this

Summary

Установка значения задержки между повторными запросами.

Details:

Parameters:
Type Name Description
int timeout

Returns: $this -

protected decodeData() : array

protected decodeData(\YooKassa\Common\ResponseObject $response) : array

Summary

Декодирует JSON строку в массив данных.

Details:

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:

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:

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:

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:

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