Personal Data API

API для работы с персональными данными получателей выплат.

class aioyookassa.core.api.personal_data.PersonalDataAPI(client: BaseAPIClient)[source]

Bases: BaseAPI[SbpPayoutRecipientData | PayoutStatementRecipientData, PersonalData]

YooKassa personal data API client.

Provides methods for creating and retrieving personal data.

Initialize base API client.

Parameters:

client – Base API client instance.

async create_personal_data(params: SbpPayoutRecipientData | PayoutStatementRecipientData) PersonalData[source]

Create personal data in YooKassa.

Parameters:

params (CreatePersonalDataParams) – Personal data creation parameters (CreatePersonalDataParams).

Returns:

PersonalData object.

Return type:

PersonalData

Seealso:

https://yookassa.ru/developers/api#create_personal_data

Example:
>>> from aioyookassa.types.params import SbpPayoutRecipientData
>>> params = SbpPayoutRecipientData(
...     last_name="Ivanov",
...     first_name="Ivan",
...     middle_name="Ivanovich"
... )
>>> personal_data = await client.personal_data.create_personal_data(params)
async get_personal_data(personal_data_id: str) PersonalData[source]

Retrieve personal data information by personal data ID.

Parameters:

personal_data_id (str) – Personal data identifier.

Returns:

PersonalData object.

Return type:

PersonalData

Seealso:

https://yookassa.ru/developers/api#get_personal_data

Методы

create_personal_data

Создание персональных данных.

Для выплат с проверкой получателя (СБП): .. code-block:: python

from aioyookassa.types.params import SbpPayoutRecipientData from datetime import date

params = SbpPayoutRecipientData(

type=”sbp_payout_recipient”, last_name=”Иванов”, first_name=”Иван”, middle_name=”Иванович” # Опционально

) personal_data = await client.personal_data.create_personal_data(params)

Для выплат с передачей данных получателя для выписок из реестра: .. code-block:: python

from aioyookassa.types.params import PayoutStatementRecipientData from datetime import date

params = PayoutStatementRecipientData(

type=”payout_statement_recipient”, last_name=”Иванов”, first_name=”Иван”, middle_name=”Иванович”, # Опционально, но обязательно если есть в паспорте birthdate=date(1990, 1, 1) # Дата рождения в формате ISO 8601

) personal_data = await client.personal_data.create_personal_data(params)

get_personal_data

Получение информации о персональных данных.

personal_data = await client.personal_data.get_personal_data("personal_data_id")
print(f"Type: {personal_data.type}")
print(f"Status: {personal_data.status}")
if personal_data.expires_at:
    print(f"Expires at: {personal_data.expires_at}")