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