Skip to content

Modulo de Pagos

import { Aside } from ‘@astrojs/starlight/components’;

El modulo de Pagos cierra el ciclo de la linea de credito: una vez que Consumo registra los cargos, Pagos los liquida segun la prelacion parametrizada por la empresa.

Cliente / Caja
|
v
+------------------+ REST/JSON +------------------+
| NoviSuite UI | <------------> | ms-credigestion|
+--------+---------+ +------------------+
| |
| eventos / datos | SOAP/XML (ServicioCartera)
v v
+------------------+ +------------------+
| MBA3 (ERP) | | ISISYSTEM |
+------------------+ +------------------+

ms-credigestion es el unico punto de entrada para registrar pagos contra ISISYSTEM. NoviSuite nunca habla SOAP directamente: recibe la respuesta normalizada de ms-credigestion y es NoviSuite quien coordina con MBA3 la emision de comprobantes (recibos y notas de credito).

ComponenteResponsabilidad
NoviSuite UICapturar la forma de pago, mostrar deuda y comprobante
ms-credigestion / PagosValidar request, llamar SOAP, normalizar respuesta, devolver JSON
isisystem-soapEncapsular el envelope SOAP y manejo de errores upstream
ISISYSTEM CarteraCalcular deuda, aplicar prelacion, recalcular mora, gestion y descuento
MBA3Emitir recibo / nota de credito y reflejar en cuentas por cobrar
  1. Cajero ingresa cedula o numero de tarjeta en NoviSuite
  2. NoviSuite llama POST /pagos/consulta-deuda
  3. ms-credigestion invoca ConsultarDeudaTarjeta en ISISYSTEM
  4. Respuesta normalizada incluye: pago de contado, pago minimo, mora, gestion, valor vencido y proxima fecha de pago
  1. Cajero captura formas de pago (efectivo y/o cheque) por un valor <= pago de contado
  2. NoviSuite llama POST /pagos/aplicar con la lista iFormaPagoVm
  3. ms-credigestion invoca GrabarPagoTarjeta
  4. ISISYSTEM aplica la prelacion parametrizada y devuelve facturas afectadas, rubros aplicados y nuevos saldos por cupo
  5. NoviSuite publica el numero de operacion para que MBA3 emita el recibo
  1. Operador autorizado solicita reverso por numero de operacion
  2. NoviSuite llama POST /pagos/reverso
  3. ms-credigestion invoca GrabarReversoPagoTarjeta
  4. ms-credigestion devuelve a NoviSuite las facturas y rubros revertidos; NoviSuite los publica a MBA3 para que emita la nota de credito correspondiente

Endpoints que ms-credigestion debera exponer para cubrir los flujos. Todas las rutas comparten el prefijo /credigestion.

POST /credigestion/pagos/consulta-deuda
Content-Type: application/json
{
"numeroTarjeta": "0916884245"
}

Tambien acepta numeroIdentificacion en lugar de numeroTarjeta.

{
"cliente": {
"codigo": 409912,
"nombre": "PATERNO MATERNO NOMBRE SEGUNDO",
"numeroTarjeta": "0916884245"
},
"deuda": {
"pagoContado": 425.50,
"pagoMinimo": 38.20,
"valorMora": 1.10,
"valorGestion": 0.00,
"valorVencido": 0.00,
"fechaProximoPago": "2025-04-15"
}
}
POST /credigestion/pagos/aplicar
Content-Type: application/json
{
"numeroTarjeta": "0916884245",
"valorPago": 425.50,
"fechaPago": "2025-03-25",
"formasPago": [
{ "codigo": "001", "valor": 425.50 }
]
}

Para cheque la forma de pago debe incluir los campos bancarios (institucionFinanciera, numeroDocumento, numeroCuenta, identCuentaCorrentista, nombreCuentaCorrentista).

{
"numeroOperacion": 3433020,
"facturasAfectadas": [
{ "numeroFactura": "001-001-000012345", "valor": 425.50 }
],
"rubrosAplicados": [
{ "codigo": "001", "tipoDocumento": "F", "valor": 423.40 },
{ "codigo": "010", "tipoDocumento": "F", "valor": 2.10 }
],
"cupos": [
{
"codigo": "003",
"descripcion": "Tarjeta Credito General",
"asignado": 850,
"disponible": 850,
"utilizado": 0
}
]
}
POST /credigestion/pagos/reverso
Content-Type: application/json
{
"numeroOperacion": 3433020,
"motivo": "Reverso por error de captura"
}
{
"estado": "REVERSADO",
"facturasAfectadas": [
{ "numeroFactura": "001-001-000012345", "valor": 425.50 }
],
"rubrosRevertidos": [
{ "codigo": "001", "tipoDocumento": "F", "valor": 423.40 },
{ "codigo": "010", "tipoDocumento": "F", "valor": 2.10 }
]
}
Endpoint RESTOperacion SOAPServicio
POST /pagos/consulta-deudaConsultarDeudaTarjetaCartera
POST /pagos/aplicarGrabarPagoTarjetaCartera
POST /pagos/reversoGrabarReversoPagoTarjetaCartera

El detalle del envelope SOAP, namespaces y manejo de errores estan en Modulo isisystem-soap.

Devuelve los rubros adeudados por el cliente. Es la base del calculo de “pago de contado” y “pago minimo”.

  • URL: http://186.5.126.42:8092/Cartera/ServicioCartera.svc
  • SOAPAction: http://tempuri.org/IServicioCar/ConsultarDeudaTarjeta
CampoTipoObligatorioDescripcion
cNumeroTarjetaTexto(20)CondicionalObligatorio si no viene cNumeroIdentificacion
cNumeroIdentificacionTexto(20)CondicionalObligatorio si no viene cNumeroTarjeta
cUsuarioTexto(10)SiUsuario asignado
cCodigoEmpresaTexto(6)SiCodigo de empresa
CampoTipoDescripcion
cTextoErrorTexto(250)Texto del error
lErrorBooleanotrue = error
nNumeroErrorNumerico(3)Nivel de error
nPagoContadoNumerico(18,2)Pago de contado total
nPagoMinimoNumerico(18,2)Pago minimo a la fecha de corte
nValorMoraNumerico(18,2)Mora acumulada
nValorGestionNumerico(18,2)Gestion de cobranza
nValorVencidoNumerico(18,2)Capital vencido
dFechaProximoPagoFechaFecha del proximo vencimiento

Aplica un pago segun la prelacion configurada por la empresa. Recalcula mora, gestion y descuento por pago anticipado.

  • URL: http://186.5.126.42:8092/Cartera/ServicioCartera.svc
  • SOAPAction: http://tempuri.org/IServicioCar/GrabarPagoTarjeta
CampoTipoObligatorioDescripcion
cNumeroTarjetaTexto(20)SiNumero de tarjeta del cliente
cTerminalTexto(15)SiNombre del equipo
cUsuarioTexto(10)SiUsuario asignado
cCodigoEmpresaTexto(6)SiCodigo de empresa
dFechaPagoFechaSiFormato yyyy-mm-dd
nValorPagoNumerico(18,2)SiValor total a aplicar
iFormaPagoVmSubclaseSiLista de formas de pago (ver subclases)

El total de nValorFormaPago debe coincidir exactamente con nValorPago.

CampoTipoDescripcion
cTextoErrorTexto(250)Texto del error
lErrorBooleanotrue = error
nNumeroErrorNumerico(3)Nivel de error
nNumeroOperacionNumerico(9)Numero de operacion del pago
oFacturaAfectadaVmSubclaseFacturas a las que se aplico el pago
oRubroAplicadoVmSubclaseRubros aplicados (capital, interes, mora, gestion)
oTipoCupoVmSubclaseCupos restituidos por el pago

Reversa un pago previamente aplicado. ISISYSTEM devuelve el detalle para que MBA3 emita la nota de credito correspondiente.

  • URL: http://186.5.126.42:8092/Cartera/ServicioCartera.svc
  • SOAPAction: http://tempuri.org/IServicioCar/GrabarReversoPagoTarjeta
CampoTipoObligatorioDescripcion
nNumeroOperacionNumerico(9)SiNumero de operacion del pago original
cTerminalTexto(15)SiNombre del equipo
cUsuarioTexto(10)SiUsuario asignado
cCodigoEmpresaTexto(6)SiCodigo de empresa
cMotivoReversoTexto(250)NoJustificacion del reverso
CampoTipoDescripcion
cTextoErrorTexto(250)Texto del error
lErrorBooleanotrue = error
nNumeroErrorNumerico(3)Nivel de error
oFacturaAfectadaVmSubclaseFacturas restituidas
oRubroAplicadoVmSubclaseRubros revertidos

Estas subclases viven en Modulo isisystem-soap:

ISISYSTEM aplica el pago en el orden parametrizado por la empresa. El orden tipico es:

  1. Gestion de cobranza
  2. Mora
  3. Interes vencido
  4. Capital vencido
  5. Interes por vencer
  6. Capital por vencer

ms-credigestion no decide la prelacion: delega 100% en ISISYSTEM.

  • La mora se recalcula a la fecha del pago
  • La gestion solo aplica si la cartera esta marcada como en gestion (mas de N dias vencidos segun la parametrizacion)

Si el cliente paga el contado completo, ISISYSTEM aplica el descuento por interes no devengado. Este descuento aparece reflejado en oRubroAplicadoVm con un valor negativo.

  • Efectivo (cCodigoFormaPago = 001): los campos bancarios deben venir vacios
  • Cheque (cCodigoFormaPago = 002): todos los campos bancarios son obligatorios. ISISYSTEM rechaza la operacion si alguno falta
EscenarioHTTPAccion
Tarjeta inexistente o anulada404Mostrar al cajero “cliente no encontrado”
nValorPago mayor a nPagoContado422Mostrar deuda vigente y pedir corregir
Suma de formas de pago != nValorPago422Validacion local antes de llamar SOAP
Cheque sin datos bancarios422Validacion local antes de llamar SOAP
lError = true desde ISISYSTEM502Devolver BadGatewayException con cTextoError
Timeout (mas de 30 s)504GatewayTimeoutException. Importante: consultar deuda al recuperarse para confirmar si el pago se aplico antes del timeout

En caso de timeout, no reintentar automaticamente GrabarPagoTarjeta. Consultar primero ConsultarDeudaTarjeta para verificar si la operacion quedo asentada y evitar duplicados.