Errores
Qué significa cada respuesta que no es 2xx, y qué hacer con ella.
Los que vas a ver integrando
| Código | Qué pasó | Qué hacer |
|---|---|---|
400 |
Falta el header Idempotency-Key. |
Mándalo. Es obligatorio en todo cobro. |
400 |
La urlRetorno no es de tu sitio. |
Tiene que ser de tu dominio registrado o un subdominio suyo, y empezar por https. Si cambiaste de dominio, actualízalo en Ajustes. |
401 |
La llave no sirve. | Está mal copiada, o la rotaste y quedó la anterior en tu configuración. |
409 |
No tienes registrado tu sitio ni tu página de retorno. | Se configuran una vez en el portal, en Ajustes. Sin eso no se puede cobrar, porque el comprador se quedaría sin forma de volver. |
409 |
Tu comercio no está aprobado todavía. | Falta que EvePay lo apruebe. Escríbenos. |
409 |
Esa Idempotency-Key ya se usó con otro cuerpo. |
Dos pedidos distintos están compartiendo clave. Usa una por pedido, estable entre reintentos. |
503 |
La pasarela no respondió. | No es un fallo de tu petición. Viene con Retry-After: reintenta con la misma Idempotency-Key y no se duplica nada. |
La diferencia entre 503 y 400 es deliberada. Un
503te dice «vuelve a intentar»; un400, «algo de tu petición está mal y reintentar no ayuda». Distinguirlos evita que tu sistema reintente en bucle contra un error que nunca se va a arreglar solo.
Cómo vienen
Los errores de validación traen el detalle por campo, para que sepas cuál corregir sin adivinar:
{
"statusCode": 400,
"message": {
"formErrors": [],
"fieldErrors": {
"urlRetorno": [
"Debe ser una dirección https completa, por ejemplo https://tutienda.co/gracias"
]
}
}
}
Un pago aprobado que no te llegó
Si el comprador dice que pagó y tu sistema no se enteró, el aviso no llegó o se perdió. Consulta GET /v1/pagos/:id: ese es el estado real. Si está aprobado, el cobro existe y la plata también; lo que falló fue la entrega del aviso.