Árvore de páginas

CONTEÚDO

  1. Visão Geral
  2. Parametrização
  3. Manutenção de Liberações
  4. Fluxo de eventos (Explicação)


01. VISÃO GERAL

Foram implementadas funcionalidades para liberação de valores de forma automática e online facilitando assim o processo na entrada e efetivação das operações no Credimaster.

A partir dessas implementações, ficarão disponíveis inicialmente duas novas opções de pagamento para o valor liberado das operações, através de transferência entre contas pertencentes a outro sistema Dimensa, o Conta Corrente Digital, e também para pagamentos através de PIX para qualquer banco.


Projetos envolvidos: 

Sistema

Versão

Básico ServiceJSBA_4.12.15
Básico WebJBA_5.10.5
Credimaster Web

JCF_5.17.0

Credito Service

JSCF_4.18.0
Crédito Efetivacao SB Service 

JSBCREDEF_1.3.0

Crédito Pagamento SB Service JSBCREDPAG_1.1.0


Principais mudanças envolvidas nessas implementações:

  • Inclusão de novos meios de pagamentos: "Ordem de pagamento PIX" e "Lançamento C/C Online". Alteração da nomenclatura do antigo meio "Lançamento C/C" para "Lançamento C/C Batch" 
  • Adicionado tratamento no processo de efetivação (*) para separar os lançamentos de liberação parametrizados com os novos meios de pagamentos para que sejam postados em uma fila para tratamento específico e a parte.
  • Adicionado uma nova estrutura de processamento que obtêm os dados das liberações da fila e faz a comunicação online a depender do tipo de pagamento.
    • Nos casos parametrizados com "Lançamento C/C Online", o fluxo irá efetuar a chamada diretamente ao módulo Conta Corrente através de APIs para realizar a movimentação do crédito.
    • No caso do "Ordem de Pagamento PIX", o fluxo irá efetuar a chamada às nossas APIs do integrador TOTVS SPI para assim efetuar uma comunicação com o BACEN. 
  • Adicionado uma estrutura de processamento para tratamento do retorno das chamadas efetuadas, no caso do PIX, tratamento da confirmação da execução da ordem de pagamento. 
  • Uma tela nova para manutenção das liberações, possibilitando a visualizar, editar e controlar a execução das liberações. Essa tela estará disponível no menu Liberações do módulo Operações de Crédito na versão Wildfly Keycloak.

(estrela) Alteração feita somente na versão mais nova da efetivação, através da instalação e configuração dos novos projetos Crédito Efetivação (SPACFEF) e o Credito Efetivacao SB Service (JSBCREDEF). O projeto Credito Efetivacao SB Service é um módulo de serviços em Spring Boot que foi criado para melhorias de performance.


Histórico de Atualizações:

DataVersãoDescrição

JSBA_4.12.15, JBA_5.10.5

  • Inclusão dos meios de pagamentos no básico.
  • Criação de serviço para a listagem dos meios de pagamento.

JSBCREDPAG_1.1.0, JSBCREDEF_1.3.0, JSCF_4.18.0, JCF_5.17.0, JSBA_4.12.15, JBA_5.10.5

  • Entrega da solução principal.
  • Alterações na efetivação para tratamento das liberações.
  • Adição de parametrização. processamentos e eventos para processamento das liberações.
  • Tratamento de retorno das respostas das liberações.

02. PARAMETRIZAÇÃO

Para uso das funcionalidades implementadas será preciso alguns pequenos passos antes. 

  • Parametrização do meio de pagamento adequado (no módulo básico) para posterior seleção na momento da inclusão da liberação.
  • Parametrização do histórico de transferência da função histórico de liberações escolhida para a modalidade (no módulo backoffice de crédito - modalidade). 
  • Parametrização da chave PIX na conta do cliente favorecido (no módulo backoffice de crédito - contas) (somente para pagamentos PIX).
  • Parametrização para permitir pagamentos antes da efetivação (caso seja do modelo de negócio da instituição).

Mais detalhes de cada uma das parametrizações acima estão disponíveis no documento de referência: (DR - Configurações da Liberação de Crédito (online))

03. MANUTENÇÃO DE LIBERAÇÕES

Uma tela para manutenção das liberações para facilitar a visualização, edição e mesmo o envio das liberações em caso de problemas.

Em um fluxo natural dessas implementações, durante a efetivação de uma operação, é realizado o envio das liberações aos seus destinos (seja ele lançamento em conta TED ou PIX), esse processo iniciando automaticamente ao final da efetivação. Quando ocorrer algum erro, seja por preenchido de conta inválida, bloqueada, ou mesmo erro pontual em alguma chamada, a liberação fica ainda gravada e através da tela de manutenção é possível alterar alguns dados de liberações não realizadas, e enviar novamente para realizar a transferência.  

Esta nova tela localizada no módulo Operação de Crédito, mais especificamente no menu Liberações > Manutenção de Liberações. Esta tela possui as opções Visualizar, Alterar e Reprocessar.





Na tela é possível consultar, visualizar detalhes de todas as liberações das operações registradas na base, em todas as situações (pendente, enviada, confirmada, baixada ou erro). Sendo possível também, enviar uma liberação que esteja em situação pendente ou erro se a operação já estiver efetivada.

      VISUALIZAR

Na tela detalhe é possível visualizar o último processamento de envio e retorno de cada liberação, além de detalhes do favorecido, da conta e do valor liberado. 

Clicando na lupa de cada evento é possível visualizar o log desse evento, para que seja possível visualizar o log do tipo INFORMAÇÃO ou ERRO.

      ALTERAR

Na tela detalhe é possível alterar informações bem como conta, meio de pagamento, banco, agência, praça, , tipo de conta, alteração das informações de favorecido que irá atualizar a T402MLIB. Além disto, quando o Meio de Pagamento for PIX
então serão habilitados os campos tipo chave pix e chave pix. Estas alterações são realizadas com o propósito de um futuro reprocessamento.

      REPROCESSAR

Na tela de reprocessamento irá mostrar as informações e será feito o reprocessamento da liberação selecionada.


04. FLUXO DE EVENTOS (Explicação)

Para facilitar a execução principalmente na questão de performance, o fluxo dos acontecimentos da liberação foi implementada através de eventos. Um evento nada mais é que eu conjunto de tarefas que serão executadas e tratadas de maneira assíncrona, por vezes sendo executadas em paralelo. Desse modo, é possível verificar os detalhes de cada passo, reexecutar procedimentos sem maiores impactos e tratar problemas pontualmente.  

Um registro de liberação (gravado na tabela T402MLIB - Movimento de Liberação) passa diversas situações até que se confirme a liberação efetiva do valor. É possível verificar essas atualizações através das colunas situação da liberação (ID_SIT_LIB) e situação de autorização (ID_SIT_AUT).
Ao gravar um liberação na base, ela entrará na situação PENDENTE (em ambos as colunas). Durante o processamento dos eventos, essas colunas serão atualizadas conforme o processo avança corretamente:
Situação da liberação: PENDENTE (P) e ENVIADO (E)
Situação de autorização: PENDENTE (P), CONFIRMADO (C), BAIXADO (B)

Durante a efetivação da operação (momento em que a operação se torna ativa), os valores a serem liberados que foram parametrizados com os novos meios de pagamento serão separados e colocados em uma fila para outro processo faça a leitura.

O processamento das liberações selecionadas consistirá em duas etapas, o envio da liberação e o retorno da confirmação. Através dos eventos abaixo:

  • Envio das liberações
    • Início do processamento
      • Leitura da fila de liberações selecionadas,
      • Montagem dos eventos (registros nas tabelas de eventos T402PROC e EVTO),
      • Atualização da situação do processamento (para PROCESSANDO).
      • Chama o evento 1.
    • Evento 1: Inicia liberação
      • Atualiza a situação da liberação e da autorização da T402MLIB para P.
      • Verifica se a situação da liberação e da autorização da T402MLIB está como E. Caso esteja não será possível realizar o processamento.
      • Chama o evento 2.
    • Evento 2: Define o tipo de liberação.
      • Verifica se é PIX ou C/C e chama o evento respectivo, eventos 3 ou 4.
    • Evento 3: Enviar liberação PIX
      • Obtém os dados da liberação e monta a chamada para as APIs do integrador TOTVS SPI.
      • Atualiza a situação da liberação para ENVIADO.
      • Finaliza chamando o evento 6 para encerrar o processamento.
    • Evento 4: Enviar liberação C/C
      • Obtêm os dados e monta a chamada para o C/C Digital (produto Dimensa).
      • Atualiza a situação da liberação para ENVIADO.
      • Finaliza chamando o evento 5 para o envio da confirmação direta.
    • Evento 5: Enviar pagamento liberação
      • Com os dados da liberação, coloca em uma fila para tratar o retorno da liberação.
      • Atualmente utilizado apenas para um lançamento C/C, pois o lançamento PIX é retornado através de outra fila.
    • Evento 6: Finalizar processamento de liberação
      • Atualiza situação do processamento para PROCESSADO

Qualquer cenários que resulte em erro no processamento, a situação da liberação permanece PENDENTE (P), enquanto o processamento irá parar e retornar o erro nos logs de evento da T402EVLO. 


A partir do envio da liberação, o sistema estará esperando resposta de confirmação para enfim confirmar a situação da liberação. Esse retorno se dá através dos eventos abaixo:

O processo de retorno foi desenvolvido como um processo separado pois em caso como liberações por PIX, o nosso integrador SPI que faz a comunicação, precisará informar ao Credimaster se a execução da ordem de pagamento foi completa. Espera-se que esse retorno leve de 10 a 60 segundos.
Já para as liberações C/C (Conta Corrente Digital), a confirmação é feita imediatamente à chamada, ainda assim, optamos por utilizar o mesmo fluxo de retorno para facilitar os tratamentos. 

  • Retorno das liberações
    • Início do processamento
      • Leitura da fila de liberações respondidas, 
      • Montagem dos eventos (registros nas tabelas de eventos T402PROC e EVTO), Tipo do processamento: 7 - Ordem de liberação de pagamento.
      • Atualização da situação do processamento (para PROCESSANDO).
      • Chama o evento 1.
    • Evento 1: Tratar retorno do processamento da liberação.
      • Verifica a situação respondida pelo processo externo (resposta da ordem de pagamento PIX ou da execução do C/C nos casos citados)
      • Atualiza a situação de autorização para CONFIRMADO.
    • Evento 2: Efetivar conta vinculada da liberação.
      • Quando a operação necessita informar uma entrada ou saída de valor do Credimaster, gravamos na tabela T402COTM - Conta Transitória Movimento. Esse registro de lançamento é tratado pelo processo batch de troca de arquivos e enviado para outro sistema (na maioria dos caso, para atualizar o C/C da própria Dimensa ou um C/C externo do cliente). As implementações aqui visam disponibilizar uma opção online para essa necessidade, portanto, alguns tratamento precisam ser feitos. 
      • Atualiza a situação do registro de lançamento da conta transitória para PROCESSADO para que o lançamento concluído de forma online não seja feito pelo processo batch de arquivos.
      • Atualiza a situação de autorização para BAIXADO.
    • Evento 3: Finalizar ordem de liberação do pagamento.
      • Atualiza situação do processamento para PROCESSADO


Qualquer cenários que resulte em erro no processamento de retorno, a situação de autorização é atualizada para ERRO (R), enquanto o processamento irá parar e retornar o erro nos logs de evento da T402EVLO. 


05. TABELAS UTILIZADAS


TabelaDescrição
T402MLIBMovimento Liberação
T402COTMConta Transitória Movimento
T402PRLIProcessamento Liberação (Fluxo de envio) 
T402PRLSProcessamento Liberação Situação (Fluxo de envio) 
T402PRLHProcessamento Liberação Histórico (Fluxo de envio) 

T402OLPG

Ordem de liberação de Pagamento (Fluxo de retorno)

T402OLPS

Ordem de liberação de Pagamento Situação (Fluxo de retorno)

T402OLPP

Ordem de liberação de Pagamento Processamento (Fluxo de retorno)

T402PROC

Processamento

T402EVTO

Eventos

T402EVLO

Log Eventos

T402COMM

Conciliação dos dados entre T402MLIB e T402COTM

T402LORE

Log de Requisição Externa