class PaynetErrors:
    """Paynet API error codes."""
    # JSON-RPC Errors
    METHOD_NOT_POST = -32300
    JSON_PARSING_ERROR = -32700
    INVALID_RPC_REQUEST = -32600
    METHOD_NOT_FOUND = -32601
    MISSING_RPC_PARAMETERS = -32602
    INTERNAL_SYSTEM_ERROR = -32603

    # Business Logic Errors
    OPERATION_COMPLETED_SUCCESSFULLY = 0
    INSUFFICIENT_FUNDS = 77
    SERVICE_TEMPORARILY_UNAVAILABLE = 100
    QUOTA_EXCEEDED = 101
    SYSTEM_ERROR = 102
    UNKNOWN_ERROR = 103
    WALLET_NOT_IDENTIFIED = 113
    MONTHLY_LIMIT_EXCEEDED = 140
    DAILY_LIMIT_EXCEEDED = 141
    TRANSACTION_ALREADY_EXISTS = 201
    TRANSACTION_ALREADY_CANCELLED = 202
    TRANSACTION_NOT_FOUND = 203
    NUMBER_DOES_NOT_EXIST = 301
    CLIENT_NOT_FOUND = 302
    ALREADY_PAID = 302
    PRODUCT_NOT_FOUND = 304
    SERVICE_NOT_FOUND = 305
    REQUIRED_PARAMETERS_MISSING = 411
    INVALID_LOGIN_OR_PASSWORD = 412
    INVALID_AMOUNT = 413
    INVALID_DATE_TIME_FORMAT = 414
    AMOUNT_EXCEEDS_LIMIT = 415
    TRANSACTIONS_PROHIBITED = 501
    ACCESS_DENIED = 601
    INVALID_COMMAND_CODE = 603
