Skip to main content
Objeto JSON que recibes al llamar POST /VerificacionPago.

Estructura

{
  "int_estado": 1,
  "int_error": 0,
  "str_detalle": null,
  "int_cantidad_pagos": 2,
  "str_res_pago": "31|3773|1|1|1|...|;|"
}

Campos

int_estado
integer
Resultado de la ejecución del API:
  • 1 → Ejecutó correctamente (aunque no hayan encontrado pagos).
  • 2 → Error de autenticación o validación.
int_error
integer
Resultado de la consulta:
  • 0 → Consulta exitosa. Puede haber o no pagos.
  • -1 → Error. Ver str_detalle.
str_detalle
string | null
Texto del error cuando int_error: -1. null en caso de éxito. Máximo 50 caracteres.
int_cantidad_pagos
integer
Número de intentos de pago encontrados para el str_id_pago consultado.Si un pago fue mixto (pagado con varios medios), cada medio cuenta como un intento. Ejemplo: un pago dividido en 2 tarjetas arroja int_cantidad_pagos: 2.
str_res_pago
string
Detalle de las transacciones en formato de texto plano con separadores | y |;|.Ver Parsear str_res_pago.

Casos posibles

Pago aprobado con un solo intento

{
  "int_estado": 1,
  "int_error": 0,
  "str_detalle": null,
  "int_cantidad_pagos": 1,
  "str_res_pago": "31|3773|0|1|1|50000|50000|7983|...|21/04/2026 14:32:41|29|TKT|2701|1022|BANCOLOMBIA|CUS|3|;|"
}

Pago mixto con 2 intentos (1 PSE + 1 TC)

{
  "int_estado": 1,
  "int_error": 0,
  "str_detalle": null,
  "int_cantidad_pagos": 2,
  "str_res_pago": "31|3773|1|1|1|30000|50000|...|29|...|;|31|3774|1|1|1|20000|50000|...|32|...|;|"
}

Pago no encontrado

{
  "int_estado": 1,
  "int_error": 0,
  "str_detalle": null,
  "int_cantidad_pagos": 0,
  "str_res_pago": ""
}

Credenciales inválidas

{
  "int_estado": 2,
  "int_error": -1,
  "str_detalle": "Credenciales inválidas",
  "int_cantidad_pagos": 0,
  "str_res_pago": null
}

Patrón de manejo

const { data } = await axios.post(`${API_URL}/VerificacionPago`, body);

// 1. ¿Ejecutó bien?
if (data.int_estado !== 1) {
  throw new Error(`API falló: ${data.str_detalle || "sin detalle"}`);
}

// 2. ¿Hubo error de consulta?
if (data.int_error !== 0) {
  logger.warn("VerificacionPago con error", { detalle: data.str_detalle });
  return { encontrado: false };
}

// 3. ¿Hay pagos?
if (data.int_cantidad_pagos === 0) {
  return { encontrado: false };
}

// 4. Parsear
const pagos = parseStrResPago(data.str_res_pago);
return { encontrado: true, pagos };

Ver también

Parsear str_res_pago

Cómo extraer objetos manipulables.

Estados de pago

Qué hacer con cada int_estado_pago.