Manejo de Errores y Solución de Problemas
Guía completa para manejar errores de manera elegante y depurar problemas comunes con AnySpend para proporcionar la mejor experiencia al usuario.📊 Ciclo de Vida del Estado de la Orden
Entender los estados de las órdenes es crucial para el manejo adecuado de errores y la experiencia del usuario.Tipos de Estado de la Orden
Enumeración de Estado de la Orden
Descripciones de los Estados
Estado | Descripción | Acción Requerida por el Usuario |
---|---|---|
scanning_deposit_transaction | Esperando confirmación de pago | Ninguna - esperar confirmación de la blockchain |
waiting_stripe_payment | Procesando pago con tarjeta de crédito | Puede necesitar completar 3D Secure |
sending_token_from_vault | Enviando tokens para el intercambio | Ninguna - proceso automático |
relay | Transacción entre cadenas en progreso | Ninguna - esperar a la finalización |
executed | Transacción completada con éxito | Ninguna - ¡éxito! |
expired | Orden expirada antes de la finalización | Crear nueva orden |
refunding | Reembolso automático en progreso | Ninguna - esperar al reembolso |
refunded | Reembolso completado | Verificar billetera para tokens reembolsados |
failure | Transacción fallida | Revisar detalles del error, reintentar |
⚠️ Códigos de Error Comunes
Errores de Pago
INSUFFICIENT_BALANCE
INSUFFICIENT_BALANCE
Descripción: El usuario no tiene suficientes tokens para la transacciónSolución: Solicitar al usuario que agregue fondos a su billetera o elija un token de pago diferenteEjemplo:
INVALID_TOKEN_ADDRESS
INVALID_TOKEN_ADDRESS
Descripción: El contrato de token no es compatible en la cadena objetivoSolución: Verificar que el token sea compatible y proporcionar opciones alternativasEjemplo:
MINIMUM_AMOUNT_NOT_MET
MINIMUM_AMOUNT_NOT_MET
Descripción: La cantidad de la transacción está por debajo del umbral mínimoSolución: Aumentar la cantidad de la transacción o informar al usuario sobre los requisitos mínimosEjemplo:
MAXIMUM_AMOUNT_EXCEEDED
MAXIMUM_AMOUNT_EXCEEDED
Descripción: La cantidad de la transacción excede el límite máximoSolución: Reducir la cantidad o dividir en múltiples transaccionesEjemplo:
Errores de Red
SLIPPAGE
SLIPPAGE
Descripción: El precio se movió más allá de la tolerancia aceptable durante la ejecuciónSolución: Reintentar con una tolerancia de deslizamiento mayor o esperar a la estabilidad del precioEjemplo:
NETWORK_ERROR
NETWORK_ERROR
Descripción: Problemas de conexión RPC o congestión de la blockchainSolución: Reintentar después de un retraso o cambiar a un RPC alternativoEjemplo:
QUOTE_EXPIRED
QUOTE_EXPIRED
Descripción: La cotización del precio ya no es válidaSolución: Obtener una nueva cotización y reintentar la transacciónEjemplo:
CHAIN_NOT_SUPPORTED
CHAIN_NOT_SUPPORTED
Descripción: La blockchain solicitada no es compatibleSolución: Usar cadenas compatibles o implementar una alternativaEjemplo:
Errores de Contrato
CONTRACT_CALL_FAILED
CONTRACT_CALL_FAILED
Descripción: La ejecución del contrato inteligente fallóSolución: Verificar los parámetros y el estado del contratoEjemplo:
INSUFFICIENT_GAS
INSUFFICIENT_GAS
Descripción: El límite de gas establecido es demasiado bajo para la transacciónSolución: Aumentar el límite de gas o sugerir optimización de gasEjemplo:
NONCE_TOO_LOW
NONCE_TOO_LOW
Descripción: Conflicto de nonce de transacciónSolución: Esperar a que se completen las transacciones pendientesEjemplo:
TRANSACTION_REVERTED
TRANSACTION_REVERTED
Descripción: El contrato revirtió la transacciónSolución: Verificar el estado y los parámetros del contratoEjemplo:
🛠️ Patrones de Manejo de Errores
Manejo de Errores a Nivel de Componente
Componente de Pago con Manejo de Errores
Monitoreo del Estado de la Orden
Monitor de Estado de la Orden
Límite Global de Errores
Componente de Límite de Errores