Source code for aiorobokassa.exceptions

"""Custom exceptions for aiorobokassa library."""

from typing import Optional


[docs] class RoboKassaError(Exception): """Base exception for all RoboKassa errors.""" pass
[docs] class SignatureError(RoboKassaError): """Raised when signature verification fails.""" pass
[docs] class APIError(RoboKassaError): """Raised when API request fails."""
[docs] def __init__( self, message: str, status_code: Optional[int] = None, response: Optional[str] = None ): super().__init__(message) self.status_code = status_code self.response = response
[docs] class ValidationError(RoboKassaError): """Raised when data validation fails.""" pass
[docs] class ConfigurationError(RoboKassaError): """Raised when client configuration is invalid.""" pass
[docs] class InvalidSignatureAlgorithmError(ConfigurationError): """Raised when unsupported signature algorithm is used.""" pass
[docs] class XMLParseError(APIError): """Raised when XML response cannot be parsed.""" pass