Ir para conteúdo
  • Cadastre-se

dev botao

HOMOLOGAÇÃO SITEF ACBrTEFAPI - Seq. 19 - Tratamento Queda de Energia da máquina


Ver Solução Respondido por datilas,

Recommended Posts

Postado

Boa tarde pessoal, tudo bem?

Estou fazendo homologação no sitef utilizando ACBrTEFAPI. E estou com dúvidas na sequencia 19, que é para simular uma queda de energia no momento de realizar o pagamento.
Fazendo algumas consultas, vi que foram feitas algumas alterações no ACBr para tratar dessa questão. Mas estou com meu ACBr atualizado no dia 28/11/2024, e não consegui fazer ele buscar as transações pendentes. Tenho que executar algum procedimento para identificar as transações pendentes? Ou ao inicializar (ACBrTEFAPI1.Inicializar;) o ACBr já faz a consulta automaticamente? Ou eu deveria executar alguma procedure após iniciar? Ex: ACBrTEFAPI1.CarregarRespostasPendentes;

Em qual ponto vocês estão fechando o aplicativo? Quando aparece a mensagem de transação aprovada? Quando pede para retirar o cartão?

Obrigado.

 

  • Solution
Postado

no momento que pede para retirar o cartão, não retirar e derrubar a aplicação.

depois do ACBrTEFAPI1.Inicializar;

vc pode chamar:

ACBrTEFAPI1.CarregarRespostasPendentes;

fazer um for em ACBrTEFAPI1.RespostasTEF e finalizar as transações pendentes como sucesso ou erro.

ACBrTEFAPI1.FinalizarTransacao(tefstsSucessoManual);

ou

ACBrTEFAPI1.FinalizarTransacao(tefstsErroDiverso);

  • Curtir 1
  • Fundadores
Postado

O método ACBrTEFAPI.Inicializar, já carrega e trata as transações pendentes

procedure TACBrTEFAPIComum.Inicializar;
begin
  GravarLog('Inicializar');

  if not Assigned( fQuandoFinalizarOperacao )  then
    DoException( Format( ACBrStr(sACBrTEFAPIEventoInvalidoException),
                         ['QuandoFinalizarOperacao']) );

  if (TratamentoTransacaoPendente = tefpenPerguntar) and
     (not (Assigned( fQuandoDetectarTransacaoPendente ))) then
    DoException( Format( ACBrStr(sACBrTEFAPIEventoInvalidoException),
                         ['QuandoDetectarTransacaoPendente']) );

  if (fArqLOG <> '') then
  begin
    if (ExtractFilePath(fArqLOG) = '') then
      fArqLOG := ApplicationPath + fArqLOG;
  end;

  fpInicializando := True;
  try
    fpTEFAPIClass.Inicializar;
    CriarListaTEFResp;

    // Verificando se ficou alguma Transação Pendente, no Diretório de Trabalho
    if (TratamentoTransacaoInicializacao = tefopiCancelarOuEstornar) then
      CancelarOuEstornarTransacoesDiretorioTrabalho
    else
    begin
      fpTEFAPIClass.CarregarRespostasPendentes( fRespostasTEF );
      if (TratamentoTransacaoInicializacao = tefopiProcessarPendentes) then
        VerificarTransacoesPendentes;
    end;
  finally
    fpInicializando := False;
  end;
end;    

 

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

ola, ainda é possivel fazer manual essa confirmacao, para poder exibir a mensagem ao operador, configurando a propriedade 

TratamentoTransacaoInicializacao para não realizar tratamento nenhum 

 

o acbr continuara buscando as transacoes pendentes porem nao vai confirmar ou estornar e ai que entra o loop mencionado pelo colega @datilas.

  • 2 semanas depois ...

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.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...