Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 158 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado

Estou verificando uma situação em que o código da autorização às vezes não é preenchido quando faço transações com a rede VERO. O suporte entrou em contato com a ACBR e foi informado para utilizar o campo "NSU BERGS" ao invés do Código de Autorização.

Porém, estou verificando os campos da resposta tef e não existe esse campo para que salvar a informação no meu banco de dados. Qual seria o campo correspondente do "RespostaTEF.CodigoAutorizacaoTransacao" que estou utilizando atualmente? Estou puxando esses dados no evento "ACBrTEFAPIQuandoFinalizarTransacao".

Temos a propriedade "RespostaTEF.ImagemComprovante1aVia" que mostra todo o comprovante em uma Stringlist, porém terei que percorrer a lista e utilizar o comando copy e pos, o que não seria algo muito interessante para fazer. Existe alguma solução mais correta para esse caso?

Segue na sequência o conteúdo do campo que preciso puxar a informação:

083-000 =  ------------ 1 via - loja -----------\x0D\x0A\x0D\x0AVERO - ELO            \x0D\x0AVENDA CREDITO A VISTA\x0D\x0A\x0D\x0ACONFEITARIA \x0D\x0ACNPJ: 91.814.558/0001-66\x0D\x0ACAXIAS DO SUL\x0D\x0A\x0D\x0A041135200600000  00650348\x0D\x0A\x0D\x0ADATA: 07/06/2024          HORA: 14:19:25\x0D\x0ANSU BERGS:00950720   NSU BANDEIRA:692633\x0D\x0ACARTAO: 7103                VALOR: 88,40\x0D\x0A\x0D\x0A\x0D\x0ACREDITO\x0D\x0A02-0009-77B53AB3B38046B9\x0D\x0AA000000494101001              \x0D\x0A\x0D\x0A--------------------------------------\x0D\x0A6037097 EC:0000730637 REF:0000005338


084-000 =  ----------- 2 via - Cliente ---------\x0D\x0A\x0D\x0AVERO - ELO            \x0D\x0AVENDA CREDITO A VISTA\x0D\x0A\x0D\x0ACONFEITARIA \x0D\x0ACNPJ: 91.814.558/0001-66\x0D\x0ACAXIAS DO SUL\x0D\x0A\x0D\x0A041135200600000  00650348\x0D\x0A\x0D\x0ADATA: 07/06/2024          HORA: 14:19:25\x0D\x0ANSU BERGS:00950720   NSU BANDEIRA:692633\x0D\x0ACARTAO: 7103                VALOR: 88,40\x0D\x0A\x0D\x0ACREDITO\x0D\x0A02-0009-77B53AB3B38046B9\x0D\x0AA000000494101001              \x0D\x0A\x0D\x0A--------------------------------------\x0D\x0A6037097 EC:0000730637 REF:0000005338
 

image.png.0031cd1ad5d38a851223cf445184aa94.png

  • Membros Pro
Postado

comms_240607.log

Segue um exemplo de log:

VERO - MASTERCARD     
VENDA CREDITO A VISTA

CONFEITARIA 
CNPJ: 91.814.558/0001-66
CAXIAS DO SUL

041135200600000  00650348

DATA: 07/06/2024          HORA: 08:04:18
NSU BERGS:00092453   NSU BANDEIRA:040051
CARTAO: 8196                VALOR: 64,94
 

Esse retorno está vindo da PAYGO.

  • Fundadores
Postado

Ele está aqui...

08:05:07:538 0x45=00092453

https://paygodev.readme.io/docs/10dicionário-de-dados

image.png

E nos fontes do ACBrTEFPayGoComumACBr.pas, temos:

procedure ConteudoToPropertyPayGoWeb(AACBrTEFResp: TACBrTEFResp); 
....
        PWINFO_AUTEXTREF:
        begin
          NSU := LinStr;
          CodigoPSP := LinStr;
          NFCeSAT.Autorizacao := NSU;
        end;      

Então basta acessar TACBrTEFResp.NSU

 

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • Membros Pro
Postado

Mas nesse caso o valor da propriedade TACBrTEFResp.NSU seria o mesmo do NSU BERGS do comprovante? Conforme os e-mails informados pela equipe da ACBR (pdf em anexo), está sendo indicado para puxar esse valor do comprovante.

Aproveito explicar o motivo que preciso gravar esse código de autorização da transação corretamente. Eu preciso dele principalmente para poder cancelar automaticamente a transação caso seja necessário. Para cancelar a transação de forma automática é necessário utilizar o seguinte comando, informando corretamente os parâmetros.

FACBRTefAPI.CancelarTransacao(NSU, CodigoAutorizacaoTransacao, DataHoraTransacao, Valor, CodigoFinalizacao, Rede);

Dessa forma, eu puxo os valores que salvei no banco de dados e quando o usuário clicar no botão cancelar, vou acionar o comando puxando os valores gravados no banco de dados. Isso evita que quando seja necessário cancelar a transação, o usuário tenha que pegar o comprovante, entrar no painel administrativo e informar manualmente os dados um a um, o que não é nada prático.

Com isso, preciso gravar corretamente o valor do código de autorização da transação. Eu estava sempre utilizando a propriedade "RespostaTEF.CodigoAutorizacaoTransacao", porém para esse caso da VERO, nem sempre a propriedade está sendo carregada e o pessoal passou essa sugestão de utilizar esse outro campo como alternativa. 

Note na imagem abaixo que algumas vezes a propriedade "CodigoAutorizacaoTransacao" vem com o valor informado, outras vezes não. Por isso foi passado essa sugestão pela equipe da ACBR.

image.thumb.png.b83ef9152949c421b59ef8299ddc8882.png

adee361266c9e28345c457c914e55a1f.pdf34af7d2f04b0d563a17be5ec012c5f04.pdf

 

  • Membros Pro
Postado

Daniel,

Não sei se esse campo "NSU BERGS" seria o correspondente para o código de autorização da transação. Me parece que o correto seria o NSU BANDEIRA.

Mas nesses casos que está em branco, parece que a Adquirente vero não está devolvendo o valor. Olhe o exemplo do NSU 00516804 que o código da autorização está vazio.

TRANSACAO AUTORIZADA
11:15:47:899 0x43=1
11:15:47:899 0x44=5221
11:15:47:899 0x45=00516804
11:15:47:899 0x47=00
11:15:47:899 0x4B=BANRICOMPRAS
11:15:47:899 0x53= ------------ 1 via - loja -----------

DATA: 01/06/2024          HORA: 11:15:00
NSU BERGS: 00516804
CARTAO: 1148               VALOR: 245,00
 

E verifique o exemplo do NSU 00323709 que o código de autorização da transação está com o valor 017585

TRANSACAO AUTORIZADA
10:20:26:165 0x43=1
10:20:26:165 0x44=5212
10:20:26:165 0x45=00323709
10:20:26:165 0x46=017585
10:20:26:165 0x47=00
10:20:26:165 0x4B=MASTERCARD
10:20:26:165 0x53= ------------ 1 via - loja -----------

DATA: 01/06/2024          HORA: 10:19:37
NSU BERGS:00323709   NSU BANDEIRA:017585
CARTAO: 6172                VALOR: 80,07

Nesse caso, caso for preenchido o valor errado para o codigo de autorização da transação, não é possível efetuar o cancelamento da transação automático porque o parâmetro de cancelamento é informado incorretamente.

Segue em anexo o arquivo de log com esse conteúdo

comms_240601.log

  • Fundadores
Postado

Eu sempre usei o NSU...

Nesse tópico, tem informações de quais campos são necessários coletar da transação, para conseguir efetuar um Cancelamento automatizado

 

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • Membros Pro
Postado

Sim, mas mesmo assim nesse caso tem que informar o codigoautorizacaotransacao. Tem dois parametros, o NSU e codigo de autorização da transação. Você usa a propriedade TACBrTEFResp.NSU para ambos os casos??  Eu sempre utilizei a propriedade codigoautorizacaotransacao e sempre funcionou, exceto nesse exemplo da vero.

 function CancelarTransacao(
      const NSU, CodigoAutorizacaoTransacao: string;
      DataHoraTransacao: TDateTime;
      Valor: Double;
      const CodigoFinalizacao: string = '';     // Parâmetro Opcional
      const Rede: string = ''): Boolean;		// Parâmetro Opcional
  • Fundadores
Postado

Não.. realmente será necessário o NSU e o CodigoAutorizacaoTransacao

Consegue detectar em quais situações a VERO não retorna o CodigoAutorizacaoTransacao ?

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • Membros Pro
Postado

Daniel,

Verifique esse post que fiz acima, anexando os logs. Quando for uma transação do tipo crédito, sempre carrega. Nos casos quando for uma transação de Débito, em alguns momentos não carrega.

Não entendi a lógica desse caso. Existe algum motivo para isso?

Segue o post acima:

 

  • Fundadores
Postado
54 minutos atrás, WINDEL disse:

Não entendi a lógica desse caso. Existe algum motivo para isso?

Parece ser uma peculiaridade da VERO.. precisaríamos entrar em contato com eles, para compreender melhor...

Se você enviar o cancelamento, com o CodigoAutorizacaoTransacao vazio (assim como retornado na venda)... o TEF não encontra a transação para o cancelamento?

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • Membros Pro
Postado

Na verdade eu não consegui fazer esse teste porque só pode ser feito em produção. O cliente reclamou porque viu que o campo estava em branco algumas vezes. 

Nesse caso, a melhor forma de contatar a VERO seria através do próprio cliente?

  • Fundadores
Postado

Lembro de ter tido interação com um Analista da VERO, em uma outra questão.. posso questionar a eles...

Poderia por favor me enviar um email, com os Logs, e situações de caso onde o CodigoAutorizacaoTransacao é retornado e outra que não é ?

Eu complemento, o email, antes de enviar para ele, citando que a falta dessa informação pode impactar em erros no no Cancelamento das transações onde a informação não é retornada

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • Este tópico foi criado há 158 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

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 conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.