Resposta do m-SiTef para outro app
Após a execução do m-SiTef, o fluxo é retornado ao aplicativo que o acionou e são devolvidos alguns parâmetros. Através deles, o aplicativo conseguirá saber se o processamento da transação ocorreu com êxito e além de obter outras informações. Para receber estes dados, a aplicação deve implementar a função protected void onActivityResult( int requestCode, int resultCode, Intent data), que é executada pois o método startActivityForResult(Intent i, int requestCode) foi chamado para iniciar o m-SiTef. O argumento requestCode é usado para verificar a correspondência da chamada ao m-SiTef com o seu retorno. O resultCode mostra o status da execução do fluxo do m-SiTef (os valores pertencem ao Android RESULT_OK (-1) RESULT_CANCELED (0)). O argumento data é utilizado para recuperar os dados enviados pelo m-SiTef. A implementação do onActivityResult deve conter uma condição comparando se o requestCode é igual ao número passado no startActivityForResult e, dentro desta condição, é verificado se o m-SiTef foi executado com êxito e são recuperados os parâmetros enviados por ele através da função data.getExtras().getString().
O aplicativo integrado ao m-SiTef pode tratar apenas os parâmetros que precisar.
Tabela 2 - parâmetros de saída do m-SiTef#
| Parâmetro | Descrição |
|---|---|
| CODRESP | Código de resposta da transação realizada com o SiTef. Veja a tabela a seguir para maiores detalhes |
| COMP_DADOS_CONF | Dados que deverão ser passados para a CliSiTef, a fim de realizar a confirmação da transação realizada. |
| CODTRANS | Indica código da transação realizada. Possíveis valores: · ‘00’: Consulta Cheque · ‘01’: Cartão Débito · ‘02’: Cartão Crédito |
| TIPO_PARC | Valores possíveis: · “00”: À vista · “01”: Pré-Datado · “02”: Parcelado Estabelecimento · “03”: Parcelado Administradora |
| VLTROCO | Contém o valor aprovado para o troco em dinheiro. (Utilizado em compra com Saque disponível para algumas Redes). |
| REDE_AUT | Campo contendo a rede autorizadora da transação TEF realizada. Os códigos estão no documento "Especificação Técnica – Interface com os meios de pagamento do SiTef", na Tabela de Código das Redes Autorizadoras. |
| BANDEIRA | Campo contendo a bandeira da transação TEF realizada. Os códigos estão no documento "Especificação Técnica – Interface com os meios de pagamento do SiTef", na Tabela de Código da Bandeira. |
| NSU_SITEF | NSU do servidor SiTef. |
| NSU_HOST | NSU do Host Autorizador. |
| COD_AUTORIZACAO | Código de autorização da transação de crédito. (Presente somente em transações com cartão de crédito). |
| NUM_PARC | Campo contendo a quantidade de parcelas da transação. Caso ele esteja ausente, ou tiver valor “0” ou “1”, considerar venda à vista. |
| VIA_ESTABELECIMENTO | Cupom referente à via do estabelecimento. |
| VIA_CLIENTE | Cupom referente à via do cliente. |
| TIPO_CAMPOS | JsonObject contendo todos os campos da transação com a CliSiTef, incluindo os outros campos dessa tabela. Formato:{"Id TipoCampo N" : [ "valor 1", ....]}Os valores são sempre passados em JsonArray, mesmo ocorrendo somente uma ocorrência do campo pela CliSiTef. Para descobrir o significado de cada campo contido nessa lista favor olhar a tabela “Tabela de valores para TipoCampo” no documento SiTef - Interface Simplificada com a aplicação seção 5.3.2. Nem todos os parâmetros da tabela 5.3.2 podem estar presentes em todas as transações, alguns parâmetros podem não ser enviados dependendo da forma de pagamento ou se a transação não for concluída. |
Tabela 3 - Valores do CODRESP#
| CODRESP | Descrição |
|---|---|
| 0 | Sucesso na execução da função. |
| 1 | Endereço IP inválido ou não resolvido |
| 2 | Código da loja inválido |
| 3 | Código de terminal inválido |
| 6 | Erro na inicialização do Tcp/Ip |
| 7 | Falta de memória |
| 8 | Não encontrou a CliSiTef ou ela está com problemas |
| 9 | Configuração de servidores SiTef foi excedida. |
| 10 | Erro de acesso na pasta CliSiTef (possível falta de permissão para escrita) |
| 11 | Dados inválidos passados pela automação. |
| 12 | Modo seguro não ativo |
| 13 | Caminho DLL inválido (o caminho completo das bibliotecas está muito grande). |
| Outro valor positivo | Negada pelo autorizador. |
| -1 | Módulo não inicializado. O PDV tentou chamar alguma rotina sem antes executar a função configura. |
| -2 | Operação cancelada pelo operador. |
| -3 | O parâmetro função / modalidade é inexistente/inválido. |
| -4 | Falta de memória no PDV. |
| -5 | Sem comunicação com o SiTef. |
| -6 | Operação cancelada pelo usuário (no pinpad). |
| -9 | A automação chamou a rotina ContinuaFuncaoSiTefInterativo sem antes iniciar uma função iterativa. |
| -10 | Algum parâmetro obrigatório não foi passado pela automação comercial. |
| -12 | Erro na execução da rotina iterativa. Provavelmente o processo iterativo anterior não foi executado até o final (enquanto o retorno for igual a 10000). |
| -13 | Documento fiscal não encontrado nos registros da CliSiTef. Retornado em funções de consulta tais como ObtemQuantidadeTransaçõesPendentes. |
| -15 | Operação cancelada pela automação comercial. |
| -20 | Parâmetro inválido passado para a função. |
| -25 | Erro no Correspondente Bancário: Deve realizar sangria. |
| -30 | Erro de acesso ao arquivo. Certifique-se que o usuário que roda a aplicação tem direitos de leitura/escrita. |
| -40 | Transação negada pelo servidor SiTef. |
| -41 | Dados inválidos. |
| -43 | Problema na execução de alguma das rotinas no pinpad. |
| -50 | Transação não segura. |
| -100 | Erro interno do módulo. |
| Outro valor negativo | Erros detectados internamente pela rotina. |