24 KiB
YooKassa API SDK
Class: \YooKassa\Client\BaseClient
Namespace: \YooKassa\Client
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 | IDEMPOTENCY_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
- File: lib/Client/BaseClient.php
- Package: YooKassa
- Class Hierarchy:
- \YooKassa\Client\BaseClient
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'
IDEMPOTENCY_KEY_HEADER
Имя HTTP заголовка, используемого для передачи idempotence key
IDEMPOTENCY_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 : 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
public __construct(\YooKassa\Client\ApiClientInterface|null $apiClient = null, \YooKassa\Helpers\Config\ConfigurationLoaderInterface|null $configLoader = null) : mixed
Summary
Constructor
Details:
- Inherited From: \YooKassa\Client\BaseClient
Parameters:
| Type | Name | Description |
|---|---|---|
\YooKassa\Client\ApiClientInterface OR null |
apiClient | |
\YooKassa\Helpers\Config\ConfigurationLoaderInterface OR null |
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 $login, string $password) : $this
Summary
Устанавливает авторизацию по логин/паролю
Details:
- Inherited From: \YooKassa\Client\BaseClient
Parameters:
| Type | Name | Description |
|---|---|---|
string |
login | |
string |
password |
Returns: $this -
Examples:
01-client.php 7 1 Пример авторизации:
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:
01-client.php 9 1 Пример авторизации:
public setConfig() : mixed
public setConfig(array $config) : mixed
Summary
Устанавливает настройки клиента
Details:
- Inherited From: \YooKassa\Client\BaseClient
Parameters:
| Type | Name | Description |
|---|---|---|
array |
config |
Returns: mixed -
public setLogger() : mixed
public setLogger(null|callable|object|\Psr\Log\LoggerInterface $value) : mixed
Summary
Устанавливает логгер приложения
Details:
- Inherited From: \YooKassa\Client\BaseClient
Parameters:
| Type | Name | Description |
|---|---|---|
null OR callable OR object OR \Psr\Log\LoggerInterface |
value | Инстанс логгера |
Returns: mixed -
public setMaxRequestAttempts() : $this
public setMaxRequestAttempts(int $attempts) : $this
Summary
Установка значения количества попыток повторных запросов при статусе 202
Details:
- Inherited From: \YooKassa\Client\BaseClient
Parameters:
| Type | Name | Description |
|---|---|---|
int |
attempts |
Returns: $this -
public setRetryTimeout() : $this
public setRetryTimeout(int $timeout) : $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 |
Returns: array - Массив данных
protected delay() : mixed
protected delay(\YooKassa\Common\ResponseObject $response) : mixed
Summary
Задержка между повторными запросами
Details:
- Inherited From: \YooKassa\Client\BaseClient
Parameters:
| Type | Name | Description |
|---|---|---|
\YooKassa\Common\ResponseObject |
response | Объект ответа на запрос к API |
Returns: mixed -
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 |
|---|---|
| \Exception | Выбрасывается, если не удалось конвертировать данные в строку JSON |
Returns: string - Строка JSON
protected execute() : mixed|\YooKassa\Common\ResponseObject
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
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
protected handleError(\YooKassa\Common\ResponseObject $response) : mixed
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: mixed -
Top Namespaces
Reports
This document was automatically generated from source code comments on 2023-04-06 using phpDocumentor
© 2023 YooMoney