Files
yookassa-sdk-php/docs/classes/YooKassa-Client.md
T
2025-07-15 13:11:12 +03:00

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


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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

Returns: \YooKassa\Client\ApiClientInterface -

public getConfig() : array

public getConfig() : array

Summary

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

Details:

Returns: array -

public getDealInfo() : \YooKassa\Model\DealInterface|null

public getDealInfo(string $dealId) : \YooKassa\Model\DealInterface|null

Summary

Получить информацию о сделке

Description

Запрос позволяет получить информацию о текущем состоянии сделки по её уникальному идентификатору. Выдает объект чека {@link} в актуальном статусе.

Details:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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

Returns: $this -

public setAuth() : $this

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

Summary

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

Details:

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:

Parameters:
Type Name Description
string token

Returns: $this -

Examples:

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

$client->setAuthToken('token_XXXXXXX');

public setConfig() : mixed

public setConfig(array $config) : mixed

Summary

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

Details:

Parameters:
Type Name Description
array config

Returns: mixed -

public setLogger() : mixed

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

Summary

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

Details:

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:

Parameters:
Type Name Description
int attempts

Returns: $this -

public setRetryTimeout() : $this

public setRetryTimeout(int $timeout) : $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

Returns: array - Массив данных

protected delay() : mixed

protected delay(\YooKassa\Common\ResponseObject $response) : mixed

Summary

Задержка между повторными запросами

Details:

Parameters:
Type Name Description
\YooKassa\Common\ResponseObject response Объект ответа на запрос к API

Returns: mixed -

protected encodeData() : string

protected encodeData(array $serializedData) : string

Summary

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

Details:

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:

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:

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