Tratamento de erros

Durante a integração haverá algumas exceções que podem ser levantas por algum erro interno, validação de dados ou mesmo algum problema de implementação, por exemplo, não realizar a inicialização, ou informar valores inválidos para transacionar.

Caso haja algum problema durante o processo temos os seguintes erros:

enum TapOnPhoneErrors: Error {
    case getSaleDetail //Erro ao tentar pegar os detalhes de uma venda
    case getSaleList //Erro ao tentar carregar as lista de vendas do usuario
    case deviceCheckError //Erro relacionado a verificação do device para uso do SDK
    case deviceIncompatibleException //Erro relacionado a um device incompátivel com o SDK
    case invalidAppleToken //Erro ao tentar pegar o token da Apple (Fingerprint)
    case invalidDeviceId //Erro ao tentar pegar o id do device
    case noAvailableSpace //Erro relacionado ao verificar se o device tem espaço em disco para usar o SDK
    case invalidPaymentData //Dados de pagamento informados são invalidos
    case unableToConfirmTransaction //Erro ao tentar salvar uma transação
    case appleTapPrepareError //Erro ao inicializar o AppleTap
    case cancelationException //Erro no Cancelamento
    case invalidInitialData //Dados de configuração inicial incorretos 
    case invalidMerchantNumber //Erro no número do Comerciante
    case invalidPaymentMethod //Erro do método de pagamento inválido
    case invalidReceiptData //Dados do comprovante inválidos
    case unableToGetPaymentInfo //Erro ao recuperar dados do pagamento
    case unspecifiedError(Error) //Erro genérico
    case paymentError //Erro no pagamento
    case errorPreparingDevice //Erro ao prepar o aparelho
    case documentNotProvided(InitialDataNotProvided?) //Documento não informado
    case initializerFailure(InicializerFailure?) // Quando ocorrer um erro no initialize, será retornado um struct com informações de error(code, title, message)
    case osVersionNotSupported // Quando o sistema operacional do aparelho não ter suporte ao card reader.
    case fileNotFound // Quando um arquivo de whitelabel informado não exitir
    case conversionFailed // Quando o arquivo de whitelabel tiver no padrão de JSON.
    case invalidJson // Quando o arquivo de whitelabel estiver algum algum problema
    case genericError(Error) //Erro genérico
    case accountAlreadyLinked //Um erro que indica já aceitou os Termos e Condições.
    case errorLinkingAccount(Error) // Erro durante o processo de linkar a conta
    case accountLinkingCancelled // Quando o usuário cancela o processo de linkar a conta
}

Sabendo disso, passamos o controle para o parceiro integrador se adequar aos erros, e notificar o usuário conforme necessidade.

Os erros podem ser levantados diretamente pelos métodos através de um throw ou retornados pelo failure dos métodos de retorno. Verifique a documentação de cada método para preparar a sua chamada de acordo.


Did this page help you?