yoomoney/yookassa-sdk-php

Класс NotificationCanceled ничего не обрабатывает

linuxoid opened this issue · 5 comments

$payment = $app->make(YooKassaNotificationCanceled::class, ['source' => $request]);
$payment->getType() - ничего не возвращает
$payment->getObject() - ничего не возвращает

т.к. в классе нет конструктора. Заменив public function fromArray($source) на public function __construct(array $source) решило проблему.

Добрый день!

В нашем SDK нет класса YooKassaNotificationCanceled. Возможно Вы используете другое SDK или бандл для Laravel.

Прошу прощения, скопировал и вставил не глядя. Я переименовал этот класс:

use YooKassa\Model\Notification\NotificationCanceled as YooKassaNotificationCanceled;

Естественно я имел в виду класс NotificationCanceled и использую ваш SDK:
https://github.com/yoomoney/yookassa-sdk-php/blob/master/lib/Model/Notification/NotificationCanceled.php

Чтобы использовать все возможности, которые дает создание объектов в Laravel, необходимо предварительно зарегистрировать в контейнере объект (в данном случае NotificationCanceled) с нужными аргументами через new.

А в чем причина, что в NotificationSucceeded и NotificationRefundSucceeded есть конструктор, а в NotificationCanceled нет? С точки зрения последовательности.

В одном из будущих обновлений переработаем обработку уведомлений, сделав их в едином стиле.