_setType(PaymentMethodType::B2B_SBERBANK); } /** * @return string Назначение платежа */ public function getPaymentPurpose() { return $this->_paymentPurpose; } /** * @param string $value Назначение платежа */ public function setPaymentPurpose($value) { if ($value === null || $value === '') { throw new EmptyPropertyValueException('Empty paymentPurpose value', 0, 'PaymentDataB2bSberbank.paymentPurpose'); } elseif (TypeCast::canCastToString($value)) { if (preg_match('/^.{1,210}$/', $value)) { $this->_paymentPurpose = (string)$value; } else { throw new InvalidPropertyValueException( 'Invalid paymentPurpose value', 0, 'PaymentDataB2bSberbank.paymentPurpose', $value ); } } else { throw new InvalidPropertyValueTypeException( 'Invalid paymentPurpose value type', 0, 'PaymentDataB2bSberbank.paymentPurpose', $value ); } } /** * @return VatData Данные об НДС */ public function getVatData() { return $this->_vatData; } /** * @param VatData|array|null $value Данные об НДС */ public function setVatData($value) { if ($value === null || $value === array()) { $this->_vatData = null; } elseif ($value instanceof VatData) { $this->_vatData = $value; } elseif (is_array($value) || $value instanceof \Traversable) { $vatData = new VatData(); foreach ($value as $property => $val) { $vatData->offsetSet($property, $val); } $this->_vatData = $vatData; } else { throw new InvalidPropertyValueTypeException( 'Invalid vatData value type in PaymentDataB2BSberbank', 0, 'PaymentDataB2BSberbank.vatData', $value ); } } }