setType(PaymentMethodType::SBER_LOAN); } /** * Возвращает тариф кредита. * @return string Тариф кредита */ public function getLoanOption() { return $this->_loan_option; } /** * Устанавливает тариф кредита. * @param string|null $value Тариф кредита * @return PaymentMethodSberLoan */ public function setLoanOption($value) { if ($value === null || $value === '') { $this->_loan_option = null; return $this; } if (TypeCast::canCastToString($value)) { if (preg_match('/^loan|installments_([0-9]{1,})$/', $value)) { $this->_loan_option = (string)$value; } else { throw new InvalidPropertyValueException( 'Invalid loan_option value', 0, 'PaymentMethodSberLoan.loan_option', $value ); } } else { throw new InvalidPropertyValueTypeException( 'Invalid loan_option value type', 0, 'PaymentMethodSberLoan.loan_option', $value ); } return $this; } /** * Возвращает сумму * @return AmountInterface|null Сумма платежа */ public function getDiscountAmount() { return $this->_discount_amount; } /** * Устанавливает сумму платежа * @param AmountInterface|array|null $value Сумма платежа * @return PaymentMethodSberLoan */ public function setDiscountAmount($value = null) { if ($value === null || (is_array($value) && empty($value))) { $this->_discount_amount = null; } elseif ($value instanceof AmountInterface) { $this->_discount_amount = $value; } elseif (is_array($value)) { $this->_discount_amount = new MonetaryAmount($value); } else { throw new InvalidPropertyValueTypeException( 'Invalid PaymentMethodSberLoan.discount_amount value type', 0, 'PaymentMethodSberLoan.discount_amount', $value ); } return $this; } }