Tratamento de Erros & Solução de Problemas
Guia abrangente para lidar com erros de forma graciosa e depurar problemas comuns com o AnySpend para proporcionar a melhor experiência ao usuário.📊 Ciclo de Vida do Status do Pedido
Entender os estados dos pedidos é crucial para o tratamento adequado de erros e a experiência do usuário.Tipos de Status do Pedido
Enum de Status do Pedido
Descrições dos Status
Status | Descrição | Ação do Usuário Necessária |
---|---|---|
scanning_deposit_transaction | Aguardando confirmação do pagamento | Nenhuma - aguarde a confirmação da blockchain |
waiting_stripe_payment | Processando pagamento com cartão de crédito | Pode ser necessário completar o 3D Secure |
sending_token_from_vault | Enviando tokens para troca | Nenhuma - processo automático |
relay | Transação cross-chain em progresso | Nenhuma - aguarde a conclusão |
executed | Transação concluída com sucesso | Nenhuma - sucesso! |
expired | Pedido expirou antes da conclusão | Crie um novo pedido |
refunding | Reembolso automático em progresso | Nenhuma - aguarde o reembolso |
refunded | Reembolso concluído | Verifique a carteira para tokens reembolsados |
failure | Transação falhou | Revise os detalhes do erro, tente novamente |
⚠️ Códigos de Erro Comuns
Erros de Pagamento
INSUFFICIENT_BALANCE
INSUFFICIENT_BALANCE
Descrição: Usuário não tem tokens suficientes para a transaçãoSolução: Solicite que o usuário adicione fundos à sua carteira ou escolha um token de pagamento diferenteExemplo:
INVALID_TOKEN_ADDRESS
INVALID_TOKEN_ADDRESS
Descrição: Contrato de token não suportado na cadeia de destinoSolução: Verifique se o token é suportado e forneça opções alternativasExemplo:
MINIMUM_AMOUNT_NOT_MET
MINIMUM_AMOUNT_NOT_MET
Descrição: Quantidade da transação está abaixo do limite mínimoSolução: Aumente a quantidade da transação ou informe ao usuário os requisitos mínimosExemplo:
MAXIMUM_AMOUNT_EXCEEDED
MAXIMUM_AMOUNT_EXCEEDED
Descrição: Quantidade da transação excede o limite máximoSolução: Reduza a quantidade ou divida em múltiplas transaçõesExemplo:
Erros de Rede
SLIPPAGE
SLIPPAGE
Descrição: Preço movido além da tolerância aceitável durante a execuçãoSolução: Tente novamente com maior tolerância de slippage ou aguarde a estabilidade do preçoExemplo:
NETWORK_ERROR
NETWORK_ERROR
Descrição: Problemas de conexão RPC ou congestionamento da blockchainSolução: Tente novamente após um atraso ou mude para um RPC alternativoExemplo:
QUOTE_EXPIRED
QUOTE_EXPIRED
Descrição: Cotação de preço não é mais válidaSolução: Obtenha uma nova cotação e tente a transação novamenteExemplo:
CHAIN_NOT_SUPPORTED
CHAIN_NOT_SUPPORTED
Descrição: Blockchain solicitada não é suportadaSolução: Use cadeias suportadas ou implemente uma alternativaExemplo:
Erros de Contrato
CONTRACT_CALL_FAILED
CONTRACT_CALL_FAILED
Descrição: Execução do contrato inteligente falhouSolução: Verifique os parâmetros e o estado do contratoExemplo:
INSUFFICIENT_GAS
INSUFFICIENT_GAS
Descrição: Limite de gás definido muito baixo para a transaçãoSolução: Aumente o limite de gás ou sugira otimização de gásExemplo:
NONCE_TOO_LOW
NONCE_TOO_LOW
Descrição: Conflito de nonce da transaçãoSolução: Aguarde a conclusão das transações pendentesExemplo:
TRANSACTION_REVERTED
TRANSACTION_REVERTED
Descrição: Contrato reverteu a transaçãoSolução: Verifique o estado e os parâmetros do contratoExemplo:
🛠️ Padrões de Tratamento de Erros
Tratamento de Erros no Nível do Componente
Componente de Pagamento com Tratamento de Erros
Monitoramento do Status do Pedido
Monitor de Status do Pedido
Limite Global de Erros
Componente de Limite de Erros