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-SiTefParâ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 CODRESPCODRESP | 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. |