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:
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.
Componentes de la solución
El despliegue de la solución requiere la interacción de los siguientes 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
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.