Ir para conteúdo
  • Cadastre-se

dev botao

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


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

Recommended Posts

  • Membros Pro
Postado

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

 

 

  • Membros Pro
Postado
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

 

 

  • Fundadores
Postado
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.

  • Consultores
Postado
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

 
  • Moderadores
Postado
34 minutos atrás, antonio.carlos disse:

@Waldir Paim bom dia !
Atualizado Rev. 25936.

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.

 

 

  • Moderadores
Postado
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_Transparent-02.png
 

 

  • Moderadores
Postado
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! 

  • Moderadores
Postado
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_Transparent-02.png
 

 

  • Moderadores
Postado
30 minutos atrás, Juliomar Marchetti disse:

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

Oi chefe!

Eu não fiz!

Apenas foi uma sugestão!

  • Confuso 1
  • Moderadores
Postado
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_Transparent-02.png
 

 

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

The popup will be closed in 10 segundos...