122 KiB
YooKassa API SDK
Class: \YooKassa\Client
Namespace: \YooKassa
Summary:
Класс клиента API
Examples
Создание клиента
require_once '../vendor/autoload.php';
$client = new \YooKassa\Client();
// по логин/паролю
$client->setAuth('xxxxxx', 'test_XXXXXXX');
// или по oauth токену
$client->setAuthToken('token_XXXXXXX');
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 | |
| public | SDK_VERSION | Текущая версия библиотеки |
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 | addWebhook() | Создание Webhook | |
| public | cancelPayment() | Отменить незавершенную оплату заказа. | |
| public | capturePayment() | Подтверждение платежа | |
| public | createDeal() | Создание сделки. | |
| public | createPayment() | Создание платежа. | |
| public | createPayout() | Создание выплаты. | |
| public | createPersonalData() | Создание персональных данных | |
| public | createReceipt() | Отправка чека в облачную кассу | |
| public | createRefund() | Проведение возврата платежа | |
| public | createSelfEmployed() | Создание самозанятого. | |
| public | getApiClient() | Возвращает CURL клиента для работы с API | |
| public | getConfig() | Возвращает настройки клиента | |
| public | getDealInfo() | Получить информацию о сделке | |
| public | getDeals() | Получить список сделок магазина | |
| public | getPaymentInfo() | Получить информацию о платеже | |
| public | getPayments() | Получить список платежей магазина | |
| public | getPayoutInfo() | Получить информацию о выплате | |
| public | getPersonalDataInfo() | Получить информацию о персональных данных | |
| public | getReceiptInfo() | Получить информацию о чеке | |
| public | getReceipts() | Получить список чеков магазина | |
| public | getRefundInfo() | Получить информацию о возврате | |
| public | getRefunds() | Получить список возвратов платежей | |
| public | getSbpBanks() | Получить список участников СБП | |
| public | getSelfEmployedInfo() | Получить информацию о самозанятом | |
| public | getWebhooks() | Список созданных Webhook | |
| public | isNotificationIPTrusted() | Метод проверяет, находится ли IP адрес среди IP адресов Юkassa, с которых отправляются уведомления | |
| public | me() | Информация о магазине | |
| public | removeWebhook() | Удаление Webhook | |
| 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.php
- Package: YooKassa
- Class Hierarchy:
- \YooKassa\Client\BaseClient
- \YooKassa\Client
Tags
| Tag | Version | Description |
|---|---|---|
| since | 1.0.1 |
Constants
ME_PATH
Inherited from \YooKassa\Client\BaseClient
Точка входа для запроса к API по магазину
ME_PATH = '/me'
PAYMENTS_PATH
Inherited from \YooKassa\Client\BaseClient
Точка входа для запросов к API по платежам
PAYMENTS_PATH = '/payments'
REFUNDS_PATH
Inherited from \YooKassa\Client\BaseClient
Точка входа для запросов к API по возвратам
REFUNDS_PATH = '/refunds'
WEBHOOKS_PATH
Inherited from \YooKassa\Client\BaseClient
Точка входа для запросов к API по вебхукам
WEBHOOKS_PATH = '/webhooks'
RECEIPTS_PATH
Inherited from \YooKassa\Client\BaseClient
Точка входа для запросов к API по чекам
RECEIPTS_PATH = '/receipts'
DEALS_PATH
Inherited from \YooKassa\Client\BaseClient
Точка входа для запросов к API по сделкам
DEALS_PATH = '/deals'
PAYOUTS_PATH
Inherited from \YooKassa\Client\BaseClient
Точка входа для запросов к API по выплатам
PAYOUTS_PATH = '/payouts'
PERSONAL_DATA_PATH
Inherited from \YooKassa\Client\BaseClient
Точка входа для запросов к API по персональным данным
PERSONAL_DATA_PATH = '/personal_data'
SBP_BANKS_PATH
Inherited from \YooKassa\Client\BaseClient
Точка входа для запросов к API по участникам СБП
SBP_BANKS_PATH = '/sbp_banks'
SELF_EMPLOYED_PATH
Inherited from \YooKassa\Client\BaseClient
Точка входа для запросов к API по самозанятым
SELF_EMPLOYED_PATH = '/self_employed'
IDEMPOTENCY_KEY_HEADER
Inherited from \YooKassa\Client\BaseClient
Имя HTTP заголовка, используемого для передачи idempotence key
IDEMPOTENCY_KEY_HEADER = 'Idempotence-Key'
DEFAULT_DELAY
Inherited from \YooKassa\Client\BaseClient
Значение по умолчанию времени ожидания между запросами при отправке повторного запроса в случае получения ответа с HTTP статусом 202
DEFAULT_DELAY = 1800
DEFAULT_TRIES_COUNT
Inherited from \YooKassa\Client\BaseClient
Значение по умолчанию количества попыток получения информации от API если пришёл ответ с HTTP статусом 202
DEFAULT_TRIES_COUNT = 3
DEFAULT_ATTEMPTS_COUNT
Inherited from \YooKassa\Client\BaseClient
Значение по умолчанию количества попыток получения информации от API если пришёл ответ с HTTP статусом 202
DEFAULT_ATTEMPTS_COUNT = 3
SDK_VERSION
Текущая версия библиотеки
SDK_VERSION = '2.12.2'
Properties
protected $apiClient : null|\YooKassa\Client\ApiClientInterface
Summary
CURL клиент
Type: ApiClientInterface
Details:
- Inherited From: \YooKassa\Client\BaseClient
protected $attempts : int
Summary
Количество повторных запросов при ответе API статусом 202
Description
Значение по умолчанию 3
Type: int
Details:
- Inherited From: \YooKassa\Client\BaseClient
protected $config : array
Summary
Настройки для CURL клиента
Type: array
Details:
- Inherited From: \YooKassa\Client\BaseClient
protected $logger : \Psr\Log\LoggerInterface|null
Summary
Объект для логирования работы SDK
Type: LoggerInterface|null
Details:
- Inherited From: \YooKassa\Client\BaseClient
protected $login : string|int
Summary
shopId магазина
Type: string|int
Details:
- Inherited From: \YooKassa\Client\BaseClient
protected $password : string
Summary
Секретный ключ магазина
Type: string
Details:
- Inherited From: \YooKassa\Client\BaseClient
protected $timeout : int
Summary
Время через которое будут осуществляться повторные запросы
Description
Значение по умолчанию - 1800 миллисекунд.
Type: int Значение в миллисекундах Details:
- Inherited From: \YooKassa\Client\BaseClient
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 addWebhook() : \YooKassa\Model\Webhook\Webhook|null
public addWebhook(\YooKassa\Model\Webhook\Webhook|array $request, string|null $idempotencyKey = null) : \YooKassa\Model\Webhook\Webhook|null
Summary
Создание Webhook
Description
Запрос позволяет подписаться на уведомления о событии (например, на переход платежа в статус successed).
Details:
- Inherited From: \YooKassa\Client
Parameters:
| Type | Name | Description |
|---|---|---|
\YooKassa\Model\Webhook\Webhook OR array |
request | |
string OR null |
idempotencyKey | Ключ идемпотентности |
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\ExtensionNotFoundException | Требуемое PHP расширение не установлено. |
| \Exception |
Returns: \YooKassa\Model\Webhook\Webhook|null -
Examples:
Создание Webhook:
// В данном примере мы устанавливаем вебхуки для succeeded и canceled уведомлений.
// А так же проверяем, не установлены ли уже вебхуки. И если установлены на неверный адрес, удаляем.
$client->setAuthToken('token_XXXXXXX');
try {
$webHookUrl = 'https://merchant-site.ru/payment-notification';
$needWebHookList = array(
\YooKassa\Model\NotificationEventType::PAYMENT_SUCCEEDED,
\YooKassa\Model\NotificationEventType::PAYMENT_CANCELED
);
$currentWebHookList = $client->getWebhooks()->getItems();
foreach ($needWebHookList as $event) {
$hookIsSet = false;
foreach ($currentWebHookList as $webHook) {
if ($webHook->getEvent() !== $event) {
continue;
}
if ($webHook->getUrl() !== $webHookUrl) {
$client->removeWebhook($webHook->getId());
} else {
$hookIsSet = true;
}
break;
}
if (!$hookIsSet) {
$client->addWebhook(array('event' => $event, 'url' => $webHookUrl));
}
}
$response = 'SUCCESS';
} catch (\Exception $e) {
$response = $e;
}
var_dump($response);
public cancelPayment() : \YooKassa\Request\Payments\Payment\CancelResponse|null
public cancelPayment(string $paymentId, string|null $idempotencyKey = null) : \YooKassa\Request\Payments\Payment\CancelResponse|null
Summary
Отменить незавершенную оплату заказа.
Description
Отменяет платеж, находящийся в статусе waiting_for_capture. Отмена платежа значит, что вы
не готовы выдать пользователю товар или оказать услугу. Как только вы отменяете платеж, мы начинаем
возвращать деньги на счет плательщика. Для платежей банковскими картами отмена происходит мгновенно.
Для остальных способов оплаты возврат может занимать до нескольких дней.
Details:
- Inherited From: \YooKassa\Client
Parameters:
| Type | Name | Description |
|---|---|---|
string |
paymentId | Идентификатор платежа |
string OR null |
idempotencyKey | Ключ идемпотентности |
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\ExtensionNotFoundException | Требуемое PHP расширение не установлено. |
| \Exception |
Returns: \YooKassa\Request\Payments\Payment\CancelResponse|null -
Examples:
Отменить незавершенную оплату заказа:
$paymentId = '24e89cb0-000f-5000-9000-1de77fa0d6df';
try {
$response = $client->cancelPayment($paymentId, uniqid('', true));
echo $response->getStatus();
} catch (\Exception $e) {
$response = $e;
}
var_dump($response);
public capturePayment() : \YooKassa\Request\Payments\Payment\CreateCaptureResponse|null
public capturePayment(\YooKassa\Request\Payments\Payment\CreateCaptureRequestInterface|array $captureRequest, string $paymentId, string|null $idempotencyKey = null) : \YooKassa\Request\Payments\Payment\CreateCaptureResponse|null
Summary
Подтверждение платежа
Description
Подтверждает вашу готовность принять платеж. Платеж можно подтвердить, только если он находится
в статусе waiting_for_capture. Если платеж подтвержден успешно — значит, оплата прошла, и вы можете выдать
товар или оказать услугу пользователю. На следующий день после подтверждения платеж попадет в реестр,
и ЮKassa переведет деньги на ваш расчетный счет. Если вы не подтверждаете платеж до момента, указанного
в expire_at, по умолчанию он отменяется, а деньги возвращаются пользователю. При оплате банковской картой
у вас есть 7 дней на подтверждение платежа. Для остальных способов оплаты платеж необходимо подтвердить
в течение 6 часов.
Details:
- Inherited From: \YooKassa\Client
Parameters:
| Type | Name | Description |
|---|---|---|
\YooKassa\Request\Payments\Payment\CreateCaptureRequestInterface OR array |
captureRequest | |
string |
paymentId | Идентификатор платежа |
string OR null |
idempotencyKey | Ключ идемпотентности |
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\ExtensionNotFoundException | Требуемое PHP расширение не установлено. |
| \Exception |
Returns: \YooKassa\Request\Payments\Payment\CreateCaptureResponse|null -
Examples:
Подтверждение платежа:
$paymentId = '24e89cb0-000f-5000-9000-1de77fa0d6df';
try {
$response = $client->capturePayment(
array(
'amount' => array(
'value' => '1500.00',
'currency' => 'RUB',
),
'transfers' => array(
array(
'account_id' => '123',
'amount' => array(
'value' => '1000.00',
'currency' => 'RUB',
),
),
array(
'account_id' => '456',
'amount' => array(
'value' => '500.00',
'currency' => 'RUB',
),
),
),
),
$paymentId,
uniqid('', true)
);
echo $response->getStatus();
} catch (\Exception $e) {
$response = $e;
}
var_dump($response);
public createDeal() : \YooKassa\Request\Deals\CreateDealResponse|null
public createDeal(\YooKassa\Request\Deals\CreateDealRequestInterface|array $deal, string|null $idempotenceKey = null) : \YooKassa\Request\Deals\CreateDealResponse|null
Summary
Создание сделки.
Description
Запрос позволяет создать сделку, в рамках которой необходимо принять оплату от покупателя и перечислить ее продавцу.
Необходимо указать следующие параметры:
- type — Тип сделки. Фиксированное значение: safe_deal — Безопасная сделка;
- fee_moment — Момент перечисления вам вознаграждения платформы. Возможные значения: payment_succeeded — после успешной оплаты;
- deal_closed — при закрытии сделки после успешной выплаты.
Дополнительные параметры:
- metadata — Любые дополнительные данные, которые нужны вам для работы (например, ваш внутренний идентификатор заказа);
- description — Описание сделки (не более 128 символов). Используется для фильтрации при получении списка сделок.
Details:
- Inherited From: \YooKassa\Client
Parameters:
| Type | Name | Description |
|---|---|---|
\YooKassa\Request\Deals\CreateDealRequestInterface OR array |
deal | |
string OR null |
idempotenceKey | Ключ идемпотентности |
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\ExtensionNotFoundException | Требуемое PHP расширение не установлено. |
Returns: \YooKassa\Request\Deals\CreateDealResponse|null -
Examples:
Запрос на создание сделки:
try {
$response = $client->createDeal(
array(
'type' => \YooKassa\Model\Deal\DealType::SAFE_DEAL,
'fee_moment' => \YooKassa\Model\Deal\FeeMoment::PAYMENT_SUCCEEDED,
'metadata' => array(
'order_id' => '37',
),
'description' => 'SAFE_DEAL 123554642-2432FF344R',
),
uniqid('', true)
);
echo $response->getStatus();
} catch (\Exception $e) {
$response = $e;
}
var_dump($response);
public createPayment() : \YooKassa\Request\Payments\CreatePaymentResponse|null
public createPayment(\YooKassa\Request\Payments\CreatePaymentRequestInterface|array $payment, string|null $idempotenceKey = null) : \YooKassa\Request\Payments\CreatePaymentResponse|null
Summary
Создание платежа.
Description
Чтобы принять оплату, необходимо создать объект платежа — Payment. Он содержит всю необходимую информацию
для проведения оплаты (сумму, валюту и статус). У платежа линейный жизненный цикл, он последовательно
переходит из статуса в статус.
Необходимо указать один из параметров:
- payment_token — оплата по одноразовому PaymentToken, сформированному виджетом YooKassa JS;
- payment_method_id — оплата по сохраненным платежным данным;
- payment_method_data — оплата по новым платежным данным.
Если не указан ни один параметр и confirmation.type = redirect, то в качестве confirmation_url
возвращается ссылка, по которой пользователь сможет самостоятельно выбрать подходящий способ оплаты.
Дополнительные параметры:
- confirmation — передается, если необходимо уточнить способ подтверждения платежа;
- recipient — указывается при наличии нескольких товаров;
- metadata — дополнительные данные (передаются магазином).
Details:
- Inherited From: \YooKassa\Client
Parameters:
| Type | Name | Description |
|---|---|---|
\YooKassa\Request\Payments\CreatePaymentRequestInterface OR array |
payment | |
string OR null |
idempotenceKey | Ключ идемпотентности |
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\ExtensionNotFoundException | Требуемое PHP расширение не установлено. |
Returns: \YooKassa\Request\Payments\CreatePaymentResponse|null -
Examples:
Запрос на создание платежа:
try {
$idempotenceKey = uniqid('', true);
$response = $client->createPayment(
array(
'amount' => array(
'value' => '1.00',
'currency' => 'RUB',
),
'confirmation' => array(
'type' => 'redirect',
'return_url' => 'https://merchant-site.ru/payment-notification',
),
'description' => 'Оплата заказа на сумму 1 руб',
'metadata' => array(
'orderNumber' => 1001
),
'capture' => true,
),
$idempotenceKey
);
$confirmation = $response->getConfirmation();
$redirectUrl = $confirmation->getConfirmationUrl();
// Далее производим редирект на полученный URL
} catch (\Exception $e) {
$response = $e;
}
var_dump($response);
public createPayout() : \YooKassa\Request\Payouts\CreatePayoutResponse|null
public createPayout(\YooKassa\Request\Payouts\CreatePayoutRequestInterface|array $payout, string|null $idempotenceKey = null) : \YooKassa\Request\Payouts\CreatePayoutResponse|null
Summary
Создание выплаты.
Description
Запрос позволяет перечислить продавцу оплату за выполненную услугу или проданный товар в рамках Безопасной сделки. Выплату можно сделать на банковскую карту или на кошелек ЮMoney.
Обязательный параметр:
- amount — сумма выплаты. Есть ограничения на минимальный и максимальный размер выплаты и сумму выплат за месяц.
Необходимо указать один из параметров:
- payout_destination_data — данные платежного средства, на которое нужно сделать выплату;
- payout_token — токенизированные данные для выплаты. Например, синоним банковской карты.
Дополнительные параметры:
- description — описание транзакции (не более 128 символов);
- deal — сделка, в рамках которой нужно провести выплату. Необходимо передавать, если вы проводите Безопасную сделку;
- metadata — любые дополнительные данные, которые нужны вам для работы (например, ваш внутренний идентификатор заказа).
Details:
- Inherited From: \YooKassa\Client
Parameters:
| Type | Name | Description |
|---|---|---|
\YooKassa\Request\Payouts\CreatePayoutRequestInterface OR array |
payout | |
string OR null |
idempotenceKey | Ключ идемпотентности |
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\ExtensionNotFoundException | Требуемое PHP расширение не установлено. |
Returns: \YooKassa\Request\Payouts\CreatePayoutResponse|null -
Examples:
Запрос на создание выплаты:
// Создание выплаты
$request = array(
'amount' => array(
'value' => '80.00',
'currency' => 'RUB',
),
'payout_destination_data' => array(
'type' => \YooKassa\Model\PaymentMethodType::YOO_MONEY,
'accountNumber' => '4100116075156746',
),
'description' => 'Выплата по заказу №37',
'metadata' => array(
'order_id' => '37'
),
'deal' => array(
'id' => 'dl-2909e77d-0022-5000-8000-0c37205b3208',
),
);
$idempotenceKey = uniqid('', true);
try {
$idempotenceKey = uniqid('', true);
$result = $client->createPayout($request, $idempotenceKey);
} catch (\Exception $e) {
$result = $e;
}
var_dump($result);
public createPersonalData() : \YooKassa\Request\PersonalData\PersonalDataResponse|null
public createPersonalData(\YooKassa\Request\PersonalData\CreatePersonalDataRequestInterface|array $request, string|null $idempotencyKey = null) : \YooKassa\Request\PersonalData\PersonalDataResponse|null
Summary
Создание персональных данных
Description
Используйте этот запрос, чтобы создать в ЮKassa объект персональных данных. В запросе необходимо передать фамилию, имя, отчество пользователя и указать, с какой целью эти данные будут использоваться. Идентификатор созданного объекта персональных данных необходимо использовать в запросе на проведение выплаты через СБП с проверкой получателя. Подробнее о выплатах с проверкой получателя
Details:
- Inherited From: \YooKassa\Client
Parameters:
| Type | Name | Description |
|---|---|---|
\YooKassa\Request\PersonalData\CreatePersonalDataRequestInterface OR array |
request | |
string OR null |
idempotencyKey | Ключ идемпотентности |
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\ExtensionNotFoundException | Требуемое PHP расширение не установлено. |
| \Exception |
Returns: \YooKassa\Request\PersonalData\PersonalDataResponse|null - Объект персональных данных
Examples:
Запрос на создание персональных данных:
$request = array(
'type' => 'sbp_payout_recipient',
'last_name' => 'Иванов',
'first_name' => 'Иван',
'middle_name' => 'Иванович',
'metadata' => array('recipient_id' => '37'),
);
$idempotenceKey = uniqid('', true);
try {
$idempotenceKey = uniqid('', true);
$result = $client->createPersonalData($request, $idempotenceKey);
} catch (\Exception $e) {
$result = $e;
}
var_dump($result);
public createReceipt() : \YooKassa\Request\Receipts\AbstractReceiptResponse|null
public createReceipt(\YooKassa\Request\Receipts\CreatePostReceiptRequestInterface|array $receipt, string|null $idempotenceKey = null) : \YooKassa\Request\Receipts\AbstractReceiptResponse|null
Summary
Отправка чека в облачную кассу
Description
Создает объект чека — Receipt. Возвращает успешно созданный чек по уникальному идентификатору
платежа или возврата.
Details:
- Inherited From: \YooKassa\Client
Parameters:
| Type | Name | Description |
|---|---|---|
\YooKassa\Request\Receipts\CreatePostReceiptRequestInterface OR array |
receipt | |
string OR null |
idempotenceKey | Ключ идемпотентности |
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\ExtensionNotFoundException | Требуемое PHP расширение не установлено. |
| \YooKassa\Common\Exceptions\AuthorizeException | Ошибка авторизации. Не установлен заголовок. |
| \Exception |
Returns: \YooKassa\Request\Receipts\AbstractReceiptResponse|null -
Examples:
Запрос на создание чека:
try {
$response = $client->createReceipt(
array(
'customer' => array(
'email' => 'johndoe@yoomoney.ru',
'phone' => '79000000000',
),
'type' => 'payment',
'payment_id' => '24e89cb0-000f-5000-9000-1de77fa0d6df',
'on_behalf_of' => '123',
'send' => true,
'items' => array(
array(
'description' => 'Платок Gucci',
'quantity' => '1.00',
'amount' => array(
'value' => '3000.00',
'currency' => 'RUB',
),
'vat_code' => 2,
'payment_mode' => 'full_payment',
'payment_subject' => 'commodity',
),
),
'tax_system_code' => 1,
),
uniqid('', true)
);
echo $response->getStatus();
} catch (\Exception $e) {
$response = $e;
}
var_dump($response);
public createRefund() : \YooKassa\Request\Refunds\CreateRefundResponse|null
public createRefund(\YooKassa\Request\Refunds\CreateRefundRequestInterface|array $request, string|null $idempotencyKey = null) : \YooKassa\Request\Refunds\CreateRefundResponse|null
Summary
Проведение возврата платежа
Description
Создает объект возврата — Refund. Возвращает успешно завершенный платеж по уникальному идентификатору
этого платежа. Создание возврата возможно только для платежей в статусе succeeded. Комиссии за проведение
возврата нет. Комиссия, которую ЮKassa берёт за проведение исходного платежа, не возвращается.
Details:
- Inherited From: \YooKassa\Client
Parameters:
| Type | Name | Description |
|---|---|---|
\YooKassa\Request\Refunds\CreateRefundRequestInterface OR array |
request | |
string OR null |
idempotencyKey | Ключ идемпотентности |
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\ExtensionNotFoundException | Требуемое PHP расширение не установлено. |
| \Exception |
Returns: \YooKassa\Request\Refunds\CreateRefundResponse|null -
Examples:
Запрос на создание возврата:
try {
$response = $client->createRefund(
array(
'payment_id' => '24e89cb0-000f-5000-9000-1de77fa0d6df',
'amount' => array(
'value' => '1000.00',
'currency' => 'RUB',
),
'sources' => array(
array(
'account_id' => '456',
'amount' => array(
'value' => '1000.00',
'currency' => 'RUB',
)
),
),
),
uniqid('', true)
);
echo $response->getStatus();
} catch (\Exception $e) {
$response = $e;
}
var_dump($response);
public createSelfEmployed() : \YooKassa\Request\SelfEmployed\SelfEmployedResponse|null
public createSelfEmployed(\YooKassa\Request\SelfEmployed\SelfEmployedRequest|array $selfEmployed, string|null $idempotenceKey = null) : \YooKassa\Request\SelfEmployed\SelfEmployedResponse|null
Summary
Создание самозанятого.
Description
Используйте этот запрос, чтобы создать в ЮKassa объект самозанятого.
В запросе необходимо передать ИНН или телефон самозанятого для идентификации в сервисе Мой налог, сценарий подтверждения пользователем заявки ЮMoney на получение прав для регистрации чеков и описание самозанятого.
Идентификатор созданного объекта самозанятого необходимо использовать в запросе на проведение выплаты.
Details:
- Inherited From: \YooKassa\Client
Parameters:
| Type | Name | Description |
|---|---|---|
\YooKassa\Request\SelfEmployed\SelfEmployedRequest OR array |
selfEmployed | |
string OR null |
idempotenceKey | Ключ идемпотентности |
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\ExtensionNotFoundException | Требуемое PHP расширение не установлено. |
Returns: \YooKassa\Request\SelfEmployed\SelfEmployedResponse|null -
Examples:
Запрос на создание самозанятого:
$request = array(
'itn' => '123456789012',
'phone' => '79001002030',
'confirmation' => array('type' => 'redirect'),
);
$idempotenceKey = uniqid('', true);
try {
$idempotenceKey = uniqid('', true);
$result = $client->createSelfEmployed($request, $idempotenceKey);
} catch (\Exception $e) {
$result = $e;
}
var_dump($result);
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 getDealInfo() : \YooKassa\Model\DealInterface|null
public getDealInfo(string $dealId) : \YooKassa\Model\DealInterface|null
Summary
Получить информацию о сделке
Description
Запрос позволяет получить информацию о текущем состоянии сделки по её уникальному идентификатору. Выдает объект чека {@link} в актуальном статусе.
Details:
- Inherited From: \YooKassa\Client
Parameters:
| Type | Name | Description |
|---|---|---|
string |
dealId | Идентификатор сделки |
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\ExtensionNotFoundException | Требуемое PHP расширение не установлено. |
Returns: \YooKassa\Model\DealInterface|null -
Examples:
Получить информацию о сделке:
try {
$response = $client->getDealInfo('dl-2909e77d-1022-5003-8004-0c37205b3208');
echo $response->getStatus();
} catch (\Exception $e) {
$response = $e;
}
var_dump($response);
public getDeals() : \YooKassa\Request\Deals\DealsResponse|null
public getDeals(\YooKassa\Request\Deals\DealsRequestInterface|array|null $filter = null) : \YooKassa\Request\Deals\DealsResponse|null
Summary
Получить список сделок магазина
Description
Запрос позволяет получить список сделок, отфильтрованный по заданным критериям.
В ответ на запрос вернется список сделок с учетом переданных параметров. В списке будет информация о сделках,
созданных за последние 3 года. Список будет отсортирован по времени создания сделок в порядке убывания.
Если результатов больше, чем задано в limit, список будет выводиться фрагментами.
В этом случае в ответе на запрос вернется фрагмент списка и параметр next_cursor с указателем на следующий фрагмент.
Details:
- Inherited From: \YooKassa\Client
Parameters:
| Type | Name | Description |
|---|---|---|
\YooKassa\Request\Deals\DealsRequestInterface OR array OR null |
filter |
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\ExtensionNotFoundException | Требуемое PHP расширение не установлено. |
| \Exception |
Returns: \YooKassa\Request\Deals\DealsResponse|null -
Examples:
Получить список сделок с фильтрацией:
$cursor = null;
$params = array(
'limit' => 30,
'status' => \YooKassa\Model\Deal\DealStatus::OPENED,
'full_text_search' => 'DEAL',
'created_at_gte' => '2021-10-01T00:00:00.000Z',
'created_at_lt' => '2021-11-01T23:59:59.999Z',
);
try {
do {
$params['cursor'] = $cursor;
$deals = $client->getDeals($params);
foreach ($deals->getItems() as $deal) {
$res = array(
$deal->getCreatedAt()->format('Y-m-d H:i:s'),
$deal->getBalance()->getValue() . ' ' . $deal->getBalance()->getCurrency(),
$deal->getPayoutBalance()->getValue() . ' ' . $deal->getBalance()->getCurrency(),
$deal->getStatus(),
$deal->getId(),
);
echo implode(' - ', $res) . "\n";
}
} while ($cursor = $deals->getNextCursor());
} catch (\Exception $e) {
$response = $e;
var_dump($response);
}
public getPaymentInfo() : \YooKassa\Model\PaymentInterface|null
public getPaymentInfo(string $paymentId) : \YooKassa\Model\PaymentInterface|null
Summary
Получить информацию о платеже
Description
Запрос позволяет получить информацию о текущем состоянии платежа по его уникальному идентификатору. Выдает объект платежа {@link} в актуальном статусе.
Details:
- Inherited From: \YooKassa\Client
Parameters:
| Type | Name | Description |
|---|---|---|
string |
paymentId | Идентификатор платежа |
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\ExtensionNotFoundException | Требуемое PHP расширение не установлено. |
Returns: \YooKassa\Model\PaymentInterface|null - Объект платежа
Examples:
Получить информацию о платеже:
try {
$response = $client->getPaymentInfo('24e89cb0-000f-5000-9000-1de77fa0d6df');
echo $response->getStatus();
} catch (\Exception $e) {
$response = $e;
}
var_dump($response);
public getPayments() : \YooKassa\Request\Payments\PaymentsResponse|null
public getPayments(\YooKassa\Request\Payments\PaymentsRequestInterface|array|null $filter = null) : \YooKassa\Request\Payments\PaymentsResponse|null
Summary
Получить список платежей магазина
Description
Запрос позволяет получить список платежей, отфильтрованный по заданным критериям.
В ответ на запрос вернется список платежей с учетом переданных параметров. В списке будет информация о платежах,
созданных за последние 3 года. Список будет отсортирован по времени создания платежей в порядке убывания.
Если результатов больше, чем задано в limit, список будет выводиться фрагментами. В этом случае в ответе
на запрос вернется фрагмент списка и параметр next_cursor с указателем на следующий фрагмент.
Details:
- Inherited From: \YooKassa\Client
Parameters:
| Type | Name | Description |
|---|---|---|
\YooKassa\Request\Payments\PaymentsRequestInterface OR array OR null |
filter |
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\ExtensionNotFoundException | Требуемое PHP расширение не установлено. |
| \Exception |
Returns: \YooKassa\Request\Payments\PaymentsResponse|null -
Examples:
Получить список платежей магазина с фильтрацией:
$cursor = null;
$params = array(
'limit' => 30,
'status' => \YooKassa\Model\PaymentStatus::CANCELED,
'payment_method' => \YooKassa\Model\PaymentMethodType::BANK_CARD,
'created_at_gte' => '2021-01-01T00:00:00.000Z',
'created_at_lt' => '2021-03-30T23:59:59.999Z',
);
try {
do {
$params['cursor'] = $cursor;
$payments = $client->getPayments($params);
foreach ($payments->getItems() as $payment) {
echo $payment->getCreatedAt()->format('Y-m-d H:i:s') . ' - ' .
$payment->getStatus() . ' - ' .
$payment->getId() . "\n";
}
} while ($cursor = $payments->getNextCursor());
} catch (\Exception $e) {
$response = $e;
}
var_dump($response);
public getPayoutInfo() : \YooKassa\Model\PayoutInterface|null
public getPayoutInfo(string $payoutId) : \YooKassa\Model\PayoutInterface|null
Summary
Получить информацию о выплате
Description
Запрос позволяет получить информацию о текущем состоянии выплаты по ее уникальному идентификатору. Выдает объект выплаты {@link} в актуальном статусе.
Details:
- Inherited From: \YooKassa\Client
Parameters:
| Type | Name | Description |
|---|---|---|
string |
payoutId | Идентификатор выплаты |
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\ExtensionNotFoundException | Требуемое PHP расширение не установлено. |
Returns: \YooKassa\Model\PayoutInterface|null - Объект выплаты
Examples:
Получить информацию о выплате:
$payoutId = 'po-285c0ab7-0003-5000-9000-0e1166498fda';
try {
$response = $client->getPayoutInfo($payoutId);
} catch (\Exception $e) {
$response = $e;
}
var_dump($response);
public getPersonalDataInfo() : \YooKassa\Model\PersonalData\PersonalDataInterface|null
public getPersonalDataInfo(string $personalDataId) : \YooKassa\Model\PersonalData\PersonalDataInterface|null
Summary
Получить информацию о персональных данных
Description
Запрос позволяет получить информацию о текущем состоянии персональных данных по их уникальному идентификатору. Выдает объект платежа {@link} в актуальном статусе.
Details:
- Inherited From: \YooKassa\Client
Parameters:
| Type | Name | Description |
|---|---|---|
string |
personalDataId | Идентификатор персональных данных |
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\ExtensionNotFoundException | Требуемое PHP расширение не установлено. |
Returns: \YooKassa\Model\PersonalData\PersonalDataInterface|null - Объект персональных данных
Examples:
Получить информацию о персональных данных:
$payoutId = 'pd-285c0ab7-0003-5000-9000-0e1166498fda';
try {
$response = $client->getPersonalDataInfo($payoutId);
} catch (\Exception $e) {
$response = $e;
}
var_dump($response);
public getReceiptInfo() : \YooKassa\Request\Receipts\ReceiptResponseInterface|null
public getReceiptInfo(string $receiptId) : \YooKassa\Request\Receipts\ReceiptResponseInterface|null
Summary
Получить информацию о чеке
Description
Запрос позволяет получить информацию о текущем состоянии чека по его уникальному идентификатору. Выдает объект чека {@link} в актуальном статусе.
Details:
- Inherited From: \YooKassa\Client
Parameters:
| Type | Name | Description |
|---|---|---|
string |
receiptId | Идентификатор чека |
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\ExtensionNotFoundException | Требуемое PHP расширение не установлено. |
Returns: \YooKassa\Request\Receipts\ReceiptResponseInterface|null -
Examples:
Получить информацию о чеке:
try {
$response = $client->getReceiptInfo('ra-27ed1660-0001-0050-7a5e-10f80e0f0f29');
echo $response->getStatus();
} catch (\Exception $e) {
$response = $e;
}
var_dump($response);
public getReceipts() : \YooKassa\Request\Receipts\ReceiptsResponse
public getReceipts(\YooKassa\Model\PaymentInterface|\YooKassa\Model\RefundInterface|array|null $filter = null) : \YooKassa\Request\Receipts\ReceiptsResponse
Summary
Получить список чеков магазина
Description
Запрос позволяет получить список чеков, отфильтрованный по заданным критериям.
Можно запросить чеки по конкретному платежу, чеки по конкретному возврату или все чеки магазина.
В ответ на запрос вернется список чеков с учетом переданных параметров. В списке будет информация о чеках,
созданных за последние 3 года. Список будет отсортирован по времени создания чеков в порядке убывания.
Если результатов больше, чем задано в limit, список будет выводиться фрагментами.
В этом случае в ответе на запрос вернется фрагмент списка и параметр next_cursor с указателем на следующий фрагмент.
Details:
- Inherited From: \YooKassa\Client
Parameters:
| Type | Name | Description |
|---|---|---|
\YooKassa\Model\PaymentInterface OR \YooKassa\Model\RefundInterface OR array OR null |
filter |
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\ExtensionNotFoundException | Требуемое PHP расширение не установлено. |
| \Exception |
Returns: \YooKassa\Request\Receipts\ReceiptsResponse -
Examples:
Получить список чеков магазина с фильтрацией:
$cursor = null;
$params = array(
'limit' => 30,
'status' => \YooKassa\Model\ReceiptRegistrationStatus::SUCCEEDED,
'payment_id' => '1da5c87d-0984-50e8-a7f3-8de646dd9ec9',
'created_at_gte' => '2021-01-01T00:00:00.000Z',
'created_at_lt' => '2021-03-30T23:59:59.999Z',
);
try {
do {
$params['cursor'] = $cursor;
$receipts = $client->getReceipts($params);
foreach ($receipts->getItems() as $receipt) {
echo $receipt->getStatus() . ' - ' . $receipt->getId() . "\n";
}
} while ($cursor = $receipts->getNextCursor());
} catch (\Exception $e) {
$response = $e;
}
var_dump($response);
public getRefundInfo() : \YooKassa\Request\Refunds\RefundResponse|null
public getRefundInfo(string $refundId) : \YooKassa\Request\Refunds\RefundResponse|null
Summary
Получить информацию о возврате
Description
Запрос позволяет получить информацию о текущем состоянии возврата по его уникальному идентификатору. В ответ на запрос придет объект возврата {@link} в актуальном статусе.
Details:
- Inherited From: \YooKassa\Client
Parameters:
| Type | Name | Description |
|---|---|---|
string |
refundId | Идентификатор возврата |
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\ExtensionNotFoundException | Требуемое PHP расширение не установлено. |
| \Exception |
Returns: \YooKassa\Request\Refunds\RefundResponse|null -
Examples:
Получить информацию о возврате:
try {
$response = $client->getRefundInfo('216749f7-0016-50be-b000-078d43a63ae4');
echo $response->getStatus();
} catch (\Exception $e) {
$response = $e;
}
var_dump($response);
public getRefunds() : \YooKassa\Request\Refunds\RefundsResponse|null
public getRefunds(\YooKassa\Request\Refunds\RefundsRequestInterface|array|null $filter = null) : \YooKassa\Request\Refunds\RefundsResponse|null
Summary
Получить список возвратов платежей
Description
Запрос позволяет получить список возвратов, отфильтрованный по заданным критериям.
В ответ на запрос вернется список возвратов с учетом переданных параметров. В списке будет информация о возвратах,
созданных за последние 3 года. Список будет отсортирован по времени создания возвратов в порядке убывания.
Если результатов больше, чем задано в limit, список будет выводиться фрагментами. В этом случае в ответе
на запрос вернется фрагмент списка и параметр next_cursor с указателем на следующий фрагмент.
Details:
- Inherited From: \YooKassa\Client
Parameters:
| Type | Name | Description |
|---|---|---|
\YooKassa\Request\Refunds\RefundsRequestInterface OR array OR null |
filter |
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\ExtensionNotFoundException | Требуемое PHP расширение не установлено. |
| \Exception |
Returns: \YooKassa\Request\Refunds\RefundsResponse|null -
Examples:
Получить список возвратов платежей магазина с фильтрацией:
$cursor = null;
$params = array(
'limit' => 30,
'status' => \YooKassa\Model\RefundStatus::SUCCEEDED,
'payment_id' => '1da5c87d-0984-50e8-a7f3-8de646dd9ec9',
'created_at_gte' => '2021-01-01T00:00:00.000Z',
'created_at_lt' => '2021-03-30T23:59:59.999Z',
);
try {
do {
$params['cursor'] = $cursor;
$refunds = $client->getRefunds($params);
foreach ($refunds->getItems() as $refund) {
echo $refund->getCreatedAt()->format('Y-m-d H:i:s') . ' - ' .
$refund->getStatus() . ' - ' .
$refund->getId() . "\n";
}
} while ($cursor = $refunds->getNextCursor());
} catch (\Exception $e) {
$response = $e;
}
var_dump($response);
public getSbpBanks() : \YooKassa\Request\Payouts\SbpBanksResponse|null
public getSbpBanks() : \YooKassa\Request\Payouts\SbpBanksResponse|null
Summary
Получить список участников СБП
Description
С помощью этого запроса вы можете получить актуальный список всех участников СБП. Список нужно вывести получателю выплаты, идентификатор выбранного участника СБП необходимо использовать в запросе на создание выплаты.
Details:
- Inherited From: \YooKassa\Client
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\ExtensionNotFoundException | Требуемое PHP расширение не установлено. |
Returns: \YooKassa\Request\Payouts\SbpBanksResponse|null -
Examples:
Получить информацию о персональных данных:
$payoutId = 'pd-285c0ab7-0003-5000-9000-0e1166498fda';
try {
$response = $client->getPersonalDataInfo($payoutId);
} catch (\Exception $e) {
$response = $e;
}
public getSelfEmployedInfo() : \YooKassa\Model\SelfEmployed\SelfEmployedInterface|null
public getSelfEmployedInfo(string $selfEmployedId) : \YooKassa\Model\SelfEmployed\SelfEmployedInterface|null
Summary
Получить информацию о самозанятом
Description
С помощью этого запроса вы можете получить информацию о текущем статусе самозанятого по его уникальному идентификатору.
Details:
- Inherited From: \YooKassa\Client
Parameters:
| Type | Name | Description |
|---|---|---|
string |
selfEmployedId | Идентификатор самозанятого |
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\ExtensionNotFoundException | Требуемое PHP расширение не установлено. |
Returns: \YooKassa\Model\SelfEmployed\SelfEmployedInterface|null - Объект информации о самозанятом
Examples:
Получить информацию о самозанятом:
$payoutId = 'se-285c0ab7-0003-5000-9000-0e1166498fda';
try {
$response = $client->getSelfEmployedInfo($payoutId);
} catch (\Exception $e) {
$response = $e;
}
var_dump($response);
public getWebhooks() : \YooKassa\Request\Webhook\WebhookListResponse|null
public getWebhooks() : \YooKassa\Request\Webhook\WebhookListResponse|null
Summary
Список созданных Webhook
Description
Запрос позволяет узнать, какие webhook есть для переданного OAuth-токена.
Details:
- Inherited From: \YooKassa\Client
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\ExtensionNotFoundException | Требуемое PHP расширение не установлено. |
| \YooKassa\Common\Exceptions\AuthorizeException | Ошибка авторизации. Не установлен заголовок. |
Returns: \YooKassa\Request\Webhook\WebhookListResponse|null -
Examples:
Список созданных Webhook:
// В данном примере мы устанавливаем вебхуки для succeeded и canceled уведомлений.
// А так же проверяем, не установлены ли уже вебхуки. И если установлены на неверный адрес, удаляем.
$client->setAuthToken('token_XXXXXXX');
try {
$webHookUrl = 'https://merchant-site.ru/payment-notification';
$needWebHookList = array(
\YooKassa\Model\NotificationEventType::PAYMENT_SUCCEEDED,
\YooKassa\Model\NotificationEventType::PAYMENT_CANCELED
);
$currentWebHookList = $client->getWebhooks()->getItems();
foreach ($needWebHookList as $event) {
$hookIsSet = false;
foreach ($currentWebHookList as $webHook) {
if ($webHook->getEvent() !== $event) {
continue;
}
if ($webHook->getUrl() !== $webHookUrl) {
$client->removeWebhook($webHook->getId());
} else {
$hookIsSet = true;
}
break;
}
if (!$hookIsSet) {
$client->addWebhook(array('event' => $event, 'url' => $webHookUrl));
}
}
$response = 'SUCCESS';
} catch (\Exception $e) {
$response = $e;
}
var_dump($response);
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 me() : array|null
public me(array|string|int|null $filter = null) : array|null
Summary
Информация о магазине
Description
Запрос позволяет получить информацию о магазине для переданного OAuth-токена.
Details:
- Inherited From: \YooKassa\Client
Parameters:
| Type | Name | Description |
|---|---|---|
array OR string OR int OR null |
filter | Параметры поиска. В настоящее время доступен только on_behalf_of |
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\ExtensionNotFoundException | Требуемое PHP расширение не установлено. |
| \YooKassa\Common\Exceptions\AuthorizeException | Ошибка авторизации. Не установлен заголовок. |
Returns: array|null - Массив с информацией о магазине
Examples:
Информация о магазине:
try {
$response = $client->me();
} catch (\Exception $e) {
$response = $e;
}
var_dump($response);
public removeWebhook() : \YooKassa\Model\Webhook\Webhook|null
public removeWebhook(string $webhookId, string|null $idempotencyKey = null) : \YooKassa\Model\Webhook\Webhook|null
Summary
Удаление Webhook
Description
Запрос позволяет отписаться от уведомлений о событии для переданного OAuth-токена. Чтобы удалить webhook, вам нужно передать в запросе его идентификатор.
Details:
- Inherited From: \YooKassa\Client
Parameters:
| Type | Name | Description |
|---|---|---|
string |
webhookId | Идентификатор Webhook |
string OR null |
idempotencyKey | Ключ идемпотентности |
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\ExtensionNotFoundException | Требуемое PHP расширение не установлено. |
| \Exception |
Returns: \YooKassa\Model\Webhook\Webhook|null -
Examples:
Удаление Webhook:
// В данном примере мы устанавливаем вебхуки для succeeded и canceled уведомлений.
// А так же проверяем, не установлены ли уже вебхуки. И если установлены на неверный адрес, удаляем.
$client->setAuthToken('token_XXXXXXX');
try {
$webHookUrl = 'https://merchant-site.ru/payment-notification';
$needWebHookList = array(
\YooKassa\Model\NotificationEventType::PAYMENT_SUCCEEDED,
\YooKassa\Model\NotificationEventType::PAYMENT_CANCELED
);
$currentWebHookList = $client->getWebhooks()->getItems();
foreach ($needWebHookList as $event) {
$hookIsSet = false;
foreach ($currentWebHookList as $webHook) {
if ($webHook->getEvent() !== $event) {
continue;
}
if ($webHook->getUrl() !== $webHookUrl) {
$client->removeWebhook($webHook->getId());
} else {
$hookIsSet = true;
}
break;
}
if (!$hookIsSet) {
$client->addWebhook(array('event' => $event, 'url' => $webHookUrl));
}
}
$response = 'SUCCESS';
} catch (\Exception $e) {
$response = $e;
}
var_dump($response);
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:
Пример авторизации:
$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() : 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 2025-07-15 using phpDocumentor
© 2025 YooMoney