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