Ir para conteúdo
  • Cadastre-se

Painel de líderes

Conteúdo popular

Showing content with the highest reputation on 13-01-2026 em todas as áreas

  1. kkk para mim ta ok, se o acbr não disponibiliza porque acha "legal para a galera ver" por mim tudo bem. Que bom que no forum tem seus anedotas para nos alegrar kkk OBS: isso foi apenas uma piada, assim como a do nosso amigo!
    2 pontos
  2. É legal deixar pra galera saber quem publica dúvidas ou afirmações pertinentes e quem só enche o fórum de coisa inútil
    2 pontos
  3. Boa tarde a todos. Enviado ao SVN na Rev-44202 ajuste visando a correta leitura do retorno do SilTecnologia. Aqueles que utilizam componente nativo para Delphi/Lazarus, por favor, queira atualizar seus fontes, reinstalar o ACBr com a opção "Apagar arquivos antigos" marcada no instalador para realizar novos testes e reportar qualquer problema. Caso utilizem ACBrMonitorPLUS ou ACBrLibNFSe, por favor, aguardem nova compilação dos mesmos. Versões geradas depois das 15h30 do dia 12/01/2026 deverão englobar o ajuste.
    2 pontos
  4. Olá comunidade Gostaria de compartilhar com todos vocês um guia de integração com o m-SiTef da Fiserv no Android. Sobre o ACBr O ACBr é Distribuidor dos produtos e serviços da FISERV Temos condições exclusivas para a comunidade do ACBr, Somos autoridade em TEF. Confira o nosso curso completo, sobre TEF e Meios de Pagamentos Tenha acesso ao nosso Suporte, Demos e Cursos, inscrevendo-se na página: https://projetoacbr.com.br/tef/ Sobre a FISERV A Fiserv é uma líder global em tecnologia para serviços financeiros e pagamentos, presente em mais de 100 países e com mais de 40 anos de atuação. O SiTef (Sistema Inteligente de Transferência Eletrônica de Fundos) é uma solução TEF desenvolvida pela Fiserv para integrar pagamentos eletrônicos diretamente aos sistemas de automação comercial (PDV, ERP, e-commerce). Ele é considerado líder no mercado brasileiro e movimenta bilhões de transações por ano. Sendo o mais aceito, e compatível dos TEFs do mercado Brasileiro O que é o m-SiTef? O m-SiTef é um aplicativo desenvolvido pela Fiserv para a plataforma Android, tanto em celular ou tablet como em POS, que realiza transações (TEF) através do servidor SiTef. https://dev.softwareexpress.com.br/docs/m-sitef/m-SiTef/ Requisitos Mínimos O m-SiTef é compatível com Android versão 4.4ou superior. Características Gerais do m-SiTef Antes de apresentar as formas de integração, descreveremos neste capítulo as características gerais do m-SiTef. Ele disponibiliza para o integrador as mesmas funcionalidades da CliSiTef, descritas no documento "SiTef - Interface Simplificada com a aplicação", na Tabela de códigos de funções. Para executar as funções, é obrigatório enviar 4 parâmetros ao m-SiTef: empresaSitef, enderecoSitef, modalidade e CNPJ_CPF. Para a modalidade 0, também é obrigatório o parâmetro valor. data class MSitefConfig( val empresaSitef: String, val enderecoSitef: String, val modalidade: String, val cnpjCpf: String, val valor: String? = null // obrigatório para modalidade 0 ) { fun toIntent(): Intent { return Intent("br.com.softwareexpress.sitef.msitef.ACTIVITY_CLISITEF").apply { putExtra("empresaSitef", empresaSitef) putExtra("enderecoSitef", enderecoSitef) putExtra("modalidade", modalidade) putExtra("CNPJ_CPF", cnpjCpf) valor?.let { putExtra("valor", it) } } } } Importante: Todos os parâmetros apresentados neste documento em trechos de código são apenas ilustrativos e devem ser substituídos por valores válidos. A seguir, estão listados todos os parâmetros aceitos na aplicação. Tabela 1 - Parâmetros de entrada do m-SiTef Parâmetro Tipo Descrição empresaSitef Obrigatório Empresa SiTef. Tamanho de 8 dígitos alfanuméricos. enderecoSitef Obrigatório Endereço dos servidores do SiTef. Pode conter 1 a 3 endereços separados por ;. Formato: IP, IP:PORTA ou NOME:PORTA. Porta padrão: 4096. Não informar URL. terminalSitef Opcional Número de terminal SiTef. Se não informado, o m-SiTef usará o número de série do APOS ou o UUID do aparelho Android. modalidade Obrigatório Funcionalidade da CliSiTef. Ex: 0 = Pagamento, 200 = Cancelamento, 114 = Reimpressão. CNPJ_CPF Obrigatório CNPJ ou CPF do estabelecimento, sem caracteres especiais. valor Obrigatório p/ pagamento Valor da venda. Numérico até 12 dígitos, sendo os 2 últimos decimais. operador Opcional Código do operador. Alfanumérico até 20 caracteres. Data Obrigatório Data fiscal no formato AAAAMMDD. Hora Obrigatório Hora fiscal no formato HHMMSS. numeroCupom Obrigatório Número do cupom fiscal. Alfanumérico até 20 caracteres. numParcelas Opcional Número de parcelas em caso de compra parcelada. restricoes Opcional Opções de pagamento que não aparecerão no fluxo. Formato: <Opção>;<Opção>;... transacoesHabilitadas Opcional Opções de pagamento que serão habilitadas. Formato: {<Func1>;<Func2>;...} comExterna Obrigatório Define qual serviço TLS será usado: 0 = Sem TLS, 1 = TLS Software Express, 2 = TLS WNB Comnect, 3 = TLS Gsurf, 4 = TLS GWP (Fiserv). isDoubleValidation Obrigatório p/ TLS SE 0 = validação simples, 1 = validação dupla. cnpj_automacao Obrigatório CNPJ da empresa que desenvolveu a automação comercial. cnpj_facilitador Obrigatório CNPJ do Facilitador (Van). timeoutColeta Opcional Tempo de timeout em segundos para coletas. Padrão: 60s. Valor 0 ou negativo desativa o timeout. pinpadMac Opcional MAC Address Bluetooth do Pinpad. Formato: 00:00:00:00:00:00. tipoPinpad Obrigatório p/ USB ANDROID_USB = pinpad USB. ANDROID_BT = pinpad Bluetooth. acessibilidadeVisual Opcional 0 = desabilitado (padrão), 1 = habilitado. Ativa fontes maiores, alto contraste e text-to-speech. otp Opcional Código obrigatório quando utilizada comunicação com TLS GSurf. dadosSubAdqui Opcional Informações complementares para personalizar o que será impresso na fatura do comprador. tipoCampos Opcional Permite informar valores pré-determinados para campos solicitados pela CliSiTef. Formato JSON: {"campo1":"val1", "campo2":"val2"}. clsit Opcional Para adicionar, atualizar ou remover campos do arquivo de configuração CLSIT. Público-Alvo Parceiros que desenvolvam para Android, e desejam se integrar com o SiTef via m-SiTef, usando Intents. Como iniciar? Possuímos programa exemplo para Android Nativo (Kotlin) e Flutter de onde partiremos para explicarmos o passo a passo de como integrar o m-SiTef em seu projeto/solução. Etapas Para que você consiga testar em nossos programas exemplos siga as etapas abaixo primeiramente. Integração O primeiro passo é instanciar um objeto Intent passando o nome da aplicação como argumento: br.com.softwareexpress.sitef.msitef.ACTIVITY_CLISITEF. Através dessa informação, o Android buscará automaticamente o m-SiTef entre os aplicativos instalados no dispositivo. Em seguida, devem ser configurados os parâmetros obrigatórios através da função putExtra(String, String). Por fim, é executada a função startActivityForResult(Intent, int) passando o objeto Intent e um número inteiro arbitrário como ID (neste documento usaremos 1234). Menu Administrativo: val intent = Intent("br.com.softwareexpress.sitef.msitef.ACTIVITY_CLISITEF").apply { putExtra("empresaSitef", "00000001") putExtra("enderecoSitef", "127.0.0.1") putExtra("modalidade", "110") putExtra("CNPJ_CPF", "12345678912345") } startActivityForResult(intent, 1234) Exemplo Pagamento: val intent = Intent("br.com.softwareexpress.sitef.msitef.ACTIVITY_CLISITEF").apply { putExtra("empresaSitef", "00000001") putExtra("enderecoSitef", "127.0.0.1") putExtra("operador", "0001") putExtra("data", "20140312") putExtra("hora", "150000") putExtra("numeroCupom", "1") putExtra("modalidade", "0") putExtra("valor", "9000") putExtra("CNPJ_CPF", "12345678912345") putExtra("timeoutColeta", "30") putExtra("comExterna", "0") } startActivityForResult(intent, 1234) Exemplo Pagamento Débito à vista: val intent = Intent("br.com.softwareexpress.sitef.msitef.ACTIVITY_CLISITEF").apply { putExtra("empresaSitef", "00000001") putExtra("enderecoSitef", "127.0.0.1") putExtra("operador", "0001") putExtra("data", "20140312") putExtra("hora", "150000") putExtra("numeroCupom", "1") putExtra("modalidade", "2") putExtra("valor", "9000") putExtra("restricoes", "TransacoesHabilitadas=16") putExtra("CNPJ_CPF", "12345678912345") putExtra("timeoutColeta", "30") putExtra("comExterna", "0") } startActivityForResult(intent, 1234) Exemplo Pagamento Crédito à vista: val intent = Intent("br.com.softwareexpress.sitef.msitef.ACTIVITY_CLISITEF").apply { putExtra("empresaSitef", "00000001") putExtra("enderecoSitef", "127.0.0.1") putExtra("operador", "0001") putExtra("data", "20140312") putExtra("hora", "150000") putExtra("numeroCupom", "1") putExtra("numParcelas", "1") putExtra("modalidade", "3") putExtra("valor", "9000") putExtra("restricoes", "TransacoesHabilitadas=26") putExtra("CNPJ_CPF", "12345678912345") putExtra("timeoutColeta", "30") putExtra("comExterna", "0") } startActivityForResult(intent, 1234) Exemplo Pagamento Crédito parcelado: val intent = Intent("br.com.softwareexpress.sitef.msitef.ACTIVITY_CLISITEF").apply { putExtra("empresaSitef", "00000001") putExtra("enderecoSitef", "127.0.0.1") putExtra("operador", "0001") putExtra("data", "20140312") putExtra("hora", "150000") putExtra("numeroCupom", "1") putExtra("numParcelas", "3") putExtra("modalidade", "3") putExtra("valor", "9000") putExtra("restricoes", "TransacoesHabilitadas=27") putExtra("CNPJ_CPF", "12345678912345") putExtra("timeoutColeta", "30") putExtra("comExterna", "0") } startActivityForResult(intent, 1234) Exemplo Transação PIX: Opção 1 - Pelo menu carteiras digitais (Modalidade 0) val intent = Intent("br.com.softwareexpress.sitef.msitef.ACTIVITY_CLISITEF").apply { putExtra("empresaSitef", "00000001") putExtra("enderecoSitef", "127.0.0.1") putExtra("modalidade", "0") putExtra("CNPJ_CPF", "12345678912345") putExtra("cnpj_automacao", "12345678912345") putExtra("transacoesHabilitadas", "7;8;") } startActivityForResult(intent, 1234) Opção 2 - Chamando PIX diretamente (Modalidade 122) val intent = Intent("br.com.softwareexpress.sitef.msitef.ACTIVITY_CLISITEF").apply { putExtra("empresaSitef", "00000001") putExtra("enderecoSitef", "127.0.0.1") putExtra("modalidade", "122") putExtra("CNPJ_CPF", "12345678912345") putExtra("cnpj_automacao", "12345678912345") putExtra("transacoesHabilitadas", "7;8;") putExtra("restricoes", "CarteirasDigitaisHabilitadas=027160110024") } startActivityForResult(intent, 1234) Exemplo Cancelamento: val intent = Intent("br.com.softwareexpress.sitef.msitef.ACTIVITY_CLISITEF").apply { putExtra("empresaSitef", "00000001") putExtra("enderecoSitef", "127.0.0.1") putExtra("modalidade", "200") putExtra("CNPJ_CPF", "12345678912345") } startActivityForResult(intent, 1234) O campo cnpj_automacao é de extrema importância — é através dele que a Fiserv reconhece o estabelecimento para o repasse financeiro. Retorno do m-SiTef Após a execução, o m-SiTef retorna ao app que o acionou através do método onActivityResult. O resultCode indica o status: RESULT_OK (-1) = sucesso ou RESULT_CANCELED (0) = cancelado. Tabela 2 - Parâmetros de saída do m-SiTef Parâmetro Descrição CODRESP Código de resposta da transação. COMP_DADOS_CONF Dados para confirmação da transação na CliSiTef. CODTRANS Código da transação: 00 = Cheque, 01 = Débito, 02 = Crédito. TIPO_PARC 00 = À vista, 01 = Pré-Datado, 02 = Parc. Estabelecimento, 03 = Parc. Administradora. REDE_AUT Rede autorizadora da transação. BANDEIRA Bandeira do cartão utilizado. NSU_SITEF NSU do servidor SiTef. NSU_HOST NSU do Host Autorizador. COD_AUTORIZACAO Código de autorização (somente crédito). NUM_PARC Quantidade de parcelas. Ausente ou 0/1 = à vista. VIA_ESTABELECIMENTO Cupom da via do estabelecimento. VIA_CLIENTE Cupom da via do cliente. VLTROCO Valor aprovado para troco (quando aplicável). TIPO_CAMPOS JsonObject com todos os campos da transação CliSiTef. Tabela 3 - Valores do CODRESP CODRESP Descrição 0 Sucesso. 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 CliSiTef não encontrada ou com problemas. 9 Configuração de servidores SiTef excedida. 10 Erro de acesso na pasta CliSiTef. 11 Dados inválidos passados pela automação. 12 Modo seguro não ativo. Outro positivo Negada pelo autorizador. -1 Módulo não inicializado. -2 Operação cancelada pelo operador. -3 Modalidade inexistente ou inválida. -4 Falta de memória no PDV. -5 Sem comunicação com o SiTef. -6 Operação cancelada pelo usuário no pinpad. -10 Parâmetro obrigatório não informado. -15 Operação cancelada pela automação comercial. -20 Parâmetro inválido. -40 Transação negada pelo servidor SiTef. -41 Dados inválidos. -43 Problema na execução de rotina no pinpad. -50 Transação não segura. -100 Erro interno do módulo. Outro negativo Erros detectados internamente. Exemplo de tratamento do retorno: override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) if (requestCode == 1234) { if (resultCode == RESULT_OK) { println("CODRESP: " + data?.extras?.getString("CODRESP")) println("COMP_DADOS_CONF: " + data?.extras?.getString("COMP_DADOS_CONF")) println("CODTRANS: " + data?.extras?.getString("CODTRANS")) println("TIPO_PARC: " + data?.extras?.getString("TIPO_PARC")) println("REDE_AUT: " + data?.extras?.getString("REDE_AUT")) println("BANDEIRA: " + data?.extras?.getString("BANDEIRA")) println("NSU_SITEF: " + data?.extras?.getString("NSU_SITEF")) println("NSU_HOST: " + data?.extras?.getString("NSU_HOST")) println("COD_AUTORIZACAO: " + data?.extras?.getString("COD_AUTORIZACAO")) println("NUM_PARC: " + data?.extras?.getString("NUM_PARC")) println("VIA_ESTABELECIMENTO: " + data?.extras?.getString("VIA_ESTABELECIMENTO")) println("VIA_CLIENTE: " + data?.extras?.getString("VIA_CLIENTE")) } } } 🛜 Ambiente Para realizar as transações no m-SiTef você necessita de um endereço SiTef que pode ser emulado em sua máquina via SitDemo e o próprio m-SiTef instalado no terminal Android. Será necessário instalar o Emulador de SiTef em sua máquina, o SitDemo Se você já preencheu o formulário em https://projetoacbr.com.br/tef/ nossa equipe já lhe respondeu com um e-mail, com as instruções de como Baixar o SitDemo Acompanhe o processo de instalação do SitDemo, através desse vídeo abaixo: Após a instalação estar concluída, abra o SitDemo. APK do m-SiTef O APK do m-SiTef também será enviado a você pela equipe do ACBr, após o início da Parceria. É importante você nos informar, em qual dispositivo irá instalar o APK. Exemplos: Sumni P2 GPOS700 PAX A920 Newland N910 Ingenico DX8000 PDV D2 Mini com PinPad USB Os dispositivos do tipo SmartPOS, ou seja, com leitura de Cartão/Chip integrado, possuem segurança PCI. E isso requer que os aplicativos (APKs) sejam assinados com chaves específicas para poderem ser instalados nesses terminais. Por isso, existe uma versão específica de m-Sitef, para cada dispositivo SmartPOS Com o APK em mãos você deve instalar no terminal que irá fazer os testes... Projeto Atualmente possuímos exemplos de integração com o m-SiTef para Android Nativo com Kotlin e Flutter. Android (Kotlin) Clone o programa exemplo disponível no nosso GitHub: https://github.com/Projeto-ACBr-Oficial/acbr-sitef-android Após clonar o projeto em sua máquina, abra o na sua IDE (Android Studio, VS Code, etc.). Entendendo a integração: Flutter Clone o programa exemplo disponível no nosso GitHub: https://github.com/Projeto-ACBr-Oficial/acbr-sitef-flutter Após clonar o projeto em sua máquina, abra o na sua IDE (Android Studio, VS Code, etc.). Entendendo a integração: Rodar o projeto Após essas etapas e configurações você consegue rodar nosso programa exemplo integrando com o m-SiTef em um terminal Android. Roteiro Pré-Homologação m-SiTef Em nosso curso -> T.E.F e Meios de Pagamentos, já estão disponíveis as aulas sobre o Pré-Roteiro de Homologação - MSiTef. Referências - Toda a integração foi guiada pela documentação oficial disponibilizada pela própria Fiserv no link: https://dev.softwareexpress.com.br/docs/m-sitef/m-SiTef/ Estamos disponíveis para qualquer dúvida ou sugestão.
    2 pontos
  5. Bom dia! Estava recebendo o erro E160 quando envia a NFSE para o GINFES, até que mudei novamente de GINFES para GISS e voltou a funcionar novamente.
    1 ponto
  6. Por gentileza pode encerrar o topico Deve ser utilizado o código 07.02.01 e informar o endereço da obra que da tudo certo! obg pela atenção
    1 ponto
  7. Dei uma mexida no meu fonte e joguei as configurações: NFSe.Configuracoes.Geral.Versao := ve101; NFSe.Configuracoes.Geral.LayoutNFSe := lnfsPadraoNacionalv101; no fim da minha procedure de configuração, após configurar a cidade etc... ai deu esse erro: C:\Softin\DFe\NFSe\SchemasNac\PadraoNacional\1.01\DPS_v1.00.xsd Não encontrado ele procurou na pasta certar mas o arquivo errado...
    1 ponto
  8. Estou com o mesmo problema, realizei testes em 3 municípios diferentes, todos retornam protocolo e o status "Não processado", quando consulto o portal, esta como "Processado com erro" e a mesangem "Erro desconhecido: 00000. Este erro sera analisado e corrigido. O registro a ser alterado esta desatualizado devido alteracao por outro usuario!" Segue um print: ão processadoNão processado
    1 ponto
  9. Está ocorrendo o mesmo em Vila Velha
    1 ponto
  10. Veja se é isso que precisa. 1248-ger-nfse-soap.xml
    1 ponto
  11. Favor cancelar o ticket. Equipe não se atentou a um detalhe de configuração
    1 ponto
  12. Sim, esse foi o problema, que só percebi depois que ja tinha postado a duvida no portal. Tentei apagar em seguida mas não teve como. Mas o problema foi esse mesmo, que eu nem tinha percebido. Mas obrigado a todos!
    1 ponto
  13. Oii, bom dia. Eu fiz um pouco diferente, mas consegui deixar funcionando o envio, consulta por RPS e consulta por lote (que por enquanto não está retornando as notas, mas imagino que seja problema com o provedor). O lote aparece processado com sucesso e só está pendente de enviar para o ambiente nacional. SpeedGov.GravarXml.pas SpeedGov.Provider.pas
    1 ponto
  14. não está com o INI junto ao exe também?
    1 ponto
  15. Amigos consegui transmitir, vou passar aqui as propriedades que preenchi com exemplos dos códigos, mais como o amigo Juliomar comentou acima, importante ver a lista de codigos, simulei uma nota pelo site da prefeitura e conferi os codigos, no meu caso aqui foram alterados, também. Servico.CodigoTributacaoMunicipio := 4.01; Servico.ItemListaServico := 040101; Servico.CodigoNBS := '123012200'; Servico.CodigoMunicipio := 3501905; Servico.MunicipioIncidencia := 3501905; Servico.CodigoPais := 1058; Abs e obrigado
    1 ponto
  16. @C4Dev ainda não. Fiz o cancelamento via portal da prefeitura. Mas, mesmo cancelando via portal, a NFS-e não apresenta cancelada no Portal Nacional.
    1 ponto
  17. Estou com meu próprio arquivo ACBrNFSeXServicos.ini com a configuração antiga da cidade de Goiânia, assim consigo enviar nota fiscal normalmente [5208707] Nome=Goiania UF=GO Provedor=ISSNet Versao=2.04 ProRecepcionar=https://nfse.issnetonline.com.br/abrasf204/goiania/nfse.asmx HomRecepcionar=https://www.issnetonline.com.br/homologaabrasf/webservicenfse204/nfse.asmx
    1 ponto
  18. Ao que tudo indica a Fly da Betha não tá conseguindo emitir no padrão nacional e muitas cidades estão saindo até dela e indo para o padrão nacional direto
    1 ponto
  19. Estou usando a primeira forma, informando os vTotTrib. Mas como em alguns casos o valor pode vir zerado, estou forçando a geração das tags, desta forma: NFS.Servico.Valores.totTrib.vTotTribFed := TribFederais + 0.001; NFS.Servico.Valores.totTrib.vTotTribEst := TribEstaduais + 0.001; NFS.Servico.Valores.totTrib.vTotTribMun := TribMunicipais + 0.001; NFS.Servico.Valores.totTrib.indTotTrib := TindTotTrib.indSim;
    1 ponto
  20. Bom dia Pessoal, Esse tópico esta ficando com muitas páginas e da forma que esta vai ficar complicado olhar as inúmeras colaborações que estão nele. Vou fechar o tópico. Por favor criem um tópico para cada cidade que tenha aderido a emissão da NFS-e segundo o Padrão Nacional ou cujo provedor implementou uma API própria ou um novo Webservice para atender a Reforma Tributária. Desde já muito obrigado pela colaboração e compreensão de todos.
    1 ponto
×
×
  • 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.