setType(PaymentMethodType::ELECTRONIC_CERTIFICATE); } /** * Возвращает данные банковской карты «Мир». * * @return PaymentDataBankCardCard Данные банковской карты */ public function getCard() { return $this->_card; } /** * Устанавливает данные банковской карты «Мир». * * @param PaymentDataBankCardCard|array $value Данные банковской карты */ public function setCard($value = null) { if ($value === null || $value === '' || (is_array($value) && empty($value))) { $this->_card = null; } elseif (is_object($value) && $value instanceof PaymentDataBankCardCard) { $this->_card = $value; } elseif (is_array($value) || $value instanceof \Traversable) { $card = new PaymentDataBankCardCard(); foreach ($value as $property => $val) { $card->offsetSet($property, $val); } $this->_card = $card; } else { throw new InvalidPropertyValueTypeException( 'Invalid card value type in PaymentDataElectronicCertificate', 0, 'PaymentDataElectronicCertificate.card', $value ); } return $this; } /** * Возвращает electronic_certificate. * * @return ElectronicCertificatePaymentData|null Данные от ФЭС НСПК для оплаты по электронному сертификату */ public function getElectronicCertificate() { return $this->_electronic_certificate; } /** * Устанавливает electronic_certificate. * * @param ElectronicCertificatePaymentData|array|null $value Данные от ФЭС НСПК для оплаты по электронному сертификату. * * @return self */ public function setElectronicCertificate($value = null) { if ($value === null || $value === '') { $this->_electronic_certificate = null; } elseif (is_array($value)) { $this->_electronic_certificate = new ElectronicCertificatePaymentData($value); } elseif ($value instanceof ElectronicCertificatePaymentData) { $this->_electronic_certificate = $value; } else { throw new InvalidPropertyValueTypeException( 'Invalid electronicCertificate value type in PaymentDataElectronicCertificate', 0, 'PaymentDataElectronicCertificate.electronicCertificate', $value ); } return $this; } /** * Возвращает articles. * * @return ElectronicCertificateArticle[]|null Корзина покупки (в терминах НСПК) — список товаров */ public function getArticles() { return $this->_articles; } /** * Устанавливает articles. * * @param array|ElectronicCertificateArticle[]|null $value Корзина покупки (в терминах НСПК) — список товаров * * @return self */ public function setArticles($value = null) { if ($value === null || $value === '' || (is_array($value) && empty($value))) { $this->_articles = null; } elseif (is_array($value)) { $articles = array(); foreach ($value as $item) { if (is_array($item)) { $articles[] = new ElectronicCertificateArticle($item); } elseif ($item instanceof ElectronicCertificateArticle) { $articles[] = $item; } else { throw new InvalidPropertyValueTypeException( 'Invalid article value type in PaymentDataElectronicCertificate', 0, 'PaymentDataElectronicCertificate.articles', $item ); } } $this->_articles = $articles; } else { throw new InvalidPropertyValueTypeException( 'Invalid articles value type in PaymentDataElectronicCertificate', 0, 'PaymentDataElectronicCertificate.articles', $value ); } return $this; } }