_full_name; } /** * Устанавливает Название организации или ФИО. * * @param string|null $full_name Название организации или ФИО * * @return self */ public function setFullName(?string $full_name = null): self { $this->_full_name = $this->validatePropertyValue('_full_name', $full_name); return $this; } /** * Возвращает номер телефона плательщика в формате ITU-T E.164 на который будет выслан чек. * * @return string|null Номер телефона плательщика */ public function getPhone(): ?string { return $this->_phone; } /** * Устанавливает номер телефона плательщика в формате ITU-T E.164 на который будет выслан чек. * * @param string|null $phone Номер телефона плательщика в формате ITU-T E.164 * * @return self * * @throws InvalidPropertyValueTypeException Выбрасывается, если в качестве значения была передана не строка */ public function setPhone(?string $phone = null): self { $this->_phone = $this->validatePropertyValue('_phone', $phone); return $this; } /** * Возвращает адрес электронной почты на который будет выслан чек. * * @return string|null E-mail адрес плательщика */ public function getEmail(): ?string { return $this->_email; } /** * Устанавливает адрес электронной почты на который будет выслан чек. * * @param string|null $email E-mail адрес плательщика * * @return self * * @throws InvalidPropertyValueTypeException Выбрасывается, если в качестве значения была передана не строка * @throws InvalidPropertyValueException Выбрасывается если Email не соответствует формату */ public function setEmail(?string $email = null): self { $this->_email = $this->validatePropertyValue('_email', $email); return $this; } /** * Возвращает ИНН плательщика. * * @return string|null */ public function getInn(): ?string { return $this->_inn; } /** * Устанавливает ИНН плательщика. * * @param string|null $inn ИНН плательщика (10 или 12 цифр) * * @return self * * @throws InvalidPropertyValueTypeException Выбрасывается, если в качестве значения была передана не строка * @throws InvalidPropertyValueException Выбрасывается если ИНН не соответствует формату 10 или 12 цифр */ public function setInn(?string $inn = null): self { $this->_inn = $this->validatePropertyValue('_inn', $inn); return $this; } /** * Проверка на заполненность объекта. */ public function isEmpty(): bool { $data = $this->getFullName() . $this->getEmail() . $this->getPhone() . $this->getInn(); return empty($data); } public function jsonSerialize(): array { $result = []; $value = $this->getFullName(); if (!empty($value)) { $result['full_name'] = $value; } $value = $this->getEmail(); if (!empty($value)) { $result['email'] = $value; } $value = $this->getPhone(); if (!empty($value)) { $result['phone'] = $value; } $value = $this->getInn(); if (!empty($value)) { $result['inn'] = $value; } return $result; } }