Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Objetivo general

Se deberá de crear un proceso de tipo Job donde se consumirá o implementará una función de Spin en la cual se procesa la información que proviene de FISERV a través de los archivos .ATPTX y la información que está persistida en SPIN a través de la colección Fiserv.transactions para después, iterar la colección de 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, entonces, se realizará el llamado al servicio de account-aggregation-service => sync() parasincronizar la información en el Mirrorpara 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 detalla presenta el flujo anteriormente descrito por de medio de un Diagrama de Flujo:

Image Removed

Para poder realizar este proceso, debemos contar con lo siguiente del lado del cliente (Spin) para poder desarrollar la solución propuestadiagrama 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:

Image Added

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

...

Configuración

El proceso usa las siguientes variables la siguiente variable de entorno definidas definida en AWS:

Variable

Valor

SYNC_PARAM

/pagopop/{ENV}/sync-url

KEYFFSS_MONGO_PARAM

/pagopop/{ENV}/syncmongodb-apiffss-keyuri

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:

...