yookassa-sdk-php
yookassa-sdk-php copied to clipboard
Класс NotificationCanceled ничего не обрабатывает
$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 нет? С точки зрения последовательности.
В одном из будущих обновлений переработаем обработку уведомлений, сделав их в едином стиле.