Skip to main content
El método cumplirá la función de registrar los pagos dependiendo del número de facturas involucradas en la transacción.

Endpoint

POST http://dominio_comercio/ApiPagosN3/api/NotificarPagos 
Metodo**Formato
POSTJSON
IMPORTANTE: el comercio debe controlar el doble asentamiento, para ello el control lo realizan por el campo “IdPago” que se detalla en el Request
En caso de que se realicen varios llamados y este contiene el mismo “IdPago” se entiende que es el mismo pago y solo deberá tener en cuanta uno para el asentamiento. Se deberá desarrollar con las siguientes características:

Request

NOMBRETIPO Y TAMAÑODESCRIPCIÓN
IdComercioInteger ObligatorioIdentificación del comercio en zonapagos, este valor es una constante y llega como parámetro de consulta en el método.
PasswordString(15) ObligatorioCorresponde a la contraseña de identificación entre zonapagos y comercio, este valor será de común acuerdo entre Zona Virtual y el comercio, con la finalidad que el comercio solo atiende la notificación si la contraseña enviada corresponde.
IdClienteString(20) ObligatorioID o número de identificación del cliente, con este parámetro se buscan las facturas en la base de datos relacionadas al cliente con el fin de saber si existe y se encuentran en estado pendiente de pago.
FacturasArray ObligatorioEs un objeto tipo arreglo que contiene todas las facturas involucradas en el pago realizado. En el título siguiente que lleva por nombre “Arreglo facturas” se muestra la estructura del arreglo.
EstadoPagoInteger(5) ObligatorioSe envía 1 si el pago se realizó OK, 0 (cero) si el pago no se pudo realizar. En caso de que se notifiquen los pagos rechazados (Estado 1000) el Comercio debe estar en la capacidad de responder: 0 Se realizó exitosamente la actualización del pago como lo indica el campo CodEstado. 1001 Error entre ACH y el Banco. (Rechazada) Esto con el fin de que la transacción no quede en la SONDA de zonapagos y de no bloquear al usuario si intenta realizar un nuevo pago.
FormaPagoDouble(5) ObligatorioCorresponde a la forma de pago utilizada:• 32 Tarjeta de crédito • 29 PSE • 41 PDF generado en zonapagos • 42 Gana • 49 Nequi • 48 Bancolombia • 46 Daviplata • 77 Mefía
ValorTotalPagadoInteger ObligatorioTotal a pagar de la factura o grupo de facturas con IVA incluido, máximo dos decimales, usando “.” como separador.
FechaPagoString Formato: dd/MM/AAAA HH:mm:ss ObligatorioFecha y hora en la que se realiza la transacción.
IdPagoInteger(20) ObligatorioIdentificador único de la transacción.
TicketIDInteger(20) ObligatorioSe envía el identificador del pago ante el banco, (este valor es el que aparece en el informe emitido por ACH PSE para identificar el pago en el sistema de Tarjeta de Crédito.
CUSString(20) OpcionalAplica Solo Medio de Pago PSE. Retorna el código único de transacción CUS. En caso de que el pago se realizó con tarjeta de crédito se envía “0” cero o vacío.
CodigoServicioString(10) OpcionalAplica Solo Medio de Pago PSE. Retorna el código de Servicio, con el cual se inició la transacción. En caso de que el pago se realizó con tarjeta de crédito se envía “0” cero o vacío. En caso de ser multicrédito aquí se retorna el código de servicio principal padre.
CicloTransaccionInteger(2) OpcionalAplica Solo Medio de Pago PSE. Retorna el ciclo de la transacción. En caso de que el pago se realizó con tarjeta de crédito se envía “0” cero
CodigoBancoInteger(6) OpcionalCódigo único de identificación del banco.
NombreBancoString(50) OpcionalNombre del banco.
FranquiciaString(20) OpcionalNombre de la franquicia.
CodAprobacionString(30) OpcionalCódigo de aprobación de cuando el pago se realiza con tarjeta de crédito. En caso de que el pago se realizó con ACH PSE se envía “0” cero o vacío.
Campo1String(70) OpcionalRetorna la información del campo opcional 1 que se envió cuando se inició la transacción.
Campo2String(70) OpcionalRetorna la información del campo opcional 2 que se envió cuando se inició la transacción.
Campo3String(70) OpcionalRetorna la información del campo opcional 3 que se envió cuando se inició la transacción.
NumeroPagoInteger(8) OpcionalConsecutivo asignado de manera interna en el sistema.
Nota: (EstadoPago) Es importante aclarar que el Comercio responde exitosamente la confirmación del pago, pero NO lo debe aplicar en su sistema dado que es un pago rechazado.

Arreglo facturas

NOMBRETIPO Y TAMAÑODESCRIPCIÓN
IdFacturaString(20) ObligatorioNúmero único que identifica cada factura involucrada en el pago.
ValorPagadoDouble(20) ObligatorioEs el valor pagado de cada factura involucrada en el pago, se utiliza el punto “.” como separador decimal con dos dígitos decimales
FechaVencimientoString Formato: DD/MM/YYYY OpcionalFecha de vencimiento de cada factura involucrada en el pago. Si no usa fecha de vencimiento, se envía vacía
OrdenInteger(2) OpcionalCorresponde al orden de las facturas que serán objeto de pago

Ejemplo Request

{ 
 "IdComercio": 2652, 
 "Password": "PagosN3", 
 "IdCliente": "A123456789", 
 "Facturas": [  
  { 
  "IdFactura": "123456789", 
  "ValorPagado": 11898.81, 
  "FechaVencimiento": "31/12/2017", 
  "Orden": 1 
  }, 
  { 
  "IdFactura": "123456790", 
  "ValorPagado": 11898.81, 
  "FechaVencimiento": "31/12/2017", 
  "Orden": 2 
  } 
],
"EstadoPago": 1, 
 "FormaPago": 29, 
 "ValorTotalPagado": 23797.62, 
 "FechaPago": "13/10/2017 08:48:17", 
 "IdPago": 2653, 
 "TicketID": 20100180, 
 "CUS": "1350706", 
 "CodigoServicio": "2701", 
 "CicloTransaccion": 1, 
 "CodigoBanco": 7, 
 "NombreBanco": "Bancolombia", 
 "Franquicia": "Visa", 
 "CodAprobacion": "1350706", 
 "Campo1": "Carrera 50 # 50 sur 50", 
 "Campo2": "", 
 "Campo3": "", 
 "NumeroPago": 180 
} 

Response

NombreTipoDescripción
CodEstadoInteger(2) ObligatorioSe retorna los siguientes códigos, dependiendo del estado de la transacción realizada 0 Se realizó exitosamente la actualización del pago. 1 No se pudo realizar la actualización del pago. 2 Error en autenticación de seguridad. 99 Error técnico o inesperado en la operación.
DescripcionEstadoString(100) ObligatorioSe retorna el mensaje descriptivo, de acuerdo con el código 0 Se realizó exitosamente la actualización del pago. 1 No se pudo realizar la actualización del pago. 2 Error en autenticación de seguridad. 99 Error técnico o inesperado en la operación.

Ejemplo Response

{
  "CodEstado": 0,
  "DescripcionEstado": "Se realizó exitosamente la actualización del pago."
}