setType(NotificationType::NOTIFICATION); $this->setEvent(NotificationEventType::PAYMENT_CANCELED); if (!empty($sourceArray['type'])) { if ($this->getType() !== $sourceArray['type']) { throw new InvalidPropertyValueException( 'Invalid value for "type" parameter in Notification', 0, 'notification.type', $sourceArray['type'] ); } } if (!empty($sourceArray['event'])) { if ($this->getEvent() !== $sourceArray['event']) { throw new InvalidPropertyValueException( 'Invalid value for "event" parameter in Notification', 0, 'notification.event', $sourceArray['event'] ); } } if (empty($sourceArray['object'])) { throw new EmptyPropertyValueException('Parameter object in NotificationCanceled is empty'); } $this->_object = new PaymentResponse($sourceArray['object']); } /** * Возвращает объект с информацией о платеже, уведомление о котором хранится в текущем объекте * * Так как нотификация может быть сгенерирована и поставлена в очередь на отправку гораздо раньше, чем она будет * получена на сайте, то опираться на статус пришедшего платежа не стоит, лучше запросить текущую информацию о * платеже у API. * * @return PaymentInterface Объект с информацией о платеже */ public function getObject() { return $this->_object; } }