Source code for glQiwiApi.types.qiwi.transaction

import enum
from datetime import datetime
from typing import Optional, Union, Dict, Any, List

from pydantic import Field

from glQiwiApi.types.amount import CurrencyAmount
from glQiwiApi.types.base import Base, ExtraBase


[docs]class TransactionType(str, enum.Enum): IN = "IN" OUT = "OUT" ALL = "ALL" QIWI_CARD = "QIWI_CARD"
class TransactionStatus(str, enum.Enum): WAITING = "WAITING" SUCCESS = "SUCCESS" ERROR = "ERROR" class Source(str, enum.Enum): RUB = "QW_RUB" USD = "QW_USD" EUR = "QW_EUR" CARD = "CARD" MK = "MK" class Provider(Base): """object: Provider""" id: Optional[int] = None """ID провайдера в QIWI Wallet""" short_name: Optional[str] = Field(default=None, alias="shortName") """краткое наименование провайдера""" long_name: Optional[str] = Field(alias="longName", default=None) """развернутое наименование провайдера""" logo_url: Optional[str] = Field(alias="logoUrl", default=None) """ссылка на логотип провайдера""" description: Optional[str] = None """описание провайдера (HTML)""" keys: Optional[Union[str, List[Any]]] = None """список ключевых слов""" site_url: Optional[str] = Field(alias="siteUrl", default=None) """сайт провайдера"""
[docs]class Transaction(ExtraBase): """object: Transaction""" id: int = Field(alias="txnId") """ ID транзакции в сервисе QIWI Кошелек""" person_id: int = Field(alias="personId") """Номер кошелька""" date: datetime """ Для запросов истории платежей - Дата/время платежа, во временной зоне запроса (см. параметр startDate). Для запросов данных о транзакции - Дата/время платежа, время московское """ error_code: Optional[int] = Field(alias="errorCode", default=None) """Код ошибки платежа""" error: Optional[str] = None """Описание ошибки""" status: TransactionStatus """ Статус платежа. Возможные значения: WAITING - платеж проводится, SUCCESS - успешный платеж, ERROR - ошибка платежа. """ type: TransactionType """ Тип платежа. Возможные значения: IN - пополнение, OUT - платеж, QIWI_CARD - платеж с карт QIWI (QVC, QVP). """ status_text: str = Field(alias="statusText") """Текстовое описание статуса платежа""" trm_transaction_id: str = Field(alias="trmTxnId") """Клиентский ID транзакции""" to_account: str = Field(alias="account") """ Для платежей - номер счета получателя. Для пополнений - номер отправителя, терминала или название агента пополнения кошелька """ sum: CurrencyAmount """Данные о сумме платежа или пополнения.""" commission: CurrencyAmount """Данные о комиссии""" total: CurrencyAmount """Общие данные о платеже в формате объекта Sum""" provider: Provider """Данные о провайдере.""" source: Optional[Provider] = None """Служебная информация""" comment: Optional[str] = None """ Комментарий к платежу""" currency_rate: int = Field(alias="currencyRate") """Курс конвертации (если применяется в транзакции)""" _extras: Optional[Dict[Any, Any]] = Field(None, alias="extras") """Служебная информация""" _cheque_ready: bool = Field(..., alias="chequeReady") """Специальное поле""" _bank_document_available: bool = Field(..., alias="bankDocumentAvailable") """Специальное поле""" _repeat_payment_enabled: bool = Field(..., alias="repeatPaymentEnabled") """Специальное поле""" _favorite_payment_enabled: bool = Field(..., alias="favoritePaymentEnabled") """Специальное поле""" _regular_payment_enabled: bool = Field(..., alias="regularPaymentEnabled") """Специальное поле""" class Config: use_enum_values = True