Ir para conteúdo
  • Cadastre-se

Painel de líderes

Conteúdo popular

Showing content with the highest reputation since 17-04-2024 em todas as áreas

  1. Olá pessoal! O envio do MDFe de forma assíncrona está com os dias contados, com a previsão de ser encerrado no dia 30/06/2024. O tópico abaixo tem mais detalhes a respeito. Mas fica então o questionamento, o que muda? Bem, antes de falar sobre isso, vamos responder a outra pergunta: Qual é a diferença entre o envio assíncrono e o envio síncrono? De maneira bem simples, a diferença entre essas formas de envio é a quantidade de conexões que é feita para com o web service da Sefaz. No envio assíncrono, primeiro sua aplicação envia o XML para o web service e recebe um número de recibo. Então, a aplicação faz uma nova requisição para o web service consultando o número de recibo para obter as rejeições ou em caso de sucesso o MDFe. Já no envio síncrono, em uma só requisição é enviado para o web service e na resposta já vem as rejeições ou o MDFe quando em caso de sucesso. Se você pensou: Isso se deve ao fato de que visando auxiliar os desenvolvedores que utilizam o componente, esse processo é automatizado, ou seja, a consulta já era feita automaticamente pela solução. Entendi a diferença entre os modos de envio, mas o que eu preciso mudar na minha aplicação? A primeira coisa que você deve se atentar é no comando que utiliza para fazer o envio do MDFe para o web service. Veja quais são os parâmetros do método Enviar no comando nativo. // Parâmetros do método Enviar: // ALote = Número do Lote // AImprimir = Se True imprime automaticamente o DAMDFE // ASincrono = Se True o envio é no modo Síncrono, caso contrario Assíncrono. ACBrMDFe.Enviar(Alote, AImprmir, ASincrono); Estes parâmetros são refletidos também nos comandos tanto da Lib: MDFE_Enviar(ALote, AImprimir, ASincrono, sResposta, esTamanho); Quanto do Monitor: MDFE.ENVIARMDFe(nXMLMDFe, [nLote], [nAssinar],[nImprimi],[nImpressora], [bAssincrono], [bEncerrado] ) Parâmetros: nXMLMDFe - Caminho do XML do MDF-e nLote - Número do Lote (opcional) nAssinar - Assinar o XML (opcional - informe 0 para não assinar) nImprimi - Imprimir MDF-e (opcional - informe 1 para imprimir) nImpressora - Nome da Impressora (opcional) bAssincrono - Por padrão o envio é Assíncrono, informa "False" para envio Sincrono bEncerrado - Imprimir Mensagem de "MDFe Encerrado", (opcional - informe 1 para imprimir) Então, a partir de 30/06/2024, será preciso informar corretamente o parâmetro que define o modo de envio, para que o mesmo seja feito de forma síncrona. No momento de ler o retorno, também serão necessárias mudanças. Caso utilize o componente nativo para Delphi/Lazarus, a classe que vai ler as informações não é mais a Retorno e sim a Enviar. //Ao invés de ler as informações de: ACBrMDFe.WebServices.Retorno.XXXX //Agora vai ler de: ACBrMDFe.WebServices.Enviar.XXXX Se você utiliza o Monitor ou a Lib, a principal diferença será no momento de ler as informações do MDFe. No envio assíncrono elas ficavam contidas na seção [MDFe + Número do MDFe], no entanto, na resposta do envio síncrono elas ficam em [MDFe+ Chave de Acesso do MDFe]. Mas eu não tenho a Chave de Acesso ainda, como vou conseguir ler? A chave de acesso de um documento fiscal deve ser montada seguindo uma regra estabelecida no MOC. Por isso, tanto a Lib quanto o Monitor possuem um método específico que se alimentado com as informações necessárias devolvem a chave de acesso montada. São eles: MDFe.GerarChave para o Monitor. MDFe_GerarChave para a Lib. Portanto, fazendo uso deste método é possível obter a informação que é precisa para realizar a leitura da seção.
    9 pontos
  2. Olá Pessoal, Caso alguém tenha informações sobre as cidades abaixo no que se refere a provedor, URLs, schemas, por favor nos informes. A ideia é fazer com que o componente ACBrNFSeX atenda o maior numero possível de cidades acima de 100 mil habitantes. Cidades com mais de 200 mil habitantes não atendidas pelo componente: 2303709 Caucaia/Ceará - Trabalha com formato TXT e no site tem a opção para importar o arquivo Cidades com menos de 200 mil e mais de 100 mil habitantes não atendidas pelo componente: 1301902 Itacoatiara/Amazonas 1303403 Parintins/Amazonas 1500107 Abaetetuba/Pará 1501709 Bragança/Pará 1501808 Breves/Pará 1502103 Cametá/Pará 1505502 Paragominas/Pará 1507953 Tailândia/Pará 1508100 Tucuruí/Pará 1600600 Santana/Amapá 2103307 Codó/Maranhão 2107506 Paço do Lumiar/Maranhão 2111201 São José de Ribamar/Maranhão 2306405 Itapipoca/Ceará 2307700 Maranguape/Ceará 2510808 Patos/Paraíba 2513703 Santa Rita/Paraíba 2600054 Abreu e Lima/Pernambuco 2606804 Igarassu/Pernambuco 2612505 Santa Cruz do Capibaribe/Pernambuco 2613701 São Lourenço da Mata/Pernambuco 2900702 Alagoinhas/Bahia 2924009 Paulo Afonso/Bahia 3300308 Barra do Piraí/Rio de Janeiro 3302270 Japeri/Rio de Janeiro 3516408 Franco da Rocha/São Paulo 3547304 Santana de Parnaíba/São Paulo Ultima checagem com o arquivo ACBrNFSeXServicos.ini realizada na data de 19/04/2024.
    5 pontos
  3. Bom dia! A informação que temos é a de que a cidade de Biguacu/SC é atendida pela versão 2.04 do web service da IPM. Neste caso, as tags em que ele busca a informação são a princípio <UrlNfse> e <LinkNota>. Ainda assim, o componente também conta com uma rotina de tratamento que busca a informação do Link dentro da tag OutrasInformacoes. No entanto, conferindo aqui, me parece que a mesma não é utilizada pela rotina de leitura do IPM. Enviado alteração ao SVN na Rev-33348 adicionando chamada a esta rotina, por favor, queira atualizar seus fontes, reinstalar o ACBr para realizar novos testes e reportar qualquer problema.
    3 pontos
  4. Você chegou a aumentar o TimeOut? Tente um valor como 40000 para testar. Veja mais informações em:
    3 pontos
  5. Ola boa noite, Com ajuda dos consultores consegui resolver meu problema usando MDFe_GerarChave() pode fechar.
    3 pontos
  6. Olá pessoal! No dia 04/04/2024 foi publicada a Resolução Sefaz Nº636, alterando novamente o artigo 9º da Resolução Nº578, dando ao mesmo a seguinte redação: Postergando novamente a entrada em vigor dessa obrigatoriedade para 01/05/2024. Um agradecimento ao membro de nossa comunidade @Bruno da Silva Pereira por compartilhar a informação em nosso fórum.
    3 pontos
  7. Mudanças na certificação digital devem começar em junho, diz presidente do ITI https://capitaldigital.com.br/mudancas-na-certificacao-digital-devem-comecar-em-junho-diz-presidente-do-iti/ Contribuição de @Arimateia Jr
    2 pontos
  8. Obrigado, antes de você mandar eu já tinha reiniciado uma instalação do zero, e deu tudo certo !! Obrigado a todos
    2 pontos
  9. Olá pessoal, espero que estejam todos bem. Compartilho com voçês um projeto em que venho trabalhando, acabei tendo que deixar o projeto de lado por algum tempo, mas agora estou trabalhando nele e devo disponibilizar os fontes nos proximos dias.
    2 pontos
  10. Boa tarde executando em meu ambiente de testes com escala monitor 100% ACBrNFe.DANFE.NovaEscala := 96; ACBrNFe.DANFE.AlterarEscalaPadrao := False;
    2 pontos
  11. to ligado @Daniel InfoCotidiano nessa minha api roda outras features tbm, nesse caso não posso deixar que um componente/unit altere o padrão, por isso isolei o componente e manipulei a maneira como ele usa o defautl do s.o (fork), apesar de não concordar não vem ao caso, com os ajustes que apliquei esta funcionando e não vou ter problema quando pessoal do time ajustar alguma coisa, mesmo assim fico grato pela atenção que deram sobre o caso, muito obrigado. Att.
    2 pontos
  12. Boa tarde @ANDERSON JUNIOR GADO DA SILVA Falando com o time isso foi colocado pq servidores como Amazon são em inglês e alguns usuários sugeriram isso. Comportamento com meu ambiente de testes: Utilizado diretivas do Linux no LAzarus: Resultou como esperado: Quando não usamos ele pega padrão do Sistema Operacional, mas add a virgula como separador decimal.
    2 pontos
  13. @C4Dev, Muito obrigado pela colaboração, já Inclui na minha lista de tarefas para analise.TK-5362
    2 pontos
  14. Bom dia. Vou entrar em contato com eles. Obrigado por enquanto.
    2 pontos
  15. Olá pessoal! Conferindo no painel Situação SVC, é possível observar que a Sefaz de Pernambuco está com contingência agendada para o dia 21/04/2024, com previsão de inicio às 07h00 e encerramento no dia 22/04/2024 às 09h00. Para utilizar as soluções ACBr em contingência durante este período, siga as orientações do tópico abaixo: Um agradecimento ao membro de nossa comunidade @Felipe Mariano por compartilhar a informação no canal #sefaz em nosso Discord.
    2 pontos
  16. Boa tarde @nildglan, Eu já tinha dito acima que se mesmo informando o ultimo NSU na próxima execução ainda retorna consumo indevido é indicio de que outra pessoa/empresa esteja fazendo essa consulta. Isso acontece bastante, pois as empresas fornecem uma cópia do certificado para o escritório de contabilidade e este começa a fazer essas consultas. Agora se você esta usando o seu certificado para consultar as notas emitidas contra o seu CNPJ e mesmo assim esta tendo esse tipo de rejeição, tem alguma coisa errada. Dentro da sua empresa só você esta fazendo esse teste ou mais alguém esta fazendo em outra maquina? A cada tentativa usando o seu certificado o ultNSU muda?
    2 pontos
  17. Veja que agora o ultNSU é 1719, se você não entendeu o processo vai continuar patinando. Seu ultNSU era 1718, você deveria utilizar o método passando ultNSU 1718 até receber pelo menos um novo NSU. Você recebeu um novo NSU, agora irá passar a consultar o 1719 e aguardar pelo menos 1h. Quando você receber 1 ou mais novos NSUs, irá identificar qual o ultNSU para a próxima pesquisa, enquanto não receber nenhum novo NSU, seguirá utilizando o 1719. Veja o tópico a seguir e o curso no nutror Implementando o serviço Distribuição DFe.
    2 pontos
  18. Ambiente de homologação deles é instável e sim está com erro lá vai precisar esperar voltar ao normal para testar
    2 pontos
  19. Olá! Alguém poderia me ajudar em como recuperar o nome do arquivo xml que foi gerado pelo componente? Através da dica que recebi do @Diego Foliene não estou conseguindo. Exemplo no anexo. Muito obrigado.
    1 ponto
  20. Boa tarde a todos. Vi o post do @Diego Foliene na base de conhecimentos sobre o envio de nova em modo Sincrono e comecei a realizar as modificações necessárias, troquei as opções "webservices.RETORNO.xxxx" por "webservices.ENVIAR.xxxx", só estou tendo dificuldades em obter a chave, ele não reconhece o comando "ACBrMDFe1.WebServices.ENVIAR.ChaveMDFe". Alguma dica. Grato,
    1 ponto
  21. Boa noite, Implementada propriedade PathNome para retorno do arquivo gerado em envio de lote, consultas e download de eventos. Enviado para o SVN na Rev-33419 Por favor atualize os fontes, reinstale os componentes e, se possível, nos informe se foi o resultado esperado. Atualizados programas de exemplo em Delphi e Lazarus com tratamento da nova propriedade. 1. Envio de lote terá o prefixo padrão de data e hora * Propriedade: ACBreSocial1.WebServices.EnvioLote.PathNome Exemplos: * 20240423212314-rec-soap.xml * 20240423212314-env-lot.xml * 20240423212314-env-lot-soap.xml * 20240423212314-rec.xml 2. Consulta de Protocolo terá o prefixo sendo o número do Protocolo * Propriedade: ACBreSocial1.WebServices.ConsultaLote.PathNome Exemplos: * 1.2.202404.0000000000123456789-sit-soap.xml * 1.2.202404.0000000000123456789-ped-sit.xml * 1.2.202404.0000000000123456789-ped-sit-soap.xml * 1.2.202404.0000000000123456789-sit.xml 3. Consulta Identificadores terá o prefixo sendo a composição da consulta * Propriedade: ACBreSocial1.WebServices.ConsultaIdentEventos.PathNome Exemplos: * S-1000-00010602000120-01-2024-20240423213439-ped-con-soap.xml * S-1000-00010602000120-01-2024-20240423213439-con.xml * S-1000-00010602000120-01-2024-20240423213439-con-soap.xml * S-1000-00010602000120-01-2024-20240423213439-ped-con.xml 4. Download terá o prefixo padrão de data e hora * Propriedade: ACBreSocial1.WebServices.DownloadEventos.PathNome Exemplos: * 20240423214526-ped-dow-soap.xml * 20240423214526-dow.xml * 20240423214526-dow-soap.xml * 20240423214526-ped-dow.xml
    1 ponto
  22. Em homologação no PR se sim está ocorrendo erro lá sim
    1 ponto
  23. 1 ponto
  24. Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.
    1 ponto
  25. Se trata da quantidade vendida do lote em questão. O campo existe pois há um relacionamento de n lotes para o mesmo item da nota fiscal.
    1 ponto
  26. Boa tarde @Mega Online, Quais são os valores de: SSLLib, CryptLib, HttpLib, XmlSignLib e SSLType ? Copiou todas as DLLs necessárias?
    1 ponto
  27. Boa tarde @Diego Foliene, entendido, vou encaminhar, assim que me responderem dou um retorno
    1 ponto
  28. Por favor, configure o Log do Componente no ACBrLib.. https://acbr.sourceforge.io/ACBrLib/ConfiguracoesdaBiblioteca23.html ArqLog -> Informe um Path e NivelLog = 4 Faça um teste com o programa nativo do componente Se ainda sim retornar a mesma mensagem.. Precisa falar com a PSP.. pode ser algo relação ao certificado.
    1 ponto
  29. respondido em : https://discord.com/channels/798697718800318484/798965726974312458/1230895838042128494
    1 ponto
  30. Bom dia! Infelizmente é mais comum do que imagina, existem provedores que não possuem ambiente de homologação, provedores que usam o mesmo ambiente só diferenciando por tag no XML e por ai vai. Que bom que deu certo! Obrigado pelo feedback.
    1 ponto
  31. Hmm, infelizmente só essa mensagem não nos ajuda muito a encontrar o problema. Tente encontrar um fato em comum. Por exemplo, todas as telas que abrem e ocorre o problema tem determinado componente, ou herdam de determinada classe. Conversando junto a equipe de consultores, um teste sugerido foi abrir todos os forms do projeto e recompilar. Também foi sugerido testar compilando em debug a aplicação para ver se exibe mais informações sobre o problema.
    1 ponto
  32. Aparentemente não tem relação com ACBr Não esta hardcoded uma impressora por exemplo q existe em seu ambiente e no usuario não ? apenas uma suposição nao consegue detalhar a exceção gerando um log? se é quando acessa cadastro algum parametro de conexao ou consulta inicial?
    1 ponto
  33. Bom dia @Italo Giurizzato Junior! Isso mesmo, o provedor é o mesmo, SmarAPD, só que eles agora estão utilizando a versão 2.04 da ABRASF, antes era layout próprio mesmo. Vou entrar em contato com eles. Obrigado pela atenção.
    1 ponto
  34. Boa noite, A opção que o @Diego Foliene indicou é utilizada para identificar os xmls dos eventos, os xmls dos lotes, retornos e consultas aparentemente não tem esse tratamento. Criada TK-5360 para analisar a possibilidade dessa implementação.
    1 ponto
  35. boa tarde, transmitiu com sucesso só esta dando problema na consulta tanto a consulta por lote: como a consulta de nfse por rps: estamos quase lá .
    1 ponto
  36. Boa tarde! Consigo sim. Por favor, encaminhe os dados para o [email protected]. Não se esqueça de adicionar o link do tópico no fórum para que consigamos identificar depois.
    1 ponto
  37. Complementando, tente preencher pelo menos os dados de prestador e tomador que deixou tudo em branco, pois talvez não caia na rejeição. <Prestador> <CpfCnpj> <Cnpj/> </CpfCnpj> <InscricaoMunicipal/> </Prestador> <Tomador> <IdentificacaoTomador> <CpfCnpj> <Cnpj/> </CpfCnpj> <InscricaoMunicipal/> </IdentificacaoTomador> <RazaoSocial/> <Endereco> <Endereco/> <Numero/> <Complemento/> <Bairro/> <CodigoMunicipio/> <Uf/> <Cep/> </Endereco> <Contato> <Telefone/> <Email/> </Contato> </Tomador>
    1 ponto
  38. Confirme também se configurou a versão atual no campo VersaoDF para o webservice responder.
    1 ponto
  39. problema solucionado. Agradecemos a atenção.
    1 ponto
  40. Bom dia @Italo Giurizzato Junior, testamos em produção e funcionou tudo corretamente. Envio em anexo o schema atualizado disponibilizado pelo provedor. Pois mudaram a quantidade de caracteres para o campo OutrasInformacoes para 512. Muito obrigado, e pode encerrar o tópico. nfse.xsd
    1 ponto
  41. Bom dia, ACBrMonitor e ACBrLib já disponíveis também. At.
    1 ponto
  42. Está usando qual gerador? lembro que tem algo nos fast report que deve mudar o fr3 e algo no fortes também
    1 ponto
  43. Olá pessoal! Foi publicado pelo ITI novo FAQ sobre o fim do certificado A1: 01/2024 - Modernização da ICP-Brasil > Questionamentos mais frequentes
    1 ponto
  44. Bom dia! Por ser usuário PRO, você tem acesso aos cursos disponibilizados pelo ACBr. Um deles é o Dominando o ACBrBoleto, um curso bem completo sobre a solução de boleto do ACBr, com explicações de conceito e demonstrações práticas. Este tópico também tem informações importantes: De forma simplificada, você envia o registro para a API, a mesma vai devolver no retorno a informação do EMV, você preenche a solução com esta informação e imprime o boleto que com o EMV preenchido gera o QrCode.
    1 ponto
  45. Estou trabalhando nele neste exato momento. assim q subir ja te aviso
    1 ponto
  46. Olá pessoal, Foi publicado a NT 2024/002 que trata sobre o CT-e Simplificado. O que vem a ser o CT-e Simplificado: O CT-e Simplificado poderá ser utilizado nas prestações de serviços de transporte intermunicipal ou interestadual de mercadorias, que envolvam diversos remetentes ou destinatários, e um único tomador de serviço. O transportador poderá emitir um único CT-e referente a todas as prestações realizadas para este tomador, por veículo e por viagem. A forma de processamento do serviço de recepção é síncrona sem a formação de lotes. O contribuinte deve transmitir o CT-e simplificado através do Web Service de recepção exclusivo que atenderá esse leiaute e receberá o resultado do processamento na mesma conexão. O Layout do XML do CT-e Simplificado é bem diferente do CT-e (modelo 57) que estamos acostumados a ver. Sendo assim não da para expor nesse tópico os novos campos ou campos com novos valores, pois trata-se de uma estrutura de XML totalmente nova para o CT-e Simplificado.. Sobre os Prazos A previsão para implementação no ambiente de homologação é para o dia 02/09/2024 e produção para 07/10/2024. Mudanças no ACBr e/ou na Sua Aplicação A alteração no componente vai ser realizada em Julho e Agosto para que fique tudo pronto para a data prevista de implementação em ambiente de homologação. Dica de sempre, mantenham todos os fontes de todas as pastas atualizados, já se encontra no SVN a atualização dos Schemas que contempla o CT-e Simplificado
    1 ponto
  47. Olá comunidade do ACBr, É com muita satisfação, que anunciamos a criação de um novo componente, o ACBrAbecsPinPad, no Package ACBrSerial O que faz o ACBrAbecsPinPad ? Esse componente permite que você se comunique de forma direta, com PinPads que sigam o protocolo ABECS. Com ele você poderá realizar tarefas como: Limpar e Exibir Mensagens no Display Exibir imagens PNG, JPG, GIF no Display (útil para exibição de QRCode, Animações e Logos) Efetuar Perguntas padrões no PinPad, e coletar a resposta dos usuários (os tipos de perguntas, são padronizados pela ABECS) Exibir Menus no PinPad (útil para pesquisa de satisfação) Coletar Informações do PinPad, como: Num.Serial, capacidades da Tela, Memória disponível, etc No mercado nacional, todos os PinPads comercializados, precisam seguir essa especificação. Você pode encontrar a especificação do Protocolo ABECS, nesse Documento Não é o intuito desse componente, contemplar os métodos de captura de cartão e senha, pois isso exige o conhecimento de tarefas complexas, e chaves para a comunicação segura... Essas tarefas já são realizadas pelas bibliotecas de TEF como a PayGo O que é um PinPad ? O Pin Pad pode ser definido como um equipamento eletrônico de pagamento que faz a leitura de cartões e que conta com um teclado para que o cliente possa digitar a senha (se necessário) e, assim, validação da transação financeira. O Pin Pad não é um aparelho autônomo. Ele precisa estar conectado a outros elementos para funcionar, tais como um PC ou um PDV Android. De modo geral, eles aceitam diferentes tipos de cartões — a exemplo dos de crédito, débito, vale-alimentação e vale-refeição — e das mais variadas bandeiras. Fonte: https://zoop.com.br/blog/pagamento/o-que-e-pin-pad/ Veja um exemplo do Equipamento: Q25 da Tectoy Onde posso achar o novo componente ? Os fontes já estão disponíveis no SVN do ACBr. Demos em Lazarus e Delphi já estão disponíveis na pasta: \ACBr\Exemplos\ACBrSerial\ACBrAbecsPinPad... A versão mínima do Delphi é a 10.3.x, isso ocorre porque as versões anteriores não suportam Imagem PNG, e o Pinpad não suporta Imagem em formato BMP. O que preciso para testar ? Qualquer PinPad, que seja compatível com ABECS. Lembrando que todos os PinPads vendidos no mercado brasileiro o são. A versão da ABECS que nos baseamos a 2.12, entretanto ele deve ser compatível com versões inferiores... Você pode ver a versão da biblioteca ABECS embarcada no seu PinPad, quando o mesmo é inicializado. Por norma da ABECS, o PinPad deve possuir cabo USB, mas disponibilizar uma Porta Serial, quando conectado ao equipamento.Portanto, sempre usaremos a comunicação Serial do ACBr, para "falar" com o PinPad É importante que você instale o Driver do Fabricante do equipamento, antes de iniciar os testes, pois o driver genérico do Windows, pode não funcionar adequadamente... O ACBrAbecsPinPad está disponível em Lib (DLL) ? Não no momento, mas há planos futuros... Quem é a ABECS ? A Abecs atua desde 1971 como representante oficial do setor de meios eletrônicos de pagamento no Brasil. É responsável pela interlocução do setor perante o mercado, os órgãos públicos e a sociedade. Congrega atualmente mais de 90 empresas desse segmento, representando assim mais de 96% do mercado. Entre seus associados estão instituições financeiras, bancos digitais, adquirentes, bandeiras, fintechs, marketplaces, empresas de tecnologia, entre outras que atuam no sistema de pagamentos. É a interlocutora do setor em assuntos regulatórios e promove a autorregulação desde 2008. Consolida e divulga o balanço de dados do setor, realiza anualmente o Congresso de Meios Eletrônicos de Pagamento (CMEP), fomenta o desenvolvimento do mercado em seus comitês e grupos de trabalho e promove campanhas que incentivam o uso consciente do cartão, entre outras atribuições. https://abecs.org.br/quem-somos Exemplo do componente ACBrAbecsPinPad carregando e exibindo uma imagem no PinPad
    1 ponto
  48. boa tarde juliana primeiro passo ir no site do bbdevelopers se cadastrar e cria aplicacao para obter as credenciais do seu cliente pra que coloque no acbrmonitorplus segue link https://www.bb.com.br/site/developers/
    1 ponto
  49. Olá comunidade do ACBr, Gostaríamos de informar que já se encontra no SVN do ACBr, mudanças na Unit ACBrTEFPayGoWebComum.pas, que permitem a aplicação usar a nova PGWebLib, com recurso de atualização automática e proteção contra fraudes, usando o "warsaw" A PayGo disponibiliza um manual detalhado, sobre essa nova versão e como instala-la... Ele está anexo nesse tópico, até termos um endereço oficial da PayGo Porque a PayGo efetuou essas modificações ? Uma resposta curta: Segurança Todo sistema que manipula transações financeiras, pode ser alvo de um ataque Hacker, onde as transações podem ser desviadas para uma outra conta destino... Um grupo especializado nesse tipo de ataque é o "Prilex".... Por isso, sempre instrua os seus usuários, a NUNCA permitir o acesso remoto a máquina sem a autorização da Sw.House Com essa nova versão da DLL PGWebLib, a PayGo utiliza uma camada de proteção de Software já reconhecida e utilizada por vários serviços financeiros, o Warsaw A atualização da DLL também é um fator muito importante para ela se manter segura. Outro fato é que o certificado usado na comunicação TLS, sempre terá um prazo de validade, obrigado a atualização da PGWebLib, e com essa nova versão a atualização pode ocorrer de forma automática, enquanto a aplicação PDV não está sendo executada. Onde posso baixar a nova PGWebLib ? Documentação e SDK podem ser encontrados em: https://paygodev.readme.io/docs/kit-para-atualização-da-documentação Como instalar a nova PGWebLib Com essa nova versão, não basta apenas distribuir a "PGWebLib.dll", junto com a sua aplicação. Na verdade isso não será mais permitido A PayGo fornecerá um instalador completo, que é de Simples instalação... Esse instalador cuidará de copiar a PGWebLib.dll na pasta correta e protegida, além de instalar o "Cliente Windows", que ficará no Systray da máquina Windows, e será responsável pela atualização da PGwebLib Através de variáveis de ambiente o ACBr saberá onde a PGWebLib.dll está instalada e fará uso dela... (leia mais sobre isso, abaixo) Se você deseja automatizar o processo de instalação da PGWebLib, em conjunto com o instalador da sua aplicação, isso e possível, pois o instalador da PayGo pode ser executado no modo "silent" e "verysilent". Exemplo SetupPayGo_full_v5.1.25.1.exe /verysilent A sua aplicação que consome a PGWebLib diretamente, você não precisará fazer uso do "Cliente Windows". Ou seja, apesar dele estar sempre no Systray do Windows ele não precisará ser aberto ou utilizado pelo usuário... Ele será carregado para o Systray, na inicialização do Windows, com o único intuito de verificar por atualizações da PGWebLib Ativando o Cliente Windows com as informações do PDC O Cliente windows, já é utilizado por vários tipos de TEF da PayGo, como o TEF por API ControlPay e o TEF por Troca de Arquivos TXT Para configurarmos o Cliente Windows para uso como atualizador da PGWebLib, precisamos mudar a chave no topo, para que ele mude a interface para "Ativação - PGWebLib" (imagem abaixo) Após isso, basta inserir o CNPJ do Cliente final, e o PDC, e clicar em Ativar Como ativar um PDC em modo de Homologação ? Abra o Cliente Windows clique 3x com o botão direito do mouse no Logo "PayGo", no Topo da janela. Quando ele solicitar a pergunta "Digite o Ambiente" escreva a palavra "Demo" O Client Windows assumirá a cor "roxa", sinalizando que o modo Demonstração foi ativado O que muda na sua aplicação, que usa nossos componentes do ACBrTEFD e ACBrTEFAPI ? Esperamos que nenhuma mudança seja necessária nos seus fontes, a não ser é claro, atualizar os fontes do ACBr e compilar uma nova versão com as alterações efetuadas na Unit ACBrTEFPayGoWebComum.pas Todos os ajustes necessários para consumir a nova PGWebLib, foram introduzidos nessa Unit do ACBr, e ela também cuida de Ler a Gravar valores nas variáveis de ambiente, para verificar por atualizações e sinalizar quando a PGWebLib pode ser atualizada Para conhecer as mudanças em detalhes mais técnicos, veja abaixo a transcrição do Change-Log Os fontes de ACBrTEFPayGoWebComum.pas continuam compatíveis com a versão antiga da DLL ? SIM. Os fontes do ACBr ajustam suas chamadas conforme a versão da DLL, portanto essa Unit é compatível com a DLL antiga e a atual. Eu não uso os componentes do ACBr. Como posso ajustar minha aplicação ? Por favor leia a documentação em anexo, ela descreve em detalhes e dá exemplos de código das implementações necessárias... Veja ainda, o Change-Log do ACBr (abaixo), para compreender as mudancas que implementamos em nossos fontes Mas basicamente você precisará efetuar as seguintes modificações: NÃO MAIS copiar a PGWebLib.dll para pasta de sua aplicação, agora você deve usar a PGWebLib.dll que está instalada na pasta segura (veja item 2) Ler o conteúdo da variável de ambiente PathPGWebLib ou PathPGWebLib_x64, para saber qual é o Caminho completo para a DLL que deve ser carregada, e utilizar ela na sua aplicação (lembrando que você só deve usar a DLL de 64 bits se a sua aplicação é compilada em 64 bits) Chamar o novo método PW_End, antes de sua aplicação encerrar ( para encerrar o processo de proteção ao seu executável e a DLL ) Gravar o valor "True" na variável de ambiente PGWebLibPermiteAtualiza, quando a sua aplicação encerrar (opcional) Quais são as variáveis de ambiente utilizadas pela PGWebLib ? Antes de conhecer as variáveis, saiba que os componentes do ACBr já fazem uso dela, de forma automática e intuitiva (veja o Chenage-Log, abaixo) PathPGWebLib: Path completo da PGwebLib.dll que deve utilizada pela aplicação PathPGWebLib=C:\Program Files (x86)\PayGo\PGWebLib\PGWebLib.dll PathPGWebLib_x64: Versão 64 bits da PGWebLib, e que deve ser utilizada APENAS se você compila sua aplicação em 64 bits PathPGWebLib_x64=C:\Program Files (x86)\PayGo\PGWebLib\x64\PGWebLib.dll PGWebLibAtualiza: Terá os Valores "True" ou "False", definidos pelo Client e Windows. Quando "True", indica que há uma atualização pendente, para a PGWebLib. PGWebLibAtualiza=False PGWebLibPermiteAtualiza: Terá os Valores "True" ou "False". Deve ser manipulada pela automação comercial, para que a mesma sinalize ao Client Windows, quando este pode baixar e atualizar a PGWebLib. Isso evita atualizações em horários indesejados, permitindo a aplicação comercial, definir a melhor estratégia para a atualização. É uma boa prática a automação comercial ligar essa variável de ambiente, sempre que for encerrada. PGWebLibPermiteAtualiza=True CPFCNPJ: Opcional, pode ser utilizada pela aplicação, para definir o CNPJ do cliente final, automatizando o processo de ativação do Cliente Windows PontoDeCaptura: Opcional, pode ser utilizada pela aplicação, para definir o PDC que deve ser utilizado pelo Cliente Windows Usando a DLL protegida, em ambiente de Desenvolvimento Em ambiente de Desenvolvimento, usar a DLL protegida, pode tornar difícil o desenvolvimento... O Warsaw irá detectar que um Debugger está tentando executar a DLL, e causará algum erros como "privileged instruction" Pensando nisso, a PayGo disponibilizou uma DLL para ser usada em modo Debug. Você poderá encontrá-la em: C:\Program Files (x86)\PayGo\PGWebLib\DEBUG Observe que os fontes do ACBr, já tentarão fazer uso dessa DLL, quando o compilador detectar que o programa está sendo compilado em modo Debug. Isso é feito pela nova propriedade IsDebug Você pode ativar ela, usando TypeCast, exemplo: if (ACBrTEFAPI1.TEF is TACBrTEFAPIClassPayGoWeb) then begin with TACBrTEFAPIClassPayGoWeb(ACBrTEFAPI1.TEF) do begin DiretorioTrabalho := 'C:\PAYGOWEB'; // Permite informar o diretório de trabalho da PGWebLib //TEFPayGoAPI.PathLib := 'C:\temp\64bits\PGWebLib.dll'; // Permite forçar o uso de uma DLL específica, diferente do definido em "PathPGWebLib" {$IFDEF DEBUG} TEFPayGoAPI.IsDebug := True; // <---------- AQUI ------------ {$EndIf} end; end; Change-Log de ACBrTEFPayGoWebComum.pas [*] Modificações para suportar nova DLL 4.1.25.3, PayGo Windows no modo atualizador da PGWebLib. [+] Adicionado mapeamento para o comando "PW_End". Esta função tem como finalidade encerrar alguns serviços e remover a proteção do Warsaw da automação, possibilitando a realização da atualização. [*] Estrutura "TPW_GetData", modificada, removendo campo "bIndice: Byte" que não fazia parte da Estrutura original [*] Métodos "ObterDadoCartao", "RealizarOperacaoPinPad", "LogPWGetData", modificados para receber o indice do Parâmetro sendo processado na estrutura TPW_GetData [+] Adicionado o método: "function GetPathPGWebLib: String;" Retorna o valor da variável de ambiente "PathPGWebLib" (32 bits) ou "PathPGWebLib_x64" (64 bits), e que contem o Path completo da DLL PGWebLib, com proteção, e que deve ser carregada pela aplicação [+] Adicionado o método: "function GetPGWebLibAtualiza: Boolean;" Que Verifica o conteúdo da Variável de Ambiente "PGWebLibAtualiza". Essa variável de ambiente fica com o Valor "TRUE", quando há atualizações disponíveis para a PGWebLib. [+] Adicionado o método: "function SetPGWebLibPermiteAtualiza(PermiteAtualizacao: Boolean): Boolean;" Permite que a aplicação configure a variável de ambiente "PGWebLibPermiteAtualiza" Quando a aplicação grava nela o valor "TRUE", permite que o Cliente Windows da Paygo, baixe e atualize a PGWebLib da pasta "PathPGWebLib" [+] Adicionada a propriedade: "AtualizaPGWebLibAutomaticamente: Boolean default True" Quando essa propriedade é True (padrão), o valor de "PGWebLibPermiteAtualiza" será ajustado para True, sempre que TACBrTEFPGWebAPI.DesInicializar for chamado [*] Método "TACBrTEFPGWebAPI.Destroy", modificado para chamar "DesInicializar" [*] Método "TACBrTEFPGWebAPI.Inicializar" mmodificado para configurar a variável de ambiente "PontoDeCaptura", se a propriedade "PontoCaptura" estiver com valor definido a variável de ambiente "CPFCNPJ" se a propriedade "CNPJEstabelecimento" estiver com valor definido. [*] Método "TACBrTEFPGWebAPI.Inicializar", grava no Log o estado da variável de ambiente "PGWebLibAtualiza" [*] Método "TACBrTEFPGWebAPI.DesInicializar" passa a chamar "PW_End", para encerrar o processo de proteção, e "SetPGWebLibPermiteAtualiza", para permitir a atualização da PGWebLib, conforme o valor da propridade "AtualizaPGWebLibAutomaticamente" [*] Método "TACBrTEFPGWebAPI.LibFullName" modificado para usar o Path definido na variável de ambiente "PathPGWebLib", caso a propriedade "PathLib" esteja vazia. [*] Método "TACBrTEFPGWebAPI.LoadLibFunctions" modificado para gravar no log, o caminho completo da DLL PGWebLib que está sendo carregada (por: DSA) PGWin - Modo atualizador da PGWebLib - v1.04.pdf
    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.

The popup will be closed in 10 segundos...