[docs]
class PixAPIException(Exception):
"""Exceção base para erros da API Pix."""
[docs]
def __init__(self, type_: str, title: str, status: int, detail: str):
self.type = type_
self.title = title
self.status = status
self.detail = detail
super().__init__(f'{title} ({status}): {detail} [{type_}]')
[docs]
class PixAcessoNegadoException(PixAPIException):
"""Erro de acesso negado (403)."""
[docs]
class PixRecursoNaoEncontradoException(PixAPIException):
"""Erro de recurso não encontrado (404)."""
[docs]
class PixErroValidacaoException(PixAPIException):
"""Erro de validação (400)."""
[docs]
class PixErroServicoIndisponivelException(PixAPIException):
"""Erro de serviço indisponível (503)."""
[docs]
class PixErroDesconhecidoException(PixAPIException):
"""Erro desconhecido da API Pix."""
[docs]
class PixRespostaInvalidaError(PixAPIException):
"""Erro quando a resposta da API não está no formato esperado"""