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:

public enum TapErrors: 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 ao inicializar o AppleTap
    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(TapInitialDataNotProvided?) //Documento não informado
    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
}

Com base nesses erros, o parceiro integrador passa a ter controle para tratá-los adequadamente e notificar o usuário sempre que necessário.

Esses erros podem ser lançados diretamente pelos métodos, por meio de um throw, ou retornados no failure dos callbacks. Consulte a documentação de cada método para preparar a chamada corretamente.


Did this page help you?