Ir para conteúdo
  • Cadastre-se

dev botao

Alterações para Passar na homologação do SITEF


rodrigoogioni

Recommended Posts

  • Fundadores

Analisando os fontes sugeridos.. parece haver um "memory leak" em ACBrTEFAPICliSiTef

notei uma repetição do código abaixo?

                if not Assigned(LRespostaTEFPendente) then
                  LRespostaTEFPendente := TACBrTEFRespCliSiTef.Create;

e esse objeto LRespostaTEFPendente  parece que nunca é destruído... mas adicionado na lista de respostas pendentes, apenas se vier um registrador 1319

Eu achei esse código inseguro, na minha opinião o LRespostaTEFPendente poderia ser criado em um método (uma sub-function)... a adicionar ele na lista, no finaly, se ele não for nulo...

  • Curtir 1
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

  • Fundadores

Também acho que não precisamos da propriedade ConfirmarPendente  em TACBrTEFResp...  a propriedade Confirmar, parece ter a mesma funcionalidade...

Como ela é inicializada como False, na criação de TACBrTEFResp,  bastaria ligar ela quando a 899-105 estiver True...

E deveríamos também usar ela como Boolean e não String

  • Curtir 1
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

@adriano.quintino

Não entendi o motivo de ter adicionado o parâmetro "Funcao" na  procedure TACBrTEFAPIClassCliSiTef.ContinuarRequisicaoSiTef(Funcao:Integer);

Não parece ser utilizado.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • Membros Pro
4 minutos atrás, EMBarbosa disse:

@adriano.quintino

Não entendi o motivo de ter adicionado o parâmetro "Funcao" na  procedure TACBrTEFAPIClassCliSiTef.ContinuarRequisicaoSiTef(Funcao:Integer);

Não parece ser utilizado.

Oi @EMBarbosa. É verdade, pode remover ele. Acabei me esquecendo de retirá-lo. Eu estava utilizando ele pra fazer o loop de cancelamento conforme fosse recebendo os registros pendentes. Daí eu fiz as correções depois e acabei me esquecendo de remover este parâmetro.

Segue a correção em anexo

ACBrTEFAPICliSiTef.pas

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Consultores
21 minutos atrás, Daniel Simoes disse:

e esse objeto LRespostaTEFPendente  parece que nunca é destruído... mas adicionado na lista de respostas pendentes, apenas se vier um registrador 1319

Eu achei esse código inseguro, na minha opinião o LRespostaTEFPendente poderia ser criado em um método (uma sub-function)... a adicionar ele na lista, no finaly, se ele não for nulo...

Daniel acho que o @Juliomar Marchetti quando implementou essa parte e não quebrou propositalmente o layout do código atual.

Me parece que esse loop do ContinuarRequisicaoSiTef vai retornando os dados da venda um por um e não me parece que a ordem da execução é garantida (não testei e não parece ter menção disso na documentação que achei via buscador da internet)...

Por isso, eu até tinha notado essa possível falha, mas achei melhor não mexer até enxergar uma outra possibilidade. Talvez precisemos modularizar um pouco mais esse fluxo.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • Consultores
22 horas atrás, adriano.quintino disse:

acrescentei a propriedade TokenRegistro para receber o valor que a SiTEF passar para a empresa

Para o que serve essa informação TokenRegistro e o parâmetro TLSGWP mesmo?

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • Fundadores

no código, também me parece que ele não teria suporte, a tratar mais de uma transação pendente.. uma vez, que ele só cria um Objeto TACBrTEFResp, dentro do Loop

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
4 minutos atrás, Daniel Simoes disse:

no código, também me parece que ele não teria suporte, a tratar mais de uma transação pendente.. uma vez, que ele só cria um Objeto TACBrTEFResp, dentro do Loop

Se eu entendi bem, o código assume(1) que o Sitef vai retornar os dados de uma transação por vez e que sempre vai retornar valor da transação por último...

Daí na primeira coleta de dado, o LRespostaTEFPendente é criado. Então, segue o loop os outros dados são coletados.

Quando for coletar o valor (1319) é chamdo o método fpACBrTEFAPI.RespostasTEF.AdicionarRespostaTEF que clona o objeto LRespostaTEFPendente.

De posse do clone na lista de objetos, o LRespostaTEFPendente é destruído, possibilitando o Sitef retornar outra transação que passará pelo mesmo processo.

(1) Não sei se o que assumimos corretamente essas premissas pois o fluxo não é descrito na documentação. :(

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Eu só não coloquei os parâmetros para proxy porque eu não utilizo, mas caso queiram acrescentar estes parâmetros também é possível.

Um detalhe é que estes parâmetros são exigidos nos testes de homologação, pelo menos o Token e o TLSGWP.

Editado por adriano.quintino
Link para o comentário
Compartilhar em outros sites

  • Fundadores
3 horas atrás, EMBarbosa disse:

(1) Não sei se o que assumimos corretamente essas premissas pois o fluxo não é descrito na documentação. :(

Eu acho que não devemos acatar essas mudanças, elas estão muito suscetíveis a quebrar se mudar qualquer coisas do fluxo do SiTef...

A rotina já coleta todos os retornos do SiTef em ACBrTEFResp.Conteudo.. bastaria no final, varrer o log de retorno, e montar as respostas pendentes...

Sabem se há algum link ou documentação, que descreva a transação 130 ?

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
13 minutos atrás, Daniel Simoes disse:

A rotina já coleta todos os retornos do SiTef em ACBrTEFResp.Conteudo.. bastaria no final, varrer o log de retorno, e montar as respostas pendentes...

Não sei se eu entendi essa parte.

13 minutos atrás, Daniel Simoes disse:

Sabem se há algum link ou documentação, que descreva a transação 130 ?

Está que está no link que eu mandei antes. Veja abaixo o link no texto achei via buscador :

4 horas atrás, EMBarbosa disse:

Me parece que esse loop do ContinuarRequisicaoSiTef vai retornando os dados da venda um por um e não me parece que a ordem da execução é garantida (não testei e não parece ter menção disso na documentação que achei via buscador da internet)...

 

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • Fundadores

Acho que podemos implementar tudo na rotina do SiTef, onde ele procuraria tratar os arquivos de Backup... chamar o método indicado, criar uma lista de transações pendentes, e iniciar o tratamento delas, conforme a parametrização do componente

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

  • Fundadores
7 horas atrás, adriano.quintino disse:

Um detalhe é que estes parâmetros são exigidos nos testes de homologação, pelo menos o Token e o TLSGWP.

onde posso achar informações sobre esses novos registradores de autenticação ?

Eles variam para cada terminal na mesma Loja ? ou são os mesmos parâmetros para o CNPJ ?

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

  • Moderadores
8 horas atrás, EMBarbosa disse:

Me parece que esse loop do ContinuarRequisicaoSiTef vai retornando os dados da venda um por um e não me parece que a ordem da execução é garantida (não testei e não parece ter menção disso na documentação que achei via buscador da internet)...

só para ajudar sim
vai retornar  nessa ordem que coloquei
e a cada um que existir pendente

semana que vem estarei com pinpad e dai consigo fazer um teste gravado mostrando funcionando e com o código que está no svn

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
 

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores
47 minutos atrás, Daniel Simoes disse:

onde posso achar informações sobre esses novos registradores de autenticação ?

Eles variam para cada terminal na mesma Loja ? ou são os mesmos parâmetros para o CNPJ ?

SiTef - Interface Simplificada com a aplicação(VRS-253).pdf

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
 

 

Link para o comentário
Compartilhar em outros sites

  • Fundadores
12 horas atrás, Juliomar Marchetti disse:

Não existe a palavra "Token", nesse documento...

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
23 horas atrás, Daniel Simoes disse:

Acho que podemos implementar tudo na rotina do SiTef, onde ele procuraria tratar os arquivos de Backup... chamar o método indicado, criar uma lista de transações pendentes, e iniciar o tratamento delas, conforme a parametrização do componente

Mas não teria que seguir o mesmo loop da ContinuarRequisicaoSiTef ? Essa parte é que acho que não entendi.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
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.