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âmetroDescrição
CODRESPCódigo de resposta da transação realizada com o SiTef.
Veja a tabela a seguir para maiores detalhes
COMP_DADOS_CONFDados que deverão ser passados para a CliSiTef, a fim de realizar a confirmação da transação realizada.
CODTRANSIndica código da transação realizada. Possíveis valores:
·       ‘00’: Consulta Cheque
·       ‘01’: Cartão Débito
·       ‘02’: Cartão Crédito
TIPO_PARCValores possíveis:
·       “00”: À vista
·       “01”: Pré-Datado
·       “02”: Parcelado Estabelecimento
·       “03”: Parcelado Administradora
VLTROCOContém o valor aprovado para o troco em dinheiro. (Utilizado em compra com Saque disponível para algumas Redes).
REDE_AUTCampo 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.
BANDEIRACampo 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_SITEFNSU do servidor SiTef.
NSU_HOSTNSU do Host Autorizador.
COD_AUTORIZACAOCódigo de autorização da transação de crédito. (Presente somente em transações com cartão de crédito).
NUM_PARCCampo contendo a quantidade de parcelas da transação. Caso ele esteja ausente, ou tiver valor “0” ou “1”, considerar venda à vista.
VIA_ESTABELECIMENTOCupom referente à via do estabelecimento.
VIA_CLIENTECupom referente à via do cliente.
TIPO_CAMPOSJsonObject 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#

CODRESPDescrição
0Sucesso na execução da função.
1Endereço IP inválido ou não resolvido
2Código da loja inválido
3Código de terminal inválido
6Erro na inicialização do Tcp/Ip
7Falta de memória
8Não encontrou a CliSiTef ou ela está com problemas
9Configuração de servidores SiTef foi excedida.
10Erro de acesso na pasta CliSiTef (possível falta de permissão para escrita)
11Dados inválidos passados pela automação.
12Modo seguro não ativo
13Caminho DLL inválido (o caminho completo das bibliotecas está muito grande).
Outro valor positivoNegada pelo autorizador.
-1Módulo não inicializado. O PDV tentou chamar alguma rotina sem antes executar a função configura.
-2Operação cancelada pelo operador.
-3O parâmetro função / modalidade é inexistente/inválido.
-4Falta de memória no PDV.
-5Sem comunicação com o SiTef.
-6Operação cancelada pelo usuário (no pinpad).
-9A automação chamou a rotina ContinuaFuncaoSiTefInterativo sem antes iniciar uma função iterativa.
-10Algum parâmetro obrigatório não foi passado pela automação comercial.
-12Erro 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).
-13Documento fiscal não encontrado nos registros da CliSiTef. Retornado em funções de consulta tais como ObtemQuantidadeTransaçõesPendentes.
-15Operação cancelada pela automação comercial.
-20Parâmetro inválido passado para a função.
-25Erro no Correspondente Bancário: Deve realizar sangria.
-30Erro de acesso ao arquivo. Certifique-se que o usuário que roda a aplicação tem direitos de leitura/escrita.
-40Transação negada pelo servidor SiTef.
-41Dados inválidos.
-43Problema na execução de alguma das rotinas no pinpad.
-50Transação não segura.
-100Erro interno do módulo.
Outro valor negativoErros detectados internamente pela rotina.