Skip to main content
El response de POST /VerificacionPago contiene un campo str_res_pago con los detalles de las transacciones en un formato propietario de texto plano:

Reglas del formato

Separador de campos: pipe simple |
Separador de pagos: pipe-punto-y-coma-pipe |;|
Orden fijo: los primeros 21 campos son comunes a todos los medios de pago.
Campos adicionales: a partir del 22, dependen de int_id_forma_pago (ver Campos por medio).
Trailing |;|: el string suele terminar con |;| — ignóralo al dividir.

Orden fijo de los 21 campos base

Los campos 22+ dependen del medio. Ver Campos por medio de pago.

Ejemplo de string real

Descompuesto:
  • Pedido 31, intento 3773
  • Pago parcial: 1, terminado: 1, estado: 1
  • Valor: 12500, total: 12500, IVA: 0
  • Descripción: “camisa”, cliente “Cristina Vargas”
  • Medio: 29 (PSE), banco: BANCO UNION COLOMBIANO (código 1022)
  • CUS (str_codigo_transaccion): 1468228

Parsers listos para copiar

Casos especiales

str_res_pago vacío

Cuando int_cantidad_pagos: 0, el campo puede venir como "", null o con solo |;|. El parser devuelve [] en todos los casos.

Varios intentos de pago (mixto)

Si el pago fue mixto (109: "1"), verás varios objetos en el array retornado por el parser. Cada uno tiene su propio int_n_pago, int_id_forma_pago y dbl_valor_pagado. La suma de dbl_valor_pagado debería equivaler a flt_total_con_iva del request original.

Campos con pipe en el valor

No verificado empíricamente: no sabemos si ZonaPagos escapa los pipes en valores de campos libres como str_opcional1-5. Para evitar problemas, no incluyas | ni ; en los campos opcionales que envíes.[Pendiente con TI: confirmar si existe un mecanismo de escape.]

Ver también

Campos por medio de pago

Detalle de cada campo adicional según el medio usado.

Estados de pago

Qué significa cada valor de int_estado_pago.