# [YooKassa API SDK](../home.md)
# Abstract Class: \YooKassa\Request\PersonalData\PersonalDataType\AbstractPersonalDataRequest
### Namespace: [\YooKassa\Request\PersonalData\PersonalDataType](../namespaces/yookassa-request-personaldata-personaldatatype.md)
---
**Summary:**
Класс, представляющий модель PersonalDataRequest.
**Description:**
Данные для запроса сохранения персональных данных.
---
### Constants
| Visibility | Name | Flag | Summary |
| ----------:| ---- | ---- | ------- |
| public | [MAX_LENGTH_LAST_NAME](../classes/YooKassa-Request-PersonalData-PersonalDataType-AbstractPersonalDataRequest.md#constant_MAX_LENGTH_LAST_NAME) | | Максимальная длина строки фамилии или отчества |
| public | [MAX_LENGTH_FIRST_NAME](../classes/YooKassa-Request-PersonalData-PersonalDataType-AbstractPersonalDataRequest.md#constant_MAX_LENGTH_FIRST_NAME) | | Максимальная длина строки имени |
---
### Properties
| Visibility | Name | Flag | Summary |
| ----------:| ---- | ---- | ------- |
| public | [$metadata](../classes/YooKassa-Request-PersonalData-PersonalDataType-AbstractPersonalDataRequest.md#property_metadata) | | Любые дополнительные данные, которые нужны вам для работы (например, ваш внутренний идентификатор заказа). |
| public | [$type](../classes/YooKassa-Request-PersonalData-PersonalDataType-AbstractPersonalDataRequest.md#property_type) | | Тип персональных данных. |
| protected | [$_metadata](../classes/YooKassa-Request-PersonalData-PersonalDataType-AbstractPersonalDataRequest.md#property__metadata) | | Любые дополнительные данные, которые нужны вам для работы (например, ваш внутренний идентификатор заказа). |
| protected | [$_type](../classes/YooKassa-Request-PersonalData-PersonalDataType-AbstractPersonalDataRequest.md#property__type) | | Тип персональных данных — цель, для которой вы будете использовать данные |
---
### Methods
| Visibility | Name | Flag | Summary |
| ----------:| ---- | ---- | ------- |
| public | [__construct()](../classes/YooKassa-Common-AbstractObject.md#method___construct) | | AbstractObject constructor. |
| public | [__get()](../classes/YooKassa-Common-AbstractObject.md#method___get) | | Возвращает значение свойства. |
| public | [__isset()](../classes/YooKassa-Common-AbstractObject.md#method___isset) | | Проверяет наличие свойства. |
| public | [__set()](../classes/YooKassa-Common-AbstractObject.md#method___set) | | Устанавливает значение свойства. |
| public | [__unset()](../classes/YooKassa-Common-AbstractObject.md#method___unset) | | Удаляет свойство. |
| public | [clearValidationError()](../classes/YooKassa-Common-AbstractRequest.md#method_clearValidationError) | | Очищает статус валидации текущего запроса. |
| public | [fromArray()](../classes/YooKassa-Common-AbstractObject.md#method_fromArray) | | Устанавливает значения свойств текущего объекта из массива. |
| public | [getLastValidationError()](../classes/YooKassa-Common-AbstractRequest.md#method_getLastValidationError) | | Возвращает последнюю ошибку валидации. |
| public | [getMetadata()](../classes/YooKassa-Request-PersonalData-PersonalDataType-AbstractPersonalDataRequest.md#method_getMetadata) | | Возвращает metadata. |
| public | [getType()](../classes/YooKassa-Request-PersonalData-PersonalDataType-AbstractPersonalDataRequest.md#method_getType) | | Возвращает type. |
| public | [getValidator()](../classes/YooKassa-Common-AbstractObject.md#method_getValidator) | | |
| public | [hasMetadata()](../classes/YooKassa-Request-PersonalData-PersonalDataType-AbstractPersonalDataRequest.md#method_hasMetadata) | | Проверяет, были ли установлены метаданные. |
| public | [hasType()](../classes/YooKassa-Request-PersonalData-PersonalDataType-AbstractPersonalDataRequest.md#method_hasType) | | Проверяет наличие типа персональных данных в запросе. |
| public | [jsonSerialize()](../classes/YooKassa-Common-AbstractObject.md#method_jsonSerialize) | | Возвращает ассоциативный массив со свойствами текущего объекта для его дальнейшей JSON сериализации. |
| public | [offsetExists()](../classes/YooKassa-Common-AbstractObject.md#method_offsetExists) | | Проверяет наличие свойства. |
| public | [offsetGet()](../classes/YooKassa-Common-AbstractObject.md#method_offsetGet) | | Возвращает значение свойства. |
| public | [offsetSet()](../classes/YooKassa-Common-AbstractObject.md#method_offsetSet) | | Устанавливает значение свойства. |
| public | [offsetUnset()](../classes/YooKassa-Common-AbstractObject.md#method_offsetUnset) | | Удаляет свойство. |
| public | [setMetadata()](../classes/YooKassa-Request-PersonalData-PersonalDataType-AbstractPersonalDataRequest.md#method_setMetadata) | | Устанавливает metadata. |
| public | [setType()](../classes/YooKassa-Request-PersonalData-PersonalDataType-AbstractPersonalDataRequest.md#method_setType) | | Устанавливает type. |
| public | [toArray()](../classes/YooKassa-Common-AbstractObject.md#method_toArray) | | Возвращает ассоциативный массив со свойствами текущего объекта для его дальнейшей JSON сериализации Является алиасом метода AbstractObject::jsonSerialize(). |
| public | [validate()](../classes/YooKassa-Common-AbstractRequest.md#method_validate) | | Валидирует текущий запрос, проверяет все ли нужные свойства установлены. |
| protected | [getUnknownProperties()](../classes/YooKassa-Common-AbstractObject.md#method_getUnknownProperties) | | Возвращает массив свойств которые не существуют, но были заданы у объекта. |
| protected | [setValidationError()](../classes/YooKassa-Common-AbstractRequest.md#method_setValidationError) | | Устанавливает ошибку валидации. |
| protected | [validatePropertyValue()](../classes/YooKassa-Common-AbstractObject.md#method_validatePropertyValue) | | |
---
### Details
* File: [lib/Request/PersonalData/PersonalDataType/AbstractPersonalDataRequest.php](../../lib/Request/PersonalData/PersonalDataType/AbstractPersonalDataRequest.php)
* Package: YooKassa\Model
* Class Hierarchy:
* [\YooKassa\Common\AbstractObject](../classes/YooKassa-Common-AbstractObject.md)
* [\YooKassa\Common\AbstractRequest](../classes/YooKassa-Common-AbstractRequest.md)
* \YooKassa\Request\PersonalData\PersonalDataType\AbstractPersonalDataRequest
* See Also:
* [](https://yookassa.ru/developers/api)
---
### Tags
| Tag | Version | Description |
| --- | ------- | ----------- |
| category | | Class |
| author | | cms@yoomoney.ru |
---
## Constants
###### MAX_LENGTH_LAST_NAME
Максимальная длина строки фамилии или отчества
```php
MAX_LENGTH_LAST_NAME = 200
```
###### MAX_LENGTH_FIRST_NAME
Максимальная длина строки имени
```php
MAX_LENGTH_FIRST_NAME = 100
```
---
## Properties
#### public $metadata : \YooKassa\Model\Metadata
---
***Description***
Любые дополнительные данные, которые нужны вам для работы (например, ваш внутренний идентификатор заказа).
**Type:** Metadata
**Details:**
#### public $type : string
---
***Description***
Тип персональных данных.
**Type:** string
**Details:**
#### protected $_metadata : ?\YooKassa\Model\Metadata
---
**Summary**
Любые дополнительные данные, которые нужны вам для работы (например, ваш внутренний идентификатор заказа).
***Description***
Передаются в виде набора пар «ключ-значение» и возвращаются в ответе от ЮKassa.
Ограничения: максимум 16 ключей, имя ключа не больше 32 символов, значение ключа не больше 512 символов, тип данных — строка в формате UTF-8.
**Type:** Metadata
**Details:**
#### protected $_type : ?string
---
**Summary**
Тип персональных данных — цель, для которой вы будете использовать данные
**Type:** ?string
**Details:**
---
## Methods
#### public __construct() : mixed
```php
public __construct(array|null $data = []) : mixed
```
**Summary**
AbstractObject constructor.
**Details:**
* Inherited From: [\YooKassa\Common\AbstractObject](../classes/YooKassa-Common-AbstractObject.md)
##### Parameters:
| Type | Name | Description |
| ---- | ---- | ----------- |
| array OR null | data | |
**Returns:** mixed -
#### public __get() : mixed
```php
public __get(string $propertyName) : mixed
```
**Summary**
Возвращает значение свойства.
**Details:**
* Inherited From: [\YooKassa\Common\AbstractObject](../classes/YooKassa-Common-AbstractObject.md)
##### Parameters:
| Type | Name | Description |
| ---- | ---- | ----------- |
| string | propertyName | Имя свойства |
**Returns:** mixed - Значение свойства
#### public __isset() : bool
```php
public __isset(string $propertyName) : bool
```
**Summary**
Проверяет наличие свойства.
**Details:**
* Inherited From: [\YooKassa\Common\AbstractObject](../classes/YooKassa-Common-AbstractObject.md)
##### Parameters:
| Type | Name | Description |
| ---- | ---- | ----------- |
| string | propertyName | Имя проверяемого свойства |
**Returns:** bool - True если свойство имеется, false если нет
#### public __set() : void
```php
public __set(string $propertyName, mixed $value) : void
```
**Summary**
Устанавливает значение свойства.
**Details:**
* Inherited From: [\YooKassa\Common\AbstractObject](../classes/YooKassa-Common-AbstractObject.md)
##### Parameters:
| Type | Name | Description |
| ---- | ---- | ----------- |
| string | propertyName | Имя свойства |
| mixed | value | Значение свойства |
**Returns:** void -
#### public __unset() : void
```php
public __unset(string $propertyName) : void
```
**Summary**
Удаляет свойство.
**Details:**
* Inherited From: [\YooKassa\Common\AbstractObject](../classes/YooKassa-Common-AbstractObject.md)
##### Parameters:
| Type | Name | Description |
| ---- | ---- | ----------- |
| string | propertyName | Имя удаляемого свойства |
**Returns:** void -
#### public clearValidationError() : void
```php
public clearValidationError() : void
```
**Summary**
Очищает статус валидации текущего запроса.
**Details:**
* Inherited From: [\YooKassa\Common\AbstractRequest](../classes/YooKassa-Common-AbstractRequest.md)
**Returns:** void -
#### public fromArray() : void
```php
public fromArray(array|\Traversable $sourceArray) : void
```
**Summary**
Устанавливает значения свойств текущего объекта из массива.
**Details:**
* Inherited From: [\YooKassa\Common\AbstractObject](../classes/YooKassa-Common-AbstractObject.md)
##### Parameters:
| Type | Name | Description |
| ---- | ---- | ----------- |
| array OR \Traversable | sourceArray | Ассоциативный массив с настройками |
**Returns:** void -
#### public getLastValidationError() : string|null
```php
public getLastValidationError() : string|null
```
**Summary**
Возвращает последнюю ошибку валидации.
**Details:**
* Inherited From: [\YooKassa\Common\AbstractRequest](../classes/YooKassa-Common-AbstractRequest.md)
**Returns:** string|null - Последняя произошедшая ошибка валидации
#### public getMetadata() : \YooKassa\Model\Metadata|null
```php
public getMetadata() : \YooKassa\Model\Metadata|null
```
**Summary**
Возвращает metadata.
**Details:**
* Inherited From: [\YooKassa\Request\PersonalData\PersonalDataType\AbstractPersonalDataRequest](../classes/YooKassa-Request-PersonalData-PersonalDataType-AbstractPersonalDataRequest.md)
**Returns:** \YooKassa\Model\Metadata|null -
#### public getType() : string|null
```php
public getType() : string|null
```
**Summary**
Возвращает type.
**Details:**
* Inherited From: [\YooKassa\Request\PersonalData\PersonalDataType\AbstractPersonalDataRequest](../classes/YooKassa-Request-PersonalData-PersonalDataType-AbstractPersonalDataRequest.md)
**Returns:** string|null -
#### public getValidator() : \YooKassa\Validator\Validator
```php
public getValidator() : \YooKassa\Validator\Validator
```
**Details:**
* Inherited From: [\YooKassa\Common\AbstractObject](../classes/YooKassa-Common-AbstractObject.md)
**Returns:** \YooKassa\Validator\Validator -
#### public hasMetadata() : bool
```php
public hasMetadata() : bool
```
**Summary**
Проверяет, были ли установлены метаданные.
**Details:**
* Inherited From: [\YooKassa\Request\PersonalData\PersonalDataType\AbstractPersonalDataRequest](../classes/YooKassa-Request-PersonalData-PersonalDataType-AbstractPersonalDataRequest.md)
**Returns:** bool - True если метаданные были установлены, false если нет
#### public hasType() : bool
```php
public hasType() : bool
```
**Summary**
Проверяет наличие типа персональных данных в запросе.
**Details:**
* Inherited From: [\YooKassa\Request\PersonalData\PersonalDataType\AbstractPersonalDataRequest](../classes/YooKassa-Request-PersonalData-PersonalDataType-AbstractPersonalDataRequest.md)
**Returns:** bool - True если тип персональных данных задан, false если нет
#### public jsonSerialize() : array
```php
public jsonSerialize() : array
```
**Summary**
Возвращает ассоциативный массив со свойствами текущего объекта для его дальнейшей JSON сериализации.
**Details:**
* Inherited From: [\YooKassa\Common\AbstractObject](../classes/YooKassa-Common-AbstractObject.md)
**Returns:** array - Ассоциативный массив со свойствами текущего объекта
#### public offsetExists() : bool
```php
public offsetExists(string $offset) : bool
```
**Summary**
Проверяет наличие свойства.
**Details:**
* Inherited From: [\YooKassa\Common\AbstractObject](../classes/YooKassa-Common-AbstractObject.md)
##### Parameters:
| Type | Name | Description |
| ---- | ---- | ----------- |
| string | offset | Имя проверяемого свойства |
**Returns:** bool - True если свойство имеется, false если нет
#### public offsetGet() : mixed
```php
public offsetGet(string $offset) : mixed
```
**Summary**
Возвращает значение свойства.
**Details:**
* Inherited From: [\YooKassa\Common\AbstractObject](../classes/YooKassa-Common-AbstractObject.md)
##### Parameters:
| Type | Name | Description |
| ---- | ---- | ----------- |
| string | offset | Имя свойства |
**Returns:** mixed - Значение свойства
#### public offsetSet() : void
```php
public offsetSet(string $offset, mixed $value) : void
```
**Summary**
Устанавливает значение свойства.
**Details:**
* Inherited From: [\YooKassa\Common\AbstractObject](../classes/YooKassa-Common-AbstractObject.md)
##### Parameters:
| Type | Name | Description |
| ---- | ---- | ----------- |
| string | offset | Имя свойства |
| mixed | value | Значение свойства |
**Returns:** void -
#### public offsetUnset() : void
```php
public offsetUnset(string $offset) : void
```
**Summary**
Удаляет свойство.
**Details:**
* Inherited From: [\YooKassa\Common\AbstractObject](../classes/YooKassa-Common-AbstractObject.md)
##### Parameters:
| Type | Name | Description |
| ---- | ---- | ----------- |
| string | offset | Имя удаляемого свойства |
**Returns:** void -
#### public setMetadata() : self
```php
public setMetadata(\YooKassa\Model\Metadata|array|null $value = null) : self
```
**Summary**
Устанавливает metadata.
**Details:**
* Inherited From: [\YooKassa\Request\PersonalData\PersonalDataType\AbstractPersonalDataRequest](../classes/YooKassa-Request-PersonalData-PersonalDataType-AbstractPersonalDataRequest.md)
##### Parameters:
| Type | Name | Description |
| ---- | ---- | ----------- |
| \YooKassa\Model\Metadata OR array OR null | value | Любые дополнительные данные, которые нужны вам для работы (например, ваш внутренний идентификатор заказа). Передаются в виде набора пар «ключ-значение» и возвращаются в ответе от ЮKassa. Ограничения: максимум 16 ключей, имя ключа не больше 32 символов, значение ключа не больше 512 символов, тип данных — строка в формате UTF-8. |
**Returns:** self -
#### public setType() : self
```php
public setType(string|null $type = null) : self
```
**Summary**
Устанавливает type.
**Details:**
* Inherited From: [\YooKassa\Request\PersonalData\PersonalDataType\AbstractPersonalDataRequest](../classes/YooKassa-Request-PersonalData-PersonalDataType-AbstractPersonalDataRequest.md)
##### Parameters:
| Type | Name | Description |
| ---- | ---- | ----------- |
| string OR null | type | |
**Returns:** self -
#### public toArray() : array
```php
public toArray() : array
```
**Summary**
Возвращает ассоциативный массив со свойствами текущего объекта для его дальнейшей JSON сериализации
Является алиасом метода AbstractObject::jsonSerialize().
**Details:**
* Inherited From: [\YooKassa\Common\AbstractObject](../classes/YooKassa-Common-AbstractObject.md)
**Returns:** array - Ассоциативный массив со свойствами текущего объекта
#### public validate() : bool
```php
Abstract public validate() : bool
```
**Summary**
Валидирует текущий запрос, проверяет все ли нужные свойства установлены.
**Details:**
* Inherited From: [\YooKassa\Common\AbstractRequest](../classes/YooKassa-Common-AbstractRequest.md)
**Returns:** bool - True если запрос валиден, false если нет
#### protected getUnknownProperties() : array
```php
protected getUnknownProperties() : array
```
**Summary**
Возвращает массив свойств которые не существуют, но были заданы у объекта.
**Details:**
* Inherited From: [\YooKassa\Common\AbstractObject](../classes/YooKassa-Common-AbstractObject.md)
**Returns:** array - Ассоциативный массив с не существующими у текущего объекта свойствами
#### protected setValidationError() : void
```php
protected setValidationError(string $value) : void
```
**Summary**
Устанавливает ошибку валидации.
**Details:**
* Inherited From: [\YooKassa\Common\AbstractRequest](../classes/YooKassa-Common-AbstractRequest.md)
##### Parameters:
| Type | Name | Description |
| ---- | ---- | ----------- |
| string | value | Ошибка, произошедшая при валидации объекта |
**Returns:** void -
#### protected validatePropertyValue() : mixed
```php
protected validatePropertyValue(string $propertyName, mixed $propertyValue) : mixed
```
**Details:**
* Inherited From: [\YooKassa\Common\AbstractObject](../classes/YooKassa-Common-AbstractObject.md)
##### Parameters:
| Type | Name | Description |
| ---- | ---- | ----------- |
| string | propertyName | |
| mixed | propertyValue | |
**Returns:** mixed -
---
### Top Namespaces
* [\YooKassa](../namespaces/yookassa.md)
---
### Reports
* [Errors - 0](../reports/errors.md)
* [Markers - 0](../reports/markers.md)
* [Deprecated - 43](../reports/deprecated.md)
---
This document was automatically generated from source code comments on 2026-08-13 using [phpDocumentor](http://www.phpdoc.org/)
© 2026 YooMoney