Ir para conteúdo
  • Cadastre-se

dev botao

Ncn Em Operação Adm Abortada


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

Recommended Posts

Postado

Bom dia!

 

Estou em processo de homologação neste momento. O homologador está alertando sobre o envio de 

comando NCN após sair do gerenciador padrão (rede AMEX).

 

É chamado o comando ADM, depois acessa a rede AMEX e não faz nada. Apenas aborta o gerenciador (botão voltar, ESC ou fechar). Vai ser retornado uma mensagem ao operador de "operação abortada" (ou similar). Neste momento, o homologador força o fechamento do sistema de AC.

 

Ao ser iniciado, o sistema apresenta mensagem de cancelamento de transação (?) vindo do ACBrTEFD.

 

Algum dos colegas passou por isso? Estou utilizado a última versão do repositório.

  • Fundadores
Postado

Se o homologador desligou a aplicação antes dela exibir "Operação Cancelada" o fluxo está correto... temos uma transação pendente, que deve ser tratada no inicio da aplicação...

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.

  • Fundadores
Postado

Não estou compreendendo o que você que dizer...

 

Se ele criou um ADM, já há uma transação pendente a ser processada...

 

Por favor dê mais informações...

Qual o Teste ? De qual roteiro ?

Qual o Passo a passo para reprodução do problema usando o TEFDDemo ?

Qual o Log do TEF dial ?

Qual o Log do ACBrTEFD ?

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.

Postado

O teste é fazer uma ADM.

Ao chamar o gerenciador padrão (com rede REDECARD e AMEX) é escolhido a rede AMEX. 

No módulo da AMEX, não fazer nada, fechar o módulo pressionando o botão Voltar.

Será retornado mensagem ao operador de operação cancelada.

Abortar AC.

 

Na inicialização da AC, o ACBrTEFd irá verificar por transação pendente. E quando é AMEX, a operação descrita anteriormente é encontrada e é enviado um NCN. Isso somente para AMEX, usei a rede REDECARD no mesmo procedimento e não ocorreu o problema.

  • Fundadores
Postado

O problema é que o arquivo da AMEX não está sendo retornado no padrão correto...

 

o ACBrTEFD tem um tratamento específico para essa situação... Veja a procedure Inicilizar abaixo, onde diz: { Verificando se o arquivo de Resposta é invalido ou seja, gerado quando clica-se em 9 - CANCELAR sem selecionar nenhuma Bandeira }

procedure TACBrTEFDClass.Inicializar;
begin
  if Inicializado then exit ;

  ApagaEVerifica( ArqTemp );  // Apagando Arquivo Temporario anterior //
  ApagaEVerifica( ArqReq );   // Apagando Arquivo de Requisicao anterior //
  ApagaEVerifica( ArqSTS );   // Apagando Arquivo de Status anterior //

  fpInicializado := True ;
  GravaLog( Name +' Inicializado' );

  { Verificando se o arquivo de Resposta é invalido ou seja, gerado quando
    clica-se em 9 - CANCELAR sem selecionar nenhuma Bandeira }
  if FileExists( ArqResp ) then
  begin
     Resp.LeArquivo( ArqResp );

     if UpperCase(Resp.Conteudo.LeInformacao(9,0).AsString) = 'FF' then
        ApagaEVerifica( ArqResp );

     Resp.Clear;
  end ;

  CancelarTransacoesPendentesClass ;

  VerificaAtivo;
end;

A resposta do REDECARD:

000-000 = ADM
001-000 = 38616
009-000 = FF
010-000 = REDECARD
011-000 = 00
025-000 =
026-000 =
028-000 = 0
030-000 = Finalizado pelo Operador
999-999 = 0

 

A resposta do AMEX

000-000 = ADM


001-000 = 38539


009-000 = 101

010-000 = AMEX


011-000 = 0


028-000 = 0


030-000 = A operação foi cancelada.


999-999 = 0

 

 

Ou seja, não tem FF na resposta do AMEX

 

Não seria um BUG deles ??

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.

  • Fundadores
  • Solution
Postado

Um WorkAround seria:

1543     // Amex retorna 101 e não FF
1544     if (pos(UpperCase(Resp.Conteudo.LeInformacao(9,0).AsString), 'FF|101') > 0) then
1545        ApagaEVerifica( ArqResp );
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.

Postado

Compreendo sim. Mas questionar homologador é uma complicação, sempre "funciona nos outros sistemas".

Enquanto você analisava, procurei ver características da "transação" pendente para remover esta transação antes de enviar o NCN.

 

Então implementei em TACBrTEFDClass.CancelarTransacoesPendentesClass

        Resp.LeArquivo( ArquivosVerficar[ 0 ] );

        // bug amex
        if (UpperCase(Resp.Rede) = 'AMEX') and
           (Resp.TipoGP = gpNenhum) and
           (Trim(Resp.NSU) = '') and
           (Trim(Resp.TextoEspecialOperador) = 'A operação foi cancelada.') then
        begin
           Resp.Clear;

           ArquivosVerficar.Delete( 0 );
           Continue;
        end;

Estou realizando testes para ver o efeito disso.

 

Muito obrigado, Daniel!

  • Este tópico foi criado há 4120 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.