Referencia de errores

Patrones de error conocidos en Cobru, status codes engañosos y guía de troubleshooting.

El modelo actual de errores de Cobru funciona, pero todavía no es ergonómico. Algunas fallas de validación aparecen como 403 Forbidden, y la forma de la respuesta no siempre es descriptiva.

Formatos de respuesta actuales

Lo más común es ver una de estas respuestas:

{ "error": "Error en la creacion del cobru." }
{ "payment_method_enabled": ["Not a valid string."] }

Estrategia recomendada para manejar errores

Captura el status HTTP exacto, headers y body raw de respuesta de Cobru.

Normaliza la respuesta de Cobru a tu propio tipo de error interno.

Decide si el error es reintentable, corregible por el caller u operativo.

Muestra un mensaje seguro al usuario final y conserva el payload raw en logs.

Quirks conocidos

SíntomaHTTP codeCausa realFix
payment_method_enabled enviado como objeto400Cobru espera un string JSONejecutar JSON.stringify() antes de enviar
falta payer_redirect_url o callback403falla de validación del requestenviar ambos campos al crear el pago
hay credenciales pero falla la creación del pago403la forma del body puede ser inválida, no authrevisar payment_method_enabled, redirect URLs y content type
falla el campo refresh_token400 o auth failurenombre de campo incorrectousar refresh
la URL de pago no abrebug clientese está usando pk en vez del slug urlconstruir {baseUrl}/{url}

Categorías internas sugeridas

CategoríaÚsala para
configuration_errorcredenciales faltantes, ambiente incorrecto, callback URL ausente
request_validation_errorpayloads mal formados, tipos inválidos, campos requeridos ausentes
authentication_errormaterial de auth inválido o expirado
provider_processing_errorCobru o un proveedor downstream falló después de validar el request
reconciliation_errorel callback y el estado del pago no coinciden con tu estado interno

Checklist de troubleshooting

  1. Confirma que estás usando la base URL correcta.
  2. Confirma que las tres credenciales están presentes.
  3. Loguea el JSON exacto antes de enviarlo.
  4. Verifica que payment_method_enabled vaya serializado como string.
  5. Confirma que callback y payer_redirect_url sean URLs HTTPS válidas.
  6. Conserva las respuestas raw de Cobru en logs durante la integración.

Qué conviene loguear en cada request fallido

  • request ID interno
  • endpoint y método Cobru
  • body sanitizado enviado
  • status HTTP
  • respuesta raw de Cobru
  • categoría interna del error
  • decisión de retry

Guía de reintentos

Modelo deseable a futuro

Un modelo futuro de errores en Cobru debería migrar a application/problem+json con tipos de error estables y legibles por máquina. Hasta entonces, conviene normalizar las respuestas de Cobru a tu propio formato interno.

On this page