Ir para conteúdo
  • Cadastre-se

dev botao

AcbrTEFAPI - Sugestão Melhoria Na Leitura da Resposta do TEF


Valdir Dill
Ver Solução Respondido por antonio.carlos,
  • Este tópico foi criado há 671 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro

Bom dia,

Na análise que fazemos na nossa aplicação, da resposta de uma operação de TEF, precisamos saber o tipo de cartão retornado.

Para obter a informação, quando a operação é realizada via cartão de débito ou crédito, o Acbr já traz essa informação em ACBrTEFAPI1.UltimaRespostaTEF. 
Porém, no caso do cartão do tipo voucher, é necessário executar uma rotina adicional (vide abaixo).
Nada difícil de se fazer. Mas acredito que a sugestão que deixo aqui possa contribuir para padronizar a captura do retorno e deixá-la igual, sendo o cartão débito, crédito ou voucher.

A rotina que utilizamos:
Var VTipoCartaoRet : TACBrTEFTiposCartao;
if ACBrTEFAPI1.UltimaRespostaTEF.Debito then VTipoCartaoRet := teftcDebito
else if ACBrTEFAPI1.UltimaRespostaTEF.Credito then VTipoCartaoRet := teftcCredito
else //se não é crédito, nem débito, o acbr não traz a informação em uma propriedade. Aí tem que ler.
  begin
   case TACBrInformacao(ACBrTEFAPI1.UltimaRespostaTEF.LeInformacao(PWINFO_CARDTYPE)).AsInteger of
    4 : VTipoCartaoRet := teftcVoucher;
   end;
  end;

A sugestão para mudança
1) Na ACBrTEFPayGoComum.pas, mudar (linha 495 em diante)
    PWINFO_CARDTYPE:
        begin
          // 1: crédito, 2: débito, 4: voucher/PAT, 8: private label, 16: frota, 128: outros
          AInt := Linha.Informacao.AsInteger;
          Credito := (AInt = 1);
          Debito := (AInt = 2);
          Voucher := (Aint = 4); //implementação sugerida
        end;


2)  Na ACBrTEFComum.pas, linha 356, inserir 
 fpVoucher: Boolean;     // Se True, foi usado Cartão voucher     

 

Obrigado!

Valdir Dill

Rio de Janeiro - RJ

 

 

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
39 minutos atrás, antonio.carlos disse:

Pode atualizar os fontes por favor,
veja se esta tudo certo me avise por gentileza.
Rev. 25933.

Atualizei os fontes. Na parte de compilação parece tudo certo. Só não tenho como testar completo, pois na homologação não aceita. Mas estou passando a atualização para o cliente fazer o teste assim que possível.

Obrigado!

  • Curtir 1

Valdir Dill

Rio de Janeiro - RJ

 

 

Link para o comentário
Compartilhar em outros sites

  • Fundadores
30 minutos atrás, Waldir Paim disse:

Será que conseguimos por esse mesmo recurso para o Clisitef?

 

Achei algo relacionado nesse tópico:
 

 

Segue unit em anexo com implementação do Tipo Voucher no Clisitef 

ACBrTEFCliSiTefComum.pas 31 kB · 0 downloads

Faz todo Sentido... @EliasCesar, pode nos ajudar a incorporar esse ajuste, para o SiTEF ?

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.

Link para o comentário
Compartilhar em outros sites

  • Consultores
15 horas atrás, Daniel Simoes disse:

Faz todo Sentido... @EliasCesar, pode nos ajudar a incorporar esse ajuste, para o SiTEF ?

Como o Juliomar comentou, o Antônio ja tinha iniciado a implementação. Estou em contato com ele pra finalizarmos.

Consultor SAC ACBr

Elias César Vieira
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil
Assine o
SAC

 
Link para o comentário
Compartilhar em outros sites

  • Moderadores
49 minutos atrás, Waldir Paim disse:

Estava pensando!

Em VEZ de flags será que não seria mais interessante criar um enumerador com esses tipos de cartões?

Exemplo: tcCredito, tcDebito, tcVoucher, tcOutros., ect, ect.

 

 

só vai quebra todos os usuários que já estão a usar o ACBrTEFD ou ACBrTEFAPI

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores
19 minutos atrás, Juliomar Marchetti disse:

só vai quebra todos os usuários que já estão a usar o ACBrTEFD ou ACBrTEFAPI

Não! o enumerador pode ser a base para os flags!
Os flags seriam marcados como deprecates! como foi feito no ACBrUtil!
Num futuro proximo tira os flags e ficam só os enumeradores! 

Link para o comentário
Compartilhar em outros sites

  • Moderadores
1 hora atrás, Waldir Paim disse:

Não! o enumerador pode ser a base para os flags!
Os flags seriam marcados como deprecates! como foi feito no ACBrUtil!
Num futuro proximo tira os flags e ficam só os enumeradores! 

sobe o anexo para validarmos e ver o que sugeriu sem quebrar o código

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores
Em 23/06/2022 at 14:48, Waldir Paim disse:

Oi chefe!

Eu não fiz!

Apenas foi uma sugestão!

Estivemos analisando e como é um componente que já está consolidado e estamos evitando fazer alterações no mesmo, decidimos não mudar a forma que esta por enumerador por enquanto.

Nada impede que futuramente venhamos a mudar mas no momento não será interessante essa mudança Waldir.

agradecemos a compreensão de todos.

  • Curtir 3
Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

×
×
  • 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.