_setType(PaymentMethodType::BANK_CARD); } /** * @return PaymentDataBankCardCard Данные банковской карты */ public function getCard() { return $this->_card; } /** * @param PaymentDataBankCardCard|array $value Данные банковской карты */ public function setCard($value) { if ($value === null || $value === '' || $value === array()) { $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 PaymentDataBankCard', 0, 'PaymentDataBankCard.card', $value ); } } }