Ir para conteúdo
  • Cadastre-se

dev botao

Recommended Posts

  • Membros Pro
Postado

Bom dia.

Estou enviado algumas alterações que tive que fazer na Unit AcbrTEFMSitefAndroidAPI.pas por causa de uma situação que ocorre em uma nova versão do M-Sitef da Fiserv.

O que ocorre é que quando o operador aborta a transação durante seu fluxo no M-Sitef, o mesmo retorna a Intent nula, o que torna impossível capturar os retornos da mesma. Diante disso foi preciso fazer um tratamento, forçando uma mensagem de erro "Cancelado pelo Operador" nessas situações.

Abaixo um resumo do que tive que alterar:

1 - Nessa função tive que colocar em comentário o trecho de código que parava o processamento quando a Intent retorna nula:

function TACBrTEFSIWebAndroid.OnActivityResult(RequestCode, ResultCode: Integer; AIntent: JIntent): Boolean;
begin
  Result := False;
  fEmTransacao := False;
  GravarLog(Format('TACBrTEFSIWebAndroid.OnActivityResult: RequestCode: %d, ResultCode: %d', [RequestCode, ResultCode]));

  {
  if not Assigned(AIntent) then
  begin
    GravarLog('   no Intent');
    Exit;
  end;
  }

 

2 - Nessa outra função , passei o retorno de forma fixa, quando a intent retorna nula

procedure TACBrTEFSIWebAndroid.ObterDadosDaTransacao(AIntent: JIntent);
  function buscarStringExtra(name : string) : string;
  begin
    Result := String(DecodeURL( AnsiString(JStringToString(AIntent.getStringExtra(StringToJString(name))))));
  end;

var
  jsonTipoCampos    : string;
  js                : TACBrJSONObject;
  viaCliente        : Boolean;
  viaEstabelecimento: Boolean;
begin

  if not Assigned(AIntent) then
  begin
    GravarLog('[ObterDadosDaTransacao] no Intent to read');

    fDadosTransacao.Clear;
    fDadosTransacao.ValueInfo[PWINFO_RET]          := '-6';
    fDadosTransacao.ValueInfo[PWINFO_RESULTMSG]    := traduzRetorno(StrToIntDef(fDadosTransacao.ValueInfo[PWINFO_RET], 0));

    Exit;
  end;

Diante disso, peço por gentileza, que subam essas alterações para o SVN para futuras atualizações do componente.

Obrigado..


 

 

ACBrTEFMSitefAndroidAPI.pas

  • Curtir 2
  • Consultores
Postado
1 hora atrás, Dércio Luis Zanatta disse:

Bom dia.

Estou enviado algumas alterações que tive que fazer na Unit AcbrTEFMSitefAndroidAPI.pas por causa de uma situação que ocorre em uma nova versão do M-Sitef da Fiserv.

O que ocorre é que quando o operador aborta a transação durante seu fluxo no M-Sitef, o mesmo retorna a Intent nula, o que torna impossível capturar os retornos da mesma. Diante disso foi preciso fazer um tratamento, forçando uma mensagem de erro "Cancelado pelo Operador" nessas situações.

Abaixo um resumo do que tive que alterar:

1 - Nessa função tive que colocar em comentário o trecho de código que parava o processamento quando a Intent retorna nula:

function TACBrTEFSIWebAndroid.OnActivityResult(RequestCode, ResultCode: Integer; AIntent: JIntent): Boolean;
begin
  Result := False;
  fEmTransacao := False;
  GravarLog(Format('TACBrTEFSIWebAndroid.OnActivityResult: RequestCode: %d, ResultCode: %d', [RequestCode, ResultCode]));

  {
  if not Assigned(AIntent) then
  begin
    GravarLog('   no Intent');
    Exit;
  end;
  }

 

2 - Nessa outra função , passei o retorno de forma fixa, quando a intent retorna nula

procedure TACBrTEFSIWebAndroid.ObterDadosDaTransacao(AIntent: JIntent);
  function buscarStringExtra(name : string) : string;
  begin
    Result := String(DecodeURL( AnsiString(JStringToString(AIntent.getStringExtra(StringToJString(name))))));
  end;

var
  jsonTipoCampos    : string;
  js                : TACBrJSONObject;
  viaCliente        : Boolean;
  viaEstabelecimento: Boolean;
begin

  if not Assigned(AIntent) then
  begin
    GravarLog('[ObterDadosDaTransacao] no Intent to read');

    fDadosTransacao.Clear;
    fDadosTransacao.ValueInfo[PWINFO_RET]          := '-6';
    fDadosTransacao.ValueInfo[PWINFO_RESULTMSG]    := traduzRetorno(StrToIntDef(fDadosTransacao.ValueInfo[PWINFO_RET], 0));

    Exit;
  end;

Diante disso, peço por gentileza, que subam essas alterações para o SVN para futuras atualizações do componente.

Obrigado..


 

 

ACBrTEFMSitefAndroidAPI.pas 29.29 kB · 0 downloads

Bom dia, @Dércio Luis Zanatta. Muito obrigado pela contribuição. 

Criamos a #TK-6729 para analisar a contribuição.
Notificaremos por aqui após concluir a análise. 

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