Source code for aiorobokassa.enums
"""Enums for RoboKassa API."""
from enum import Enum
[docs]
class SignatureAlgorithm(str, Enum):
"""Supported signature algorithms."""
MD5 = "MD5"
SHA256 = "SHA256"
SHA512 = "SHA512"
[docs]
@classmethod
def from_string(cls, value: str) -> "SignatureAlgorithm":
"""Convert string to enum, case-insensitive."""
value_upper = value.upper()
for alg in cls:
if alg.value == value_upper:
return alg
raise ValueError(
f"Unsupported algorithm: {value}. Supported: {', '.join(a.value for a in cls)}"
)
[docs]
class Culture(str, Enum):
"""Supported languages."""
RU = "ru"
EN = "en"
[docs]
class TaxSystem(str, Enum):
"""Tax system (sno) for fiscalization."""
OSN = "osn" # Общая СН
USN_INCOME = "usn_income" # Упрощенная СН (доходы)
USN_INCOME_OUTCOME = "usn_income_outcome" # Упрощенная СН (доходы минус расходы)
ESN = "esn" # Единый сельскохозяйственный налог
PATENT = "patent" # Патентная СН
[docs]
class TaxRate(str, Enum):
"""Tax rate (tax) for receipt items."""
NONE = "none" # Без НДС
VAT0 = "vat0" # НДС по ставке 0%
VAT10 = "vat10" # НДС по ставке 10%
VAT110 = "vat110" # НДС по расчетной ставке 10/110
VAT20 = "vat20" # НДС по ставке 20%
VAT120 = "vat120" # НДС по расчетной ставке 20/120
VAT5 = "vat5" # НДС по ставке 5%
VAT7 = "vat7" # НДС по ставке 7%
VAT105 = "vat105" # НДС по расчетной ставке 5/105
VAT107 = "vat107" # НДС по расчетной ставке 7/107
[docs]
class PaymentMethod(str, Enum):
"""Payment method (payment_method) for receipt items."""
FULL_PREPAYMENT = "full_prepayment" # Предоплата 100%
PREPAYMENT = "prepayment" # Предоплата
ADVANCE = "advance" # Аванс
FULL_PAYMENT = "full_payment" # Полный расчёт
PARTIAL_PAYMENT = "partial_payment" # Частичный расчёт и кредит
CREDIT = "credit" # Передача в кредит
CREDIT_PAYMENT = "credit_payment" # Оплата кредита
[docs]
class PaymentObject(str, Enum):
"""Payment object (payment_object) for receipt items."""
COMMODITY = "commodity" # Товар
EXCISE = "excise" # Подакцизный товар
JOB = "job" # Работа
SERVICE = "service" # Услуга
GAMBLING_BET = "gambling_bet" # Ставка азартной игры
GAMBLING_PRIZE = "gambling_prize" # Выигрыш азартной игры
LOTTERY = "lottery" # Лотерейный билет
LOTTERY_PRIZE = "lottery_prize" # Выигрыш лотереи
INTELLECTUAL_ACTIVITY = (
"intellectual_activity" # Предоставление результатов интеллектуальной деятельности
)
PAYMENT = "payment" # Платеж
AGENT_COMMISSION = "agent_commission" # Агентское вознаграждение
COMPOSITE = "composite" # Составной предмет расчета
RESORT_FEE = "resort_fee" # Курортный сбор
ANOTHER = "another" # Иной предмет расчета
PROPERTY_RIGHT = "property_right" # Имущественное право
NON_OPERATING_GAIN = "non-operating_gain" # Внереализационный доход
INSURANCE_PREMIUM = "insurance_premium" # Страховые взносы
SALES_TAX = "sales_tax" # Торговый сбор
TOVAR_MARK = "tovar_mark" # Товар, подлежащий маркировке
[docs]
class InvoiceType(str, Enum):
"""Invoice type for Invoice API v2."""
ONE_TIME = "OneTime" # Одноразовая ссылка
REUSABLE = "Reusable" # Многоразовая ссылка
[docs]
class InvoiceStatus(str, Enum):
"""Invoice status for Invoice API v2."""
PAID = "paid" # Оплаченные
EXPIRED = "expired" # Просроченные
NOT_PAID = "notpaid" # Неоплаченные