/print` * * @var string|null */ private $_url; /** * Сумма, указанная в чеке. Присутствует, если в запросе передавалась сумма для печати в чеке. * * @var AmountInterface|null */ private $_amount; /** * Возвращает service_name. * * @return string */ public function getServiceName() { return $this->_service_name; } /** * Устанавливает service_name. * * @param string $value Описание услуги, оказанной получателем выплаты. Не более 50 символов. * * @return $this */ public function setServiceName($value) { if ($value === null || $value === '') { throw new EmptyPropertyValueException('Empty service_name value', 0, 'IncomeReceipt.service_name'); } if (!TypeCast::canCastToString($value)) { throw new InvalidPropertyValueTypeException( 'Invalid service_name value type', 0, 'IncomeReceipt.service_name', $value ); } if (mb_strlen($value, 'utf-8') > self::MAX_LENGTH_SERVICE_NAME) { throw new InvalidPropertyValueException('Invalid IncomeReceipt service_name value', 0, 'IncomeReceipt.service_name', $value); } $this->_service_name = (string)$value; return $this; } /** * Возвращает npd_receipt_id. * * @return string|null */ public function getNpdReceiptId() { return $this->_npd_receipt_id; } /** * Устанавливает npd_receipt_id. * * @param string|null $value Идентификатор чека в сервисе. * * Пример: ~`208jd98zqe` * * @return $this */ public function setNpdReceiptId($value = null) { if ($value === null || $value === '') { $this->_npd_receipt_id = null; } elseif (TypeCast::canCastToString($value)) { $this->_npd_receipt_id = (string)$value; } else { throw new InvalidPropertyValueTypeException( 'Invalid npd_receipt_id value type', 0, 'IncomeReceipt.npd_receipt_id', $value ); } return $this; } /** * Возвращает Ссылка на зарегистрированный чек. * * @return string|null */ public function getUrl() { return $this->_url; } /** * Устанавливает ссылка на зарегистрированный чек. * * @param string|null $value Ссылка на зарегистрированный чек * * Пример: ~`https://www.nalog.gov.ru/api/v1/receipt/<Идентификатор чека>/print` * * @return $this */ public function setUrl($value = null) { if ($value === null || $value === '') { $this->_url = null; } elseif (TypeCast::canCastToString($value)) { $this->_url = (string)$value; } else { throw new InvalidPropertyValueTypeException( 'Invalid url value type', 0, 'IncomeReceipt.url', $value ); } return $this; } /** * Возвращает amount. * * @return AmountInterface|null */ public function getAmount() { return $this->_amount; } /** * Устанавливает amount. * * @param AmountInterface|array|null $value * * @return $this */ public function setAmount($value = null) { if ($value === null || (is_array($value) && empty($value))) { $this->_amount = null; } elseif ($value instanceof AmountInterface) { $this->_amount = $value; } elseif (is_array($value)) { $this->_amount = new MonetaryAmount($value); } else { throw new InvalidPropertyValueTypeException( 'Invalid IncomeReceipt.amount value type', 0, 'IncomeReceipt.amount', $value ); } return $this; } }