mirror of
https://git.yoomoney.ru/scm/sdk/yookassa-sdk-php.git
synced 2026-10-09 00:55:16 +00:00
Добавлена обработка параметра authorization_details.three_d_secure.applied в объекте платежа
This commit is contained in:
@@ -35,6 +35,7 @@ use YooKassa\Helpers\TypeCast;
|
||||
*
|
||||
* @property $rrn Retrieval Reference Number — уникальный идентификатор транзакции в системе эмитента
|
||||
* @property string $authCode Код авторизации банковской карты
|
||||
* @property ThreeDSecure $threeDSecure Данные о прохождении пользователем аутентификации по 3‑D Secure
|
||||
*/
|
||||
class AuthorizationDetails extends AbstractObject implements AuthorizationDetailsInterface
|
||||
{
|
||||
@@ -49,16 +50,24 @@ class AuthorizationDetails extends AbstractObject implements AuthorizationDetail
|
||||
private $_authCode = '';
|
||||
|
||||
/**
|
||||
* @param string|null $rrn Уникальный идентификатор транзакции
|
||||
* @param string|null $authCode Код авторизации банковской карты
|
||||
* @var ThreeDSecure Данные о прохождении пользователем аутентификации по 3‑D Secure
|
||||
*/
|
||||
public function __construct($rrn = null, $authCode = null)
|
||||
private $_threeDSecure;
|
||||
|
||||
public function fromArray($sourceArray)
|
||||
{
|
||||
if ($rrn !== null) {
|
||||
$this->setRrn($rrn);
|
||||
|
||||
if (isset($sourceArray['rrn'])) {
|
||||
$this->setRrn($sourceArray['rrn']);
|
||||
}
|
||||
if ($authCode !== null) {
|
||||
$this->setAuthCode($authCode);
|
||||
|
||||
if (isset($sourceArray['auth_code'])) {
|
||||
$this->setAuthCode($sourceArray['auth_code']);
|
||||
}
|
||||
|
||||
|
||||
if (isset($sourceArray['three_d_secure'])) {
|
||||
$this->setThreeDSecure($sourceArray['three_d_secure']);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -82,9 +91,22 @@ class AuthorizationDetails extends AbstractObject implements AuthorizationDetail
|
||||
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)
|
||||
{
|
||||
@@ -100,7 +122,10 @@ class AuthorizationDetails extends AbstractObject implements AuthorizationDetail
|
||||
|
||||
/**
|
||||
* Устанавливает код авторизации банковской карты
|
||||
*
|
||||
* @param $value
|
||||
*
|
||||
* @throws InvalidPropertyValueTypeException
|
||||
*/
|
||||
public function setAuthCode($value)
|
||||
{
|
||||
@@ -113,4 +138,23 @@ class AuthorizationDetails extends AbstractObject implements AuthorizationDetail
|
||||
'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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -33,6 +33,7 @@ namespace YooKassa\Model;
|
||||
*
|
||||
* @property-read string $rrn Retrieval Reference Number — уникальный идентификатор транзакции в системе эмитента
|
||||
* @property-read string $authCode Код авторизации банковской карты
|
||||
* @property-read ThreeDSecure $threeDSecure Данные о прохождении пользователем аутентификации по 3‑D Secure
|
||||
*/
|
||||
interface AuthorizationDetailsInterface
|
||||
{
|
||||
@@ -48,4 +49,9 @@ interface AuthorizationDetailsInterface
|
||||
*/
|
||||
function getAuthCode();
|
||||
|
||||
/**
|
||||
* Возвращает данные о прохождении пользователем аутентификации по 3‑D Secure
|
||||
* @return ThreeDSecure|null Объект с данными о прохождении пользователем аутентификации по 3‑D Secure
|
||||
*/
|
||||
function getThreeDSecure();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
|
||||
namespace YooKassa\Model;
|
||||
|
||||
use YooKassa\Common\AbstractObject;
|
||||
use YooKassa\Common\Exceptions\EmptyPropertyValueException;
|
||||
use YooKassa\Common\Exceptions\InvalidPropertyValueTypeException;
|
||||
use YooKassa\Helpers\TypeCast;
|
||||
|
||||
/**
|
||||
* ThreeDSecure - Данные о прохождении пользователем аутентификации по 3‑D Secure для подтверждения платежа.
|
||||
*
|
||||
* @property bool $applied Отображение пользователю формы для прохождения аутентификации по 3‑D Secure.
|
||||
*/
|
||||
class ThreeDSecure extends AbstractObject
|
||||
{
|
||||
/**
|
||||
* @var bool|null Отображение пользователю формы для прохождения аутентификации по 3‑D Secure.
|
||||
*/
|
||||
private $_applied;
|
||||
|
||||
/**
|
||||
* Возвращает признак отображения пользователю формы для прохождения аутентификации по 3‑D Secure
|
||||
*
|
||||
* @return bool|null Признак отображения пользователю формы для прохождения аутентификации по 3‑D Secure
|
||||
*/
|
||||
public function getApplied()
|
||||
{
|
||||
return $this->_applied;
|
||||
}
|
||||
|
||||
/**
|
||||
* Устанавливает признак отображения пользователю формы для прохождения аутентификации по 3‑D Secure
|
||||
*
|
||||
* @param bool $value Данные о прохождении аутентификации по 3‑D Secure
|
||||
*
|
||||
* @throws InvalidPropertyValueTypeException
|
||||
*/
|
||||
public function setApplied($value)
|
||||
{
|
||||
if ($value === null || $value === '') {
|
||||
throw new EmptyPropertyValueException(
|
||||
'Empty value for "applied" parameter in ThreeDSecure',
|
||||
0,
|
||||
'authorization_details.three_d_secure.applied'
|
||||
);
|
||||
}
|
||||
|
||||
if (!TypeCast::canCastToBoolean($value)) {
|
||||
throw new InvalidPropertyValueTypeException(
|
||||
'Invalid applied value type',
|
||||
0,
|
||||
'authorization_details.three_d_secure.applied',
|
||||
$value
|
||||
);
|
||||
}
|
||||
|
||||
$this->_applied = (bool)$value;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user