...
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 |
---|
language | sql |
---|
title | Alter 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 |
---|
|
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;
- 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 |
---|
language | sql |
---|
title | Busca 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.