setRrn($sourceArray['rrn']); } if (isset($sourceArray['auth_code'])) { $this->setAuthCode($sourceArray['auth_code']); } if (isset($sourceArray['three_d_secure'])) { $this->setThreeDSecure($sourceArray['three_d_secure']); } } /** * Возвращает уникальный идентификатор транзакции * * @return string|null Уникальный идентификатор транзакции */ public function getRrn() { return $this->_rrn; } /** * Возвращает код авторизации банковской карты * * @return string|null Код авторизации банковской карты */ public function getAuthCode() { return $this->_authCode; } /** * Возвращает данные о прохождении пользователем аутентификации по 3‑D Secure * * @return ThreeDSecure|null Объект с данными о прохождении пользователем аутентификации по 3‑D Secure */ public function getThreeDSecure() { return $this->_threeDSecure; } /** * Устанавливает уникальный идентификатор транзакции * * @param $value * * @throws InvalidPropertyValueTypeException */ public function setRrn($value) { if ($value === null || $value === '') { $this->_rrn = $value; } elseif (TypeCast::canCastToEnumString($value)) { $this->_rrn = (string)$value; } else { throw new InvalidPropertyValueTypeException( 'Invalid rrn value type', 0, 'authorization_details.rrn', $value ); } } /** * Устанавливает код авторизации банковской карты * * @param $value * * @throws InvalidPropertyValueTypeException */ public function setAuthCode($value) { if ($value === null || $value === '') { $this->_authCode = $value; } elseif (TypeCast::canCastToEnumString($value)) { $this->_authCode = (string)$value; } else { throw new InvalidPropertyValueTypeException( 'Invalid auth_code value type', 0, 'authorization_details.auth_code', $value ); } } /** * Устанавливает данные о прохождении пользователем аутентификации по 3‑D Secure * * @param ThreeDSecure|array $value Данные о прохождении аутентификации по 3‑D Secure * * @throws InvalidPropertyValueTypeException */ public function setThreeDSecure($value) { if (is_array($value)) { $this->_threeDSecure = new ThreeDSecure($value); } elseif ($value instanceof ThreeDSecure) { $this->_threeDSecure = $value; } else { throw new InvalidPropertyValueTypeException( 'Invalid three_d_secure value type', 0, 'authorization_details.three_d_secure', $value ); } } }