Files
yookassa-sdk-php/docs/classes/YooKassa-Model-Notification-NotificationWaitingForCapture.md
T
2022-10-27 15:03:08 +03:00

22 KiB

YooKassa API SDK

Class: \YooKassa\Model\Notification\NotificationWaitingForCapture

Namespace: \YooKassa\Model\Notification


Summary:

Класс объекта, присылаемого API при изменении статуса платежа на "waiting_for_capture"

Description:

При создании платежа с флагом "capture" равным false, после того как клиент проводит платёж, от API на эндпоинт, указанный в настройках API посылается уведомление о том, что платёж теперь может быть проведён. В классе описана структура такого объекта для магазинов, которые получают уведомления на HTTPS endpoint.


Examples

Пример скрипта обработки уведомления

require_once '../vendor/autoload.php';

try {
    $source = file_get_contents('php://input');
    $data = json_decode($source, true);

    $factory = new \YooKassa\Model\Notification\NotificationFactory();
    $notificationObject = $factory->factory($data);
    $responseObject = $notificationObject->getObject();

    $client = new \YooKassa\Client();

    if (!$client->isNotificationIPTrusted($_SERVER['REMOTE_ADDR'])) {
        header('HTTP/1.1 400 Something went wrong');
        exit();
    }

    if ($notificationObject->getEvent() === \YooKassa\Model\NotificationEventType::PAYMENT_SUCCEEDED) {
        $someData = array(
            'paymentId' => $responseObject->getId(),
            'paymentStatus' => $responseObject->getStatus(),
        );
        // Специфичная логика
        // ...
    } elseif ($notificationObject->getEvent() === \YooKassa\Model\NotificationEventType::PAYMENT_WAITING_FOR_CAPTURE) {
        $someData = array(
            'paymentId' => $responseObject->getId(),
            'paymentStatus' => $responseObject->getStatus(),
        );
        // Специфичная логика
        // ...
    } elseif ($notificationObject->getEvent() === \YooKassa\Model\NotificationEventType::PAYMENT_CANCELED) {
        $someData = array(
            'paymentId' => $responseObject->getId(),
            'paymentStatus' => $responseObject->getStatus(),
        );
        // Специфичная логика
        // ...
    } elseif ($notificationObject->getEvent() === \YooKassa\Model\NotificationEventType::REFUND_SUCCEEDED) {
        $someData = array(
            'refundId' => $responseObject->getId(),
            'refundStatus' => $responseObject->getStatus(),
            'paymentId' => $responseObject->getPaymentId(),
        );
        // ...
        // Специфичная логика
    } else {
        header('HTTP/1.1 400 Something went wrong');
        exit();
    }

    // Специфичная логика
    // ...

    $client->setAuth('xxxxxx', 'test_XXXXXXX');

    // Получим актуальную информацию о платеже
    if ($paymentInfo = $client->getPaymentInfo($someData['paymentId'])) {
        $paymentStatus = $paymentInfo->getStatus();
        // Специфичная логика
        // ...
    } else {
        header('HTTP/1.1 400 Something went wrong');
        exit();
    }

} catch (Exception $e) {
    header('HTTP/1.1 400 Something went wrong');
    exit();
}



Constants

  • No constants found

Properties

Visibility Name Flag Summary
public $event Тип события
public $object Объект с информацией о платеже, который можно подтвердить или отменить
public $type Тип уведомления в виде строки

Methods

Visibility Name Flag Summary
public __construct() Конструктор объекта нотификации о возможности подтверждения платежа
public __get() Возвращает значение свойства
public __isset() Проверяет наличие свойства
public __set() Устанавливает значение свойства
public __unset() Удаляет свойство
public fromArray() Устанавливает значения свойств текущего объекта из массива
public getEvent() Возвращает тип события
public getObject() Возвращает объект с информацией о платеже, уведомление о котором хранится в текущем объекте
public getType() Возвращает тип уведомления
public jsonSerialize() Возвращает ассоциативный массив со свойствами текущего объекта для его дальнейшей JSON сериализации
public offsetExists() Проверяет наличие свойства
public offsetGet() Возвращает значение свойства
public offsetSet() Устанавливает значение свойства
public offsetUnset() Удаляет свойство
public toArray() Возвращает ассоциативный массив со свойствами текущего объекта для его дальнейшей JSON сериализации Является алиасом метода AbstractObject::jsonSerialize()
protected _setEvent() Устанавливает тип события
protected _setType() Устанавливает тип уведомления
protected getUnknownProperties() Возвращает массив свойств которые не существуют, но были заданы у объекта

Details


Properties

public $event : string


Description

Тип события

Type: string

Details:

public $object : \YooKassa\Model\PaymentInterface


Description

Объект с информацией о платеже, который можно подтвердить или отменить

Type: PaymentInterface

Details:

public $type : string


Description

Тип уведомления в виде строки

Type: string

Details:


Methods

public __construct() : mixed

public __construct(array $source) : mixed

Summary

Конструктор объекта нотификации о возможности подтверждения платежа

Description

Инициализирует текущий объект из ассоциативного массива, который просто путём JSON десериализации получен из тела пришедшего запроса. При конструировании проверяется валидность типа передаваемого уведомления, если передать уведомление не того типа, будет сгенерировано исключение типа {@link}

Details:

Parameters:
Type Name Description
array source Ассоциативный массив с информацией об уведомлении
Throws:
Type Description
\YooKassa\Common\Exceptions\InvalidPropertyValueException Генерируется если значение типа нотификации или события не равны "notification" и "payment.waiting_for_capture" соответственно, что может говорить о том, что переданные в конструктор данные не являются уведомлением нужного типа.

Returns: mixed -

public __get() : mixed

public __get(string $propertyName) : mixed

Summary

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

Details:

Parameters:
Type Name Description
string propertyName Имя свойства

Returns: mixed - Значение свойства

public __isset() : bool

public __isset(string $propertyName) : bool

Summary

Проверяет наличие свойства

Details:

Parameters:
Type Name Description
string propertyName Имя проверяемого свойства

Returns: bool - True если свойство имеется, false если нет

public __set() : mixed

public __set(string $propertyName, mixed $value) : mixed

Summary

Устанавливает значение свойства

Details:

Parameters:
Type Name Description
string propertyName Имя свойства
mixed value Значение свойства

Returns: mixed -

public __unset() : mixed

public __unset(string $propertyName) : mixed

Summary

Удаляет свойство

Details:

Parameters:
Type Name Description
string propertyName Имя удаляемого свойства

Returns: mixed -

public fromArray() : mixed

public fromArray(array|\Traversable $sourceArray) : mixed

Summary

Устанавливает значения свойств текущего объекта из массива

Details:

Parameters:
Type Name Description
array OR \Traversable sourceArray Ассоциативный массив с настройками

Returns: mixed -

public getEvent() : string

public getEvent() : string

Summary

Возвращает тип события

Description

Тип события - одна из констант, указанных в перечислении {@link}.

Details:

Returns: string - Тип события

public getObject() : \YooKassa\Model\PaymentInterface

public getObject() : \YooKassa\Model\PaymentInterface

Summary

Возвращает объект с информацией о платеже, уведомление о котором хранится в текущем объекте

Description

Так как нотификация может быть сгенерирована и поставлена в очередь на отправку гораздо раньше, чем она будет получена на сайте, то опираться на статус пришедшего платежа не стоит, лучше запросить текущую информацию о платеже у API.

Details:

Returns: \YooKassa\Model\PaymentInterface - Объект с информацией о платеже, который можно подтвердить или отменить

public getType() : string

public getType() : string

Summary

Возвращает тип уведомления

Description

Тип уведомления - одна из констант, указанных в перечислении {@link}.

Details:

Returns: string - Тип уведомления в виде строки

public jsonSerialize() : array

public jsonSerialize() : array

Summary

Возвращает ассоциативный массив со свойствами текущего объекта для его дальнейшей JSON сериализации

Details:

Returns: array - Ассоциативный массив со свойствами текущего объекта

public offsetExists() : bool

public offsetExists(string $offset) : bool

Summary

Проверяет наличие свойства

Details:

Parameters:
Type Name Description
string offset Имя проверяемого свойства

Returns: bool - True если свойство имеется, false если нет

public offsetGet() : mixed

public offsetGet(string $offset) : mixed

Summary

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

Details:

Parameters:
Type Name Description
string offset Имя свойства

Returns: mixed - Значение свойства

public offsetSet() : mixed

public offsetSet(string $offset, mixed $value) : mixed

Summary

Устанавливает значение свойства

Details:

Parameters:
Type Name Description
string offset Имя свойства
mixed value Значение свойства

Returns: mixed -

Tags
Tag Version Description
retrun void

public offsetUnset() : mixed

public offsetUnset(string $offset) : mixed

Summary

Удаляет свойство

Details:

Parameters:
Type Name Description
string offset Имя удаляемого свойства

Returns: mixed -

Tags
Tag Version Description
retrun void

public toArray() : array

public toArray() : array

Summary

Возвращает ассоциативный массив со свойствами текущего объекта для его дальнейшей JSON сериализации Является алиасом метода AbstractObject::jsonSerialize()

Details:

Returns: array - Ассоциативный массив со свойствами текущего объекта

protected _setEvent() : mixed

protected _setEvent(string $value) : mixed

Summary

Устанавливает тип события

Details:

Parameters:
Type Name Description
string value Тип события
Throws:
Type Description
\YooKassa\Common\Exceptions\EmptyPropertyValueException Выбрасывается если в качестве значения было передано пустое значение
\YooKassa\Common\Exceptions\InvalidPropertyValueException Выбрасывается если переданное значение не найдено в перечислении типов событий
\YooKassa\Common\Exceptions\InvalidPropertyValueTypeException Выбрасывается если переданное значение не является строкой

Returns: mixed -

protected _setType() : mixed

protected _setType(string $value) : mixed

Summary

Устанавливает тип уведомления

Details:

Parameters:
Type Name Description
string value Тип уведомления
Throws:
Type Description
\YooKassa\Common\Exceptions\EmptyPropertyValueException Выбрасывается если в качестве значения было передано пустое значение
\YooKassa\Common\Exceptions\InvalidPropertyValueException Выбрасывается если переданное значение не найдено в перечислении типов нотификаций
\YooKassa\Common\Exceptions\InvalidPropertyValueTypeException Выбрасывается если переданное значение не является строкой

Returns: mixed -

protected getUnknownProperties() : array

protected getUnknownProperties() : array

Summary

Возвращает массив свойств которые не существуют, но были заданы у объекта

Details:

Returns: array - Ассоциативный массив с не существующими у текущего объекта свойствами


Top Namespaces


Reports


This document was automatically generated from source code comments on 2022-10-27 using phpDocumentor

© 2022 YooMoney