Objetivo general

El proceso de conciliación tiene como objetivo el garantizar que cuando los montos de las transacciones reportadas por Fiserv no coincidan con los montos de la colección fiservTransactions, se notifique a los servicios de Mirror para su posterior sincronización.

Fases del proceso

Conciliación de ATPTX

La información de las transacciones es reportada diariamente por Fiserv en un archivo con la extensión ATPTX. Usando la librería spin_conciliations, El proceso lee el archivo y posteriormente lee la información residente en la colección Fiserv.transactions, una vez se tienen las dos colecciones, se realiza una iteración entre los resultados y aplicar un filtrado por cada tipo de proveedor y por ende, por cada registro.

Si existe inconsistencias en los saldos entre un registro que viene de FISERV y un registro que viene de SPIN, para el registro de la base de datos de mirror asociada a la cuenta se dejará en True la bandera forceSync en la base de datos de balance de Mirror, para su posterior sincronización, cuando el usuario ingrese a la plataforma, de lo contrario, se pasará al siguiente registro.

A continuación se presenta el diagrama de flujo del proceso:

Diagrama de flujo conciliación de transacciones

Conciliación de Autorizaciones de pagos con tarjeta


La información de autorizaciones es comunicada diariamente por Fiserv en el archivo dfmlg0a1 (Exceptuando domingos). Entre la información relevante para el proceso de conciliación se extraen los campos que se consideran relevantes:

  • authorizationDate: Fecha de autorización

  • authorizationTime: Hora de autorización

  • accountNumber: Número de cuenta

  • recordType:Tipo de registro

  • fasActionFinal: Código de acción final

  • authorizationCode: Código de autorización

Se seleccionan únicamente los registros con fasActionFinal=A y recordType=A.

Posteriormente se lee de la base de datos de fiservTransactions todos los registros de los últimos 15 días donde el accountNumber y authorizationCode coincidan con los reportados por Fiserv. Los números de cuenta de los registros que no se encuentren en la colección registrada proveniente de fiservTransactions se ingresan en una lista, con la que finalmente se actualizará la base de datos de Mirror de forma análoga a la del proceso anterior.

Diagrama de flujo conciliación de autorizaciones


Componentes de la solución

El despliegue de la solución requiere la interacción de los siguientes componentes:


Diagrama de componentes

Para la implementación o mantenimiento se requieren los siguientes accesos:

  • Accesos al repositorio spin-analytics

  • Acceso AWS (Glue)

  • Acceso a las BD's en MongoDB de los proyectos de Spin Mirror Strategy


Repositorio

Spin-analytics

PR - DEV: https://github.com/fintechdigitalventure/spin-analytics/pull/990/files

Aprobación del código en DEV en spin-analytics

Configuración

El proceso usa la siguiente variable de entorno definida en AWS:

Variable

Valor

FFSS_MONGO_PARAM

/pagopop/{ENV}/mongodb-ffss-uri

Ejecución

El proceso utiliza el método existente prepare_datptx para realizar las consultas a la base de datos de transacciones y en el archivo atptx suministrado por Fiserv. El tiempo de ejecución tarda en promedio dos minutos con las pruebas que se han hecho, sin embargo es necesario validar el volumen de transacciones con inconsistencias que se puedan encontrar durante un día. Entre estas inconsistencias se encuentran:

  • Transacciones no reportadas a Spin.

  • Transacciones con valor reportado por Fiserv distinto al registrado en la base de datos de Spin.