yookassa-sdk-php icon indicating copy to clipboard operation
yookassa-sdk-php copied to clipboard

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

Open linuxoid opened this issue 3 years ago • 5 comments

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

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

linuxoid avatar Feb 09 '22 13:02 linuxoid

Добрый день!

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

ostulov avatar Feb 09 '22 17:02 ostulov

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

use YooKassa\Model\Notification\NotificationCanceled as YooKassaNotificationCanceled;

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

linuxoid avatar Feb 09 '22 22:02 linuxoid

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

ostulov avatar Feb 10 '22 07:02 ostulov

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

linuxoid avatar Feb 10 '22 07:02 linuxoid

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

ostulov avatar Feb 10 '22 15:02 ostulov