Membros Pro Dércio Luis Zanatta Postado Segunda as 10:41 Membros Pro Postado Segunda as 10:41 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 2
Consultores Júlio Cavalcanti Postado Segunda as 12:35 Consultores Postado Segunda as 12:35 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.
Fundadores Daniel Simoes Postado Segunda as 16:31 Fundadores Postado Segunda as 16:31 Obrigado pela contribuição... Enviei ao SVN, com pequenos ajustes... https://sourceforge.net/p/acbr/code/37792/ 1 Daniel Simões de Almeida O melhor TEF, é com o Projeto ACBr - Clique e Conheça Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976.
Recommended Posts