Produto: | TOTVS CRM Automação da Força de Vendas |
---|---|
Linha de Produto: | Linha TOTVS CRM SFA |
Módulo: | Venda |
Função: | Pedido |
Ticket: | |
Requisito/Story/Issue: | |
Status do Documento | Pendente de aprovação pelo cliente |
Atualmente as transações PIX são geradas com o tempo padrão de expiração de 1 hora. Não é possível via SFA, configurar um tempo maior para expiração de cada transação, de acordo com a necessidade de cada cliente.
O SFA também não permite nenhuma ação de edição ou reabertura dos pedidos com PIX cujas transações tenham sido canceladas ou que expiraram.
Com a melhoria proposta neste escopo, será possível configurar o tempo desejado para que cada transação PIX expire caso não haja confirmação do pagamento.
Também será possível configurar qual ação deve ser aplicada automaticamente sobre o pedido, no momento em que o serviço de atualização de status identificar que a transação vinculada a tal pedido expirou ou foi cancelada.
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.
Alterar via Tools opção 3, a tabela PEDIDOPAGAMENTO:
alter table pedidopagamento add column dataexpiracao timestamp;
Adicionar na tela do plugin de Pagamento PIX, os campos conforme protótipo abaixo:
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}
Utilizar o script abaixo para obter o valor em minutos de duração da transação:
SELECT current_timestamp +(SELECT cast(valor as integer) FROM pluginintconfig WHERE sglcampo = 'TPI_EXPIRATIONDATE' AND codigoelemento = 'TPI') * interval '1 minute' AS data_expirar;
Usar o script abaixo para obter qual ação foi cadastrada pelo usuário:
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')