setType(PaymentOrderType::UTILITIES); } /** * Возвращает amount. * * @return AmountInterface|null */ public function getAmount(): ?AmountInterface { return $this->_amount; } /** * Устанавливает amount. * * @param AmountInterface|array|null $amount Сумма платежного поручения — сумма, которую пользователь переводит получателю платежа. * Равна общей сумме платежа. * * @return self */ public function setAmount(mixed $amount = null): self { $this->_amount = $this->validatePropertyValue('_amount', $amount); return $this; } /** * Возвращает payment_purpose. * * @return string|null */ public function getPaymentPurpose(): ?string { return $this->_payment_purpose; } /** * Устанавливает payment_purpose. * * @param string|null $payment_purpose Назначение платежа (не больше 210 символов). * * @return self */ public function setPaymentPurpose(?string $payment_purpose = null): self { $this->_payment_purpose = $this->validatePropertyValue('_payment_purpose', $payment_purpose); return $this; } /** * Возвращает recipient. * * @return PaymentOrderRecipientUtilities|null */ public function getRecipient(): ?PaymentOrderRecipientUtilities { return $this->_recipient; } /** * Устанавливает recipient. * * @param PaymentOrderRecipientUtilities|array|null $recipient Получатель платежа — государственная или коммерческая организация, которая предоставляет услуги или является информационным посредником, который собирает и обрабатывает начисления от других поставщиков услуг. * * @return self */ public function setRecipient(mixed $recipient = null): self { $this->_recipient = $this->validatePropertyValue('_recipient', $recipient); return $this; } /** * Возвращает kbk. * * @return string|null */ public function getKbk(): ?string { return $this->_kbk; } /** * Устанавливает kbk. * * @param string|null $kbk Код бюджетной классификации (КБК). * * @return self */ public function setKbk(?string $kbk = null): self { $this->_kbk = $this->validatePropertyValue('_kbk', $kbk); return $this; } /** * Возвращает oktmo. * * @return string|null */ public function getOktmo(): ?string { return $this->_oktmo; } /** * Устанавливает oktmo. * * @param string|null $oktmo Код ОКТМО (Общероссийский классификатор территорий муниципальных образований). * * @return self */ public function setOktmo(?string $oktmo = null): self { $this->_oktmo = $this->validatePropertyValue('_oktmo', $oktmo); return $this; } /** * Возвращает payment_period. * * @return PaymentPeriod|null */ public function getPaymentPeriod(): ?PaymentPeriod { return $this->_payment_period; } /** * Устанавливает payment_period. * * @param PaymentPeriod|array|null $payment_period Период оплаты, за который выставлены начисления и за который вносится оплата. * * @return self */ public function setPaymentPeriod(mixed $payment_period = null): self { $this->_payment_period = $this->validatePropertyValue('_payment_period', $payment_period); return $this; } /** * Возвращает payment_document_id. * * @return string|null */ public function getPaymentDocumentId(): ?string { return $this->_payment_document_id; } /** * Устанавливает идентификатор платежного документа. * * @param string|null $payment_document_id Идентификатор платежного документа. * Обязательный параметр, если не передан `payment_document_number`, `account_number`, `unified_account_number` или `service_id`. * * @return self */ public function setPaymentDocumentId(?string $payment_document_id = null): self { $this->_payment_document_id = $this->validatePropertyValue('_payment_document_id', $payment_document_id); return $this; } /** * Проверяет, были ли установлен идентификатор платежного документа. * * @return bool True если идентификатор платежного документа был установлен, false если нет */ public function hasPaymentDocumentId(): bool { return null !== $this->_payment_document_id; } /** * Возвращает payment_document_number. * * @return string|null */ public function getPaymentDocumentNumber(): ?string { return $this->_payment_document_number; } /** * Устанавливает номер платежного документа на стороне поставщика ЖКУ. * * @param string|null $payment_document_number Номер платежного документа на стороне поставщика ЖКУ. * Обязательный параметр, если не передан `payment_document_id`, `account_number`, `unified_account_number` или `service_id`. * * @return self */ public function setPaymentDocumentNumber(?string $payment_document_number = null): self { $this->_payment_document_number = $this->validatePropertyValue('_payment_document_number', $payment_document_number); return $this; } /** * Проверяет, были ли установлен номер платежного документа на стороне поставщика ЖКУ. * * @return bool True если номер платежного документа на стороне поставщика ЖКУ был установлен, false если нет */ public function hasPaymentDocumentNumber(): bool { return null !== $this->_payment_document_number; } /** * Возвращает номер лицевого счета на стороне поставщика ЖКУ. * * @return string|null */ public function getAccountNumber(): ?string { return $this->_account_number; } /** * Устанавливает номер лицевого счета на стороне поставщика ЖКУ. * * @param string|null $account_number Номер лицевого счета на стороне поставщика ЖКУ. * Обязательный параметр, если не передан `payment_document_id`, `payment_document_number`, `unified_account_number` или `service_id`. * * @return self */ public function setAccountNumber(?string $account_number = null): self { $this->_account_number = $this->validatePropertyValue('_account_number', $account_number); return $this; } /** * Проверяет, были ли установлен номер лицевого счета на стороне поставщика ЖКУ. * * @return bool True если номер лицевого счета на стороне поставщика ЖКУ был установлен, false если нет */ public function hasAccountNumber(): bool { return null !== $this->_account_number; } /** * Возвращает единый лицевой счет. * * @return string|null */ public function getUnifiedAccountNumber(): ?string { return $this->_unified_account_number; } /** * Устанавливает единый лицевой счет. * * @param string|null $unified_account_number Единый лицевой счет. Уникальный идентификатор в ГИС ЖКХ, который характеризует связку «собственник-помещение». * Обязательный параметр, если не передан `payment_document_id`, `payment_document_number`, `account_number` или `service_id`. * * @return self */ public function setUnifiedAccountNumber(?string $unified_account_number = null): self { $this->_unified_account_number = $this->validatePropertyValue('_unified_account_number', $unified_account_number); return $this; } /** * Проверяет, были ли установлен единый лицевой счет. * * @return bool True если единый лицевой счет был установлен, false если нет */ public function hasUnifiedAccountNumber(): bool { return null !== $this->_unified_account_number; } /** * Возвращает идентификатор жилищно-коммунальной услуги (ЖКУ). * * @return string|null */ public function getServiceId(): ?string { return $this->_service_id; } /** * Устанавливает идентификатор жилищно-коммунальной услуги (ЖКУ). * * @param string|null $service_id Идентификатор жилищно-коммунальной услуги (ЖКУ). * Обязательный параметр, если не передан `payment_document_id`, `payment_document_number`, `account_number` или `unified_account_number`. * * @return self */ public function setServiceId(?string $service_id = null): self { $this->_service_id = $this->validatePropertyValue('_service_id', $service_id); return $this; } /** * Проверяет, были ли установлен идентификатор жилищно-коммунальной услуги (ЖКУ). * * @return bool True если идентификатор жилищно-коммунальной услуги (ЖКУ) был установлен, false если нет */ public function hasServiceId(): bool { return null !== $this->service_id; } /** * Проверяет, что все необходимые поля заданы. * * @return bool */ public function validate(): bool { return $this->hasPaymentDocumentId() || $this->hasPaymentDocumentNumber() || $this->hasAccountNumber() || $this->hasUnifiedAccountNumber() || $this->hasServiceId(); } }