Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Será permitido optar pela ação de reabrir o pedido e permitir a edição por parte do usuário gerador, ou então a ação de cancelar o pedido obrigando que um novo pedido seja gerado caso uma nova transação tenha que ser gerada.

03. ESCOPO TÉCNICO

...

APLICAÇÃO

  • Alterar via Tools opção 3, a tabela PEDIDOPAGAMENTO:

    Bloco de código
    languagesql
    titleAlter Table PEDIDOPAGAMENTO
    alter table pedidopagamento add column dataexpiracao timestamp;
  • Adicionar na tela do plugin de Pagamento PIX, os campos conforme protótipo abaixo:

    Image Added



    Bloco de código
    titleNovos Campos
    Campo "Duração máxima transação PIX antes de expirar"
    	idpluginintegracao: select idpluginintegracao from pluginintegracao where codigo = 'TPI',
    	codigoelemento: TPI,
    	agrupador: 0,
    	sglcampo: TPI_EXPIRATIONDATE
    	valor: {60}
    Campo "Ação automática sobre o pedido quando o serviço de atualização de status identificar que a transação expirou"
    	idpluginintegracao: select idpluginintegracao from pluginintegracao where codigo = 'TPI',
    	codigoelemento: TPI,
    	agrupador: 0,
    	sglcampo: TPI_OPEN
    	valor: {0 ou 1}
    
    Campo "Ação automática sobre o pedido quando o serviço de atualização de status identificar que a transação expirou"
    	idpluginintegracao: select idpluginintegracao from pluginintegracao where codigo = 'TPI',
    	codigoelemento: TPI,
    	agrupador: 0,
    	sglcampo: TPI_CANCEL
    	valor: {0 ou 1}


    • Somente uma opção pode estar selecionada pelo usuário.

  • Alterar a tela Pagamentos do Pedido, para incluir a nota coluna referente a data para expirar da transação:

    Image Added

    • A informação para essa nova coluna virá de PEDIDOPAGAMENTO.DATAEXPIRACAO.

INTEGRAÇÃO

  • Alterar o JOB TPIGENERATEPAYMENT para calcular a data e hora para obter a data para expirar da transação PIX;
     
    • Utilizar o script abaixo para obter o valor em minutos de duração da transação:

      Bloco de código
      languagesql
      titleBusca Tempo
      select cast(valor as integer) from pluginintconfig 
      	 where sglcampo ='TPI_EXPIRATIONDATE' and codigoelemento ='TPI')
    • Somar a data e hora do momento em que a transação é gerada com o tempo cadastrado pelo cliente, e incluir dentro do JSON de requisição:

      "expirationDate": "YYYY-MM-DD HH:MM:SS"

  • Adicionar no JOB TPIUPDATESTATUS, a validação da ação que deve ser tomada automaticamente quando a transação PIX ter expirado sem a confirmação do pagamento;

    • Usar o script abaixo para obter qual ação foi cadastrada pelo usuário:

      Bloco de código
      languagesql
      titleBusca Ação
      select case when sglcampo ='TPI_OPEN' then valor end as REABRIR, case when sglcampo ='TPI_CANCEL' then valor end as CANCELAR from pluginintconfig p where sglcampo in('TPI_OPEN','TPI_CANCEL')
    • Se o plugin estiver configurado para REABRIR, pedido cuja transação tenha expirado devem ter a situação alterada para NÃO FINALIZADO - NF;

    • Se o plugin estiver configurado para CANCELAR, pedido cuja transação tenha expirado devem ter a situação alterada para CANCELADO = PC.