Taxonomía de errores
- Errores de red (HTTP ≠ 200)
- Errores de negocio (HTTP 200, int_codigo: 2)
- Errores de la red financiera (int_codigo: 1 + estado final rechazado)
La request no llegó al API, o la respuesta fue rechazada antes de procesarse.
- HTTP 404: URL mal escrita.
- HTTP 415:
Content-Typeincorrecto. - HTTP 500/502/503: problema del servidor.
- Timeout: red o servidor saturado.
Patrón recomendado
Retry con backoff (solo para errores de red)
Mensajes de error conocidos
| Mensaje | Causa probable | Acción |
|---|---|---|
"Object reference not set to an instance of an object." | Credenciales inválidas o campo crítico faltante. Es una excepción .NET cruda. | Validar credenciales y estructura del body. |
"Credenciales inválidas" | Usuario/clave no reconocidos. | Revisar config. |
"Código 50 requerido" | Tu comercio tiene PSE pero no enviaste el código 50. | Incluirlo en AdicionalesConfiguracion. |
"str_id_pago ya existe" | Intento de reutilizar un ID. | Usar un nuevo ID. |
Qué mostrar al usuario
Nunca muestres
Puede contener nombres de variables internas o información sensible.Mapea errores técnicos a mensajes de negocio:
str_descripcion_error crudo al usuario.Puede contener nombres de variables internas o información sensible.Mapea errores técnicos a mensajes de negocio:
Alertas operativas
Configura alertas para:- Tasa de errores de red > 1% en los últimos 10 min → problema del lado de Zonapagos o de tu red.
- Tasa de
int_codigo: 2> 5% → probablemente bug en tu código (credenciales mal, campo mal construido). - Sonda no ejecutada en > 30 min → tu cron murió. Los pagos pendientes se acumulan.
- Pagos en estado
999> 24h → requieren intervención manual.
Ver también
Errores comunes
Tabla completa de errores con diagnóstico.
Logging
Qué loguear para facilitar debugging.