⚙️ Especificación de Parámetros
🔍 Verificación del Estado del Pago
Este servicio permite al comercio consultar el estado real y actualizado de una transacción realizada a través de la Pasarela de Pagos Zonapagos.
La verificación del pago debe realizarse exclusivamente desde el backend del comercio, ya que requiere el uso de credenciales sensibles. Bajo ninguna circunstancia estas credenciales deben ser expuestas en frontend, aplicaciones cliente o código público.
El servicio VerificacionPago es la única fuente confiable para determinar el estado final de una transacción, independientemente de la redirección del usuario o de la notificación recibida por URL.
El comercio debe consumir este servicio en los siguientes escenarios:
Mediante este servicio es posible identificar si una transacción se encuentra en estado:
En caso de estados pendientes, el comercio debe aplicar las reglas de control definidas por PSE, incluyendo el bloqueo de nuevos intentos y la visualización del mensaje informativo obligatorio.
{
"int_id_comercio": 0001,
"str_usr_comercio": "COMERCIO_PRUEBAS",
"str_pwd_Comercio": "CLAVE_PRUEBAS",
"str_id_pago": "00000",
"int_no_pago":-1
}
A continuación se presentan ejemplos de cómo consumir el servicio VerificacionPago desde diferentes lenguajes de programación.
Estos ejemplos ilustran la estructura de la solicitud HTTP, el envío del cuerpo en formato JSON y los encabezados requeridos para realizar la consulta del estado de una transacción.
Los ejemplos son únicamente de referencia y deben adaptarse a la arquitectura, librerías y estándares de seguridad del comercio.
El servicio VerificacionPago permite consultar el estado real de una o varias transacciones asociadas a una referencia de pago.
Una ejecución correcta del servicio no garantiza que existan pagos, únicamente confirma que la consulta fue procesada correctamente.
El comercio debe validar los campos int_cantidad_pagos y str_res_pago para determinar el resultado.
| Parámetro | Tipo | Descripción |
|---|---|---|
int_estado |
Numérico | Indica si la ejecución del servicio fue correcta. 1: Ejecutó correctamente 2: Ejecutó con error |
int_error |
Numérico | Resultado lógico de la consulta.0: Se encontraron pagos 1: Error en validaciones (ver str_detalle) |
str_detalle |
Alfanumérico | Detalle textual del error cuando ocurre una falla en la ejecución |
int_cantidad_pagos |
Numérico | Cantidad total de pagos encontrados para la consulta realizada |
str_res_pago |
Alfanumérico | Detalle de las transacciones encontradas, separado por pipes ( |
int_estado = 1 no indica aprobación del pago, solo que el servicio se ejecutó correctamente.str_res_pago.str_res_pago está separado por el carácter |.|;|.str_res_pagoCada transacción contiene los siguientes campos en orden:
| Posición | Campo | Tipo | Descripción |
|---|---|---|---|
| 1 | int_ped_numero |
Numérico | Número de pedido retornado por Zonapagos |
| 2 | int_n_pago |
Numérico | Número único de transacción |
| 3 | int_pago_parcial |
Numérico | Indica si el pago hace parte de una transacción dividida |
| 4 | int_pago_terminado |
Numérico | Estado de finalización del pago |
| 5 | int_estado_pago |
Numérico | Estado actual de la transacción |
| 6 | dbl_valor_pagado |
Numérico | Valor efectivamente pagado |
| 7 | dbl_total_pago |
Numérico | Valor total enviado por el comercio |
| 8 | dbl_valor_iva_pagado |
Numérico | Valor del IVA pagado |
| 9 | str_descripcion |
Alfanumérico | Descripción del pago |
| 10 | str_id_cliente |
Alfanumérico | Identificador del cliente |
| 11 | str_nombre |
Alfanumérico | Nombre del cliente |
| 12 | str_apellido |
Alfanumérico | Apellido del cliente |
| 13 | str_telefono |
Alfanumérico | Teléfono del cliente |
| 14 | str_email |
Alfanumérico | Correo del cliente |
| 15–19 | str_campo1 a str_campo5 |
Alfanumérico | Campos opcionales enviados en InicioPago |
| 20 | dat_fecha |
Alfanumérico | Fecha de la transacción |
| 21 | int_id_forma_pago |
Numérico | Código del medio de pago |
int_estado_pago)| --- | --- |
| --- | --- |
| --- | --- |
| --- | --- |
| --- | --- |