Possamai Postado 14 Agosto Postado 14 Agosto Bom dia pessoal! Tivemos um caso que aconteceu no cliente. Ocorre o seguinte: Foi realizado o pagamento via VERO, porém, o cliente usou um cartão indevido e deseja cancelar esse e pagar com outro cartão por exemplo, então resolveram fazer o cancelamento desse pagamento. Mas aparece a caixa de diálogo em tela solicitando o EC. Eis que começa o problema, pois o EC só temos ao finalizar a venda, e emitir o comprovante, até a impressão do mesmo, não temos o código do EC, sendo assim, não é possível cancelar o pagamento. Obs1: Utilizando a DEMO, em teste local, não solicita o EC. Obs2: No log de componente temos a informação PWINFO_VIRTMERCH que guarda o EC, porém, onde devo alimentar essa informação para não solicitar em tela. Obs3: Tentei conversar com o pessoal do Discord, mas sem sucesso, pois confundiram desfazimento com cancelamento, ou que solicita o EC para não haver cancelamento indevido, mas creio que não deveria ficar a cargo de nossos clientes informar esse código e sim o sistema alimentar isso no cancelamento do pagamento. Agradeço a ajuda. comms_250812.log log componente.log
Fundadores Daniel Simoes Postado 14 Agosto Fundadores Postado 14 Agosto Se sua empresa tem Contrato de Distribuição TEF com o ACBr, Por favor crie um Ticket em https://suporte.projetoacbr.com.br Logs de Clientes finais não devem ser compartilhados publicamente devido a LGPD Daniel Simões de Almeida O melhor TEF, é com o Projeto ACBr - Clique e Conheça Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976.
Possamai Postado 14 Agosto Autor Postado 14 Agosto 3 minutos atrás, Daniel Simoes disse: Se sua empresa tem Contrato de Distribuição TEF com o ACBr, Por favor crie um Ticket em https://suporte.projetoacbr.com.br Logs de Clientes finais não devem ser compartilhados publicamente devido a LGPD Bem, sao logs locais de homologacao, mas concordo, entao como deleto esse post por favor?
Fundadores Daniel Simoes Postado 14 Agosto Fundadores Postado 14 Agosto Se nao forem Logs Homologação, podemos manter... Logo o @Pedro Frayman, nos ajuda na análise Daniel Simões de Almeida O melhor TEF, é com o Projeto ACBr - Clique e Conheça Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976.
Possamai Postado 14 Agosto Autor Postado 14 Agosto 6 minutos atrás, Daniel Simoes disse: Se nao forem Logs Homologação, podemos manter... Logo o @Pedro Frayman, nos ajuda na análise Eu estava conversando com o Pedro também, pois o Luan solicitou os logs mas nao conseguiu dar continuidade. Achei interessante abri um forum alem do discord, para que se outros tiverem esse problema, possam ver a solucao. Caso encontrarmos. 1
Consultores Pedro Frayman Postado 14 Agosto Consultores Postado 14 Agosto 1 hora atrás, Possamai disse: Bom dia pessoal! Tivemos um caso que aconteceu no cliente. Ocorre o seguinte: Foi realizado o pagamento via VERO, porém, o cliente usou um cartão indevido e deseja cancelar esse e pagar com outro cartão por exemplo, então resolveram fazer o cancelamento desse pagamento. Mas aparece a caixa de diálogo em tela solicitando o EC. Eis que começa o problema, pois o EC só temos ao finalizar a venda, e emitir o comprovante, até a impressão do mesmo, não temos o código do EC, sendo assim, não é possível cancelar o pagamento. Obs1: Utilizando a DEMO, em teste local, não solicita o EC. Obs2: No log de componente temos a informação PWINFO_VIRTMERCH que guarda o EC, porém, onde devo alimentar essa informação para não solicitar em tela. Obs3: Tentei conversar com o pessoal do Discord, mas sem sucesso, pois confundiram desfazimento com cancelamento, ou que solicita o EC para não haver cancelamento indevido, mas creio que não deveria ficar a cargo de nossos clientes informar esse código e sim o sistema alimentar isso no cancelamento do pagamento. Agradeço a ajuda. comms_250812.logUnavailable log componente.logUnavailable Bom dia, tudo bem? Você precisa ler a informação retornada na transação em RespostaTEF.LeInformacao(PWINFO_VIRTMERCH,0).AsString ), consistir num buffer temporário por exemplo, e em seguida enviar no seu cancelamento. Podendo seguir a lógica e exemplo (precisa implementar a leitura desse parâmetro do EC antes) abaixo: function CancelarTransacao( const NSU, // AResp.NSU PWINFO_AUTEXTREF CodigoAutorizacaoTransacao: string; // AResp.CodigoAutorizacaoTransacao PWINFO_AUTHCODE DataHoraTransacao: TDateTime; // AResp.DataHoraTransacaoLocal PWINFO_DATETIME Valor: Double; // AResp.ValorTotal PWINFO_TOTAMNT const CodigoFinalizacao: string = ''; // Parâmetro Opcional, AResp.Finalizacao PWINFO_AUTLOCREF const Rede: string = ''): Boolean; // Parâmetro Opcional, AResp.Rede PWINFO_AUTHSYST Mas isso vai funcionar somente para a adquirente atual, caso o cliente utilize alguma outra adquirente que peça outro dado do comprovante será necessário mapear essa informação, e seguir toda a lógica acima novamente mas com o novo parâmetro de acordo com a necessidade dessa adquirente. Att.
Possamai Postado 14 Agosto Autor Postado 14 Agosto 8 minutos atrás, Pedro Frayman disse: Bom dia, tudo bem? Você precisa ler a informação retornada na transação em RespostaTEF.LeInformacao(PWINFO_VIRTMERCH,0).AsString ), consistir num buffer temporário por exemplo, e em seguida enviar no seu cancelamento. Podendo seguir a lógica e exemplo (precisa implementar a leitura desse parâmetro do EC antes) abaixo: function CancelarTransacao( const NSU, // AResp.NSU PWINFO_AUTEXTREF CodigoAutorizacaoTransacao: string; // AResp.CodigoAutorizacaoTransacao PWINFO_AUTHCODE DataHoraTransacao: TDateTime; // AResp.DataHoraTransacaoLocal PWINFO_DATETIME Valor: Double; // AResp.ValorTotal PWINFO_TOTAMNT const CodigoFinalizacao: string = ''; // Parâmetro Opcional, AResp.Finalizacao PWINFO_AUTLOCREF const Rede: string = ''): Boolean; // Parâmetro Opcional, AResp.Rede PWINFO_AUTHSYST Mas isso vai funcionar somente para a adquirente atual, caso o cliente utilize alguma outra adquirente que peça outro dado do comprovante será necessário mapear essa informação, e seguir toda a lógica acima novamente mas com o novo parâmetro de acordo com a necessidade dessa adquirente. Att. Ola Pedro Certo, realmente, após gravar os logs de componentes(nao estavamos fazendo isso) encontrei a varialvel PWINFO_VIRTMERCH. Hoje ja utilizo a logica do CancelarTransacao, e esta funcionando ok. Nao entendi onde voce sugere informar o valor de PWINFO_VIRTMERCH, no lugar de PWINFO_AUTEXTREF? Para a NSU ja estou passando um ID da transacao. Eu achava que teria algo como CODIGOEC := xxx... assim como existe DadosEstabelecimento.CNPJ := xxx.
Fundadores Daniel Simoes Postado 14 Agosto Fundadores Postado 14 Agosto Veja se esse tópico, ajuda... Daniel Simões de Almeida O melhor TEF, é com o Projeto ACBr - Clique e Conheça Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976.
Possamai Postado 14 Agosto Autor Postado 14 Agosto 4 horas atrás, Daniel Simoes disse: Veja se esse tópico, ajuda... Agradeço a intenção Daniel, porém conforme cita no post: "Se você usa o novo componente, ACBrTEFAPI, use o método abaixo: CancelarTransacao...". E estou fazendo isso mesmo: FACBrTEFAPI.CancelarTransacao(aPagamento.NSU, aPagamento.CodigoAutorizacao, aPagamento.DataHora, aPagamento.Valor, aPagamento.CodRef, aPagamento.Rede); Minha rotina de cancelamento está funcionando, seria somente para esse caso que não consigo seguir. Consegui uma solução paliativa, criei na tela de pagamento, um botão para impressão do comprovante, antes somente era impresso ao final da venda, e não ao final do pagamento, mas pelo menos o usuário consegue imprimir, visualizar o código EC no comprovante, e ao cancelar digitar na caixa de dialogo que é apresentada. Realmente gostaria de poder informar de forma automatizada não deixando a cargo do usuário imprimir, anotar o código e depois informar, mas quem não tem cão...
Fundadores Daniel Simoes Postado 19 Agosto Fundadores Postado 19 Agosto O código "EC", realmente é uma informação que está apenas no comprovante da adquirente... Então não há como salvar na aplicação, pois não é retornado de forma estruturada, no Log do TEF, no momento da Venda... A solicitação dessa informação, depende da adquirente... Nem todas devem solicitar isso... Daniel Simões de Almeida O melhor TEF, é com o Projeto ACBr - Clique e Conheça Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976.
Recommended Posts
Crie uma conta ou entre para comentar
Você precisar ser um membro para fazer um comentário
Criar uma conta
Crie uma nova conta em nossa comunidade. É fácil!
Crie uma nova contaEntrar
Já tem uma conta? Faça o login.
Entrar Agora