Painel de líderes
Conteúdo popular
Showing content with the highest reputation on 22-03-2022 em todas as áreas
-
Um cliente meu conseguiu emitir uma nota agora, porém ainda sem respostas da sefaz.2 pontos
-
Boa tarde Renato, eu abri um chamado de manhã, mas ainda nada, quando eu tiver notícias eu posto aqui!2 pontos
-
Olá pessoal, estou criando este tópico para orientar como utilizar as Bandeiras Vouchers no TEF Dedicado (PayGo Web). Cartão do tipo benefícios (alimentação, refeição, pass), são conhecidos como Vouchers. Antes de qualquer tentativa de transacionar um voucher no estabelecimento, precisamos validar algumas informações: 1 - Estabelecimento precisa ter contrato com a empresa de voucher que deseja utilizar, isso é uma exigência do próprio fornecedor de voucher, para que o estabelecimento possa aceitar a bandeira em sua região. Note que existem modalidades até em casos de Voucher, ramos de negócios são separados por tipos, ALIMENTAÇÃO, REFEIÇÃO, PASS, PRESENTE, CAR, SALÁRIO, NATAL, CULTURA, etc. Seu cliente escolhe a modalidade que encaixa no negócio que ele atua: 2 - A partir disso, o estabelecimento precisa habilitar a compatibilidade com a(s) adquirente (s). Lembrando a Regra de negócio: a adquirente decide se a bandeira tem compatibilidade no TEF, a negociação parte dela, não pela Integradora PayGo. Quando o estabelecimento habilitar a compatibilidade do voucher tem que informar que vai transacionar pelo TEF Dedicado PayGoWeb. Exemplo: Adquirente CIELO aceita o voucher Alelo Alimentação pelo TEF Dedicado PayGoWeb. Observação: Isso é um contrato entre Voucher e Adquirente, então pode ocorrer mudanças , como por exemplo, VR Refeição não passa mais na REDE pois houve encerramento de contrato entre elas , mas pode ser aceito por outra(s) adquirente(s), como a CIELO. 3 - Se o estabelecimento estiver com o cadastro correto no voucher e habilitado na adquirente, precisamos informar a forma de pagamento correta, no TEF Dedicado (PayGoWeb) para pagamentos com voucher informar PWINFO_CARDTYPE = 04. Veja exemplo no componente ACBrTEFAPI: procedure TFormPrincipal.AdicionarPagamento(const Indice: String; AValor: Double ); var Ok, TemTEF: Boolean; Modalidade: TACBrTEFModalidadePagamento; CartoesAceitos: TACBrTEFTiposCartao; ReajusteValor: Double; IndicePagto: LongInt; begin Ok := False; TemTEF := False; IndicePagto := StrToIntDef(Indice, 0); try // ** NOTA ** // Usa '01' como Indice de Forma de Pagamento de ECF, para todas as operações TEF, // para evitar que o ACBrTEFD tente separar os Comprovantes por Forma de Pagamento Modalidade := tefmpNaoDefinido; CartoesAceitos := []; TemTEF := (IndicePagto >= 2) and (IndicePagto <= 5); case IndicePagto of 2: Modalidade := tefmpCheque; 3: begin Modalidade := tefmpCartao; CartoesAceitos := [teftcCredito] end; 4: begin Modalidade := tefmpCartao; CartoesAceitos := [teftcDebito] end; 5: Modalidade := tefmpCarteiraVirtual; 6: begin Modalidade := tefmpCartao; CartoesAceitos := [teftcVoucher] <--------------------- AQUI end; end; if TemTEF then begin // -- Exemplo, usando TypeCast, para inserir Propriedades direto na Classe de TEF -- // if ACBrTEFAPI1.TEF is TACBrTEFAPIClassPayGoWeb then begin with TACBrTEFAPIClassPayGoWeb(ACBrTEFAPI1.TEF) do begin //TEFPayGoAPI.ParametrosAdicionais.ValueInfo[PWINFO_AUTHSYST] := 'DEMO'; // Autorizador //TEFPayGoAPI.ParametrosAdicionais.ValueInfo[PWINFO_FINTYPE] := '2'; // 01: à vista, 2: parcelado //TEFPayGoAPI.ParametrosAdicionais.ValueInfo[PWINFO_INSTALLMENTS] := '3'; // Parcelas end; end; Ok := ACBrTEFAPI1.EfetuarPagamento( IntToStr(Venda.NumOperacao), AValor, Modalidade, CartoesAceitos, tefmfAVista ); Ok := Ok and ACBrTEFAPI1.UltimaRespostaTEF.Sucesso and ACBrTEFAPI1.UltimaRespostaTEF.TransacaoAprovada; end else Ok := True; finally StatusVenda := stsEmPagamento; end; // -- Exemplo de como capturar os Erros retornados pela API do TEF PayGoWeb -- // (* if not OK then begin if (ACBrTEFAPI1.TEF is TACBrTEFAPIClassPayGoWeb) then begin CodErro := ACBrTEFAPI1.UltimaRespostaTEF.LeInformacao(PWINFO_RET).AsInteger; MsgErro := ACBrTEFAPI1.UltimaRespostaTEF.LeInformacao(PWINFO_RESULTMSG).AsBinary; ShowMessage('Erro: '+IntToStr(CodErro)+' - '+Trim(MsgErro)); end; end; *) if Ok then begin with Venda.Pagamentos.New do begin TipoPagamento := Indice; ValorPago := AValor; if TemTEF then begin NSU := ACBrTEFAPI1.UltimaRespostaTEF.NSU; Rede := ACBrTEFAPI1.UltimaRespostaTEF.Rede; RedeCNPJ := ACBrTEFAPI1.UltimaRespostaTEF.NFCeSAT.CNPJCredenciadora; // Calcula a Diferença do Valor Retornado pela Operação TEF do Valor que // Informamos no CRT/CHQ ReajusteValor := RoundTo(Double(ACBrTEFAPI1.UltimaRespostaTEF.ValorTotal - ValorPago), -2); Saque := ACBrTEFAPI1.UltimaRespostaTEF.Saque; if (Saque > 0) then begin // Se houve Saque na operação TEF, devemos adicionar no ValorPago, // para que o Saque conste como Troco ValorPago := ValorPago + Saque end else if (ReajusteValor > 0) then begin // Se não é Saque, mas houve acréscimo no valor Retornado, devemos lançar // o Reajuste como Acréscimo na venda Venda.TotalAcrescimo := Venda.TotalAcrescimo + ReajusteValor; end; Desconto := ACBrTEFAPI1.UltimaRespostaTEF.Desconto; if (Desconto > 0) then begin // Se houve Desconto na Operação TEF, devemos subtrair do ValorPago // e lançar um Desconto no Total da Transacao ValorPago := ValorPago - Desconto; Venda.TotalDesconto := Venda.TotalDesconto + Desconto; end else if (ReajusteValor < 0) then begin // Se não é Desconto, mas houve redução no Valor Retornado, devemos // considerar a redução no ValorPago, pois a Adquirente limitou o // valor da Operação, a um máximo permitido... Deverá fechar o cupom, // com outra forma de Pagamento ValorPago := ValorPago + ReajusteValor; end; end else Confirmada := True; end; AtualizarPagamentosVendaNaInterface; if (Venda.TotalPago >= Venda.TotalVenda) then FinalizarVenda; end; end; Veja exemplo no componente ACBrTEFD: procedure TFormPrincipal.AdicionarPagamento(const Indice: String; AValor: Double ); var Ok, TemTEF: Boolean; ReajusteValor: Double; UltResp: TACBrTEFResp; procedure InformarParametrosVoucher; begin if (ACBrTEFD1.GPAtual = gpPayGoWeb) then begin ACBrTEFD1.TEFPayGoWeb.ParametrosAdicionais.ValueInfo[PWINFO_PAYMNTTYPE]:='1'; ACBrTEFD1.TEFPayGoWeb.ParametrosAdicionais.ValueInfo[PWINFO_CARDTYPE]:='04'; <----------------------- AQUI end; end; begin Ok := False; TemTEF := False; FIndicePagto := Indice; if (ACBrTEFD1.GPAtual = gpPayGoWeb) then ACBrTEFD1.TEFPayGoWeb.ParametrosAdicionais.Clear else if (ACBrTEFD1.GPAtual = gpCliSiTef) then ACBrTEFD1.TEFCliSiTef.OperacaoCRT := 0; try // ** NOTA ** // Usa '01' como Indice de Forma de Pagamento de ECF, para todas as operações TEF, // para evitar que o ACBrTEFD tente separar os Comprovantes por Forma de Pagamento else if (Indice = '06') then // 05-VALE REFEICAO begin InformarParametrosVoucher; <--------------------------- AQUI Ok := ACBrTEFD1.CRT(AValor, '01'); TemTEF := True; end else Ok := True; // Pagamentos não TEF finally StatusVenda := stsEmPagamento; end; if Ok then begin with Venda.Pagamentos.New do begin TipoPagamento := Indice; ValorPago := AValor; if TemTEF then begin UltResp := ACBrTEFD1.RespostasPendentes[ACBrTEFD1.RespostasPendentes.Count-1]; NSU := UltResp.NSU; Rede := UltResp.Rede; RedeCNPJ := UltResp.NFCeSAT.CNPJCredenciadora; // Calcula a Diferença do Valor Retornado pela Operação TEF do Valor que // Informamos no CRT/CHQ ReajusteValor := RoundTo(Double(UltResp.ValorTotal - ValorPago), -2); Saque := UltResp.Saque; if (Saque > 0) then begin // Se houve Saque na operação TEF, devemos adicionar no ValorPago, // para que o Saque conste como Troco ValorPago := ValorPago + Saque end else if ReajusteValor > 0 then begin // Se não é Saque, mas houve acréscimo no valor Retornado, devemos lançar // o Reajuste como Acréscimo na venda Venda.TotalAcrescimo := Venda.TotalAcrescimo + ReajusteValor; end; Desconto := UltResp.Desconto; if Desconto > 0 then begin // Se houve Desconto na Operação TEF, devemos subtrair do ValorPago // e lançar um Desconto no Total da Transacao ValorPago := ValorPago - Desconto; Venda.TotalDesconto := Venda.TotalDesconto + Desconto; end else if (ReajusteValor < 0) then begin // Se não é Desconto, mas houve redução no Valor Retornado, devemos // considerar a redução no ValorPago, pois a Adquirente limitou o // valor da Operação, a um máximo permitido... Deverá fechar o cupom, // com outra forma de Pagamento ValorPago := ValorPago + ReajusteValor; end; end else Confirmada := True; end; AtualizarPagamentosVendaNaInterface; if (Venda.TotalPago >= Venda.TotalVenda) then FinalizarVenda; end; end; 4 - Se continuar recusando ou dando erros durante a venda... Faça uma carga de tabelas no Muxx manualmente na PayGo, contate a Central de suporte do TEF PayGo, podem receber atendimento gratuito e funciona 24 horas por dia e 7 dias por semana! Contato PayGo Ligação: 3003-9968 (não é necessário DDD). Ou via WhatsApp: (11) 3003-6615 Importante sempre informar o *CNPJ do estabelecimento*, sem pontos ou traços. Ex: 12345678000100 , e o tipo do TEF ativado na automação: TEF Dedicado PayGo Web . Se você já parceiro TEF do Projeto ACBr pode esclarecer suas dúvidas nos canais exclusivos ACBR TEF #tefproducao em nosso Discord. https://www.projetoacbr.com.br/discord E se ainda não é, O Projeto ACBr é Distribuidor do TEF PayGo.. Seja nosso parceiro, preencha este formulário, https://projetoacbr.com.br/tef/ por favor, com algumas perguntas rapidinhas, que nosso Consultor comercial entrara em contato explicar a parceria.1 ponto
-
Configurações do ACBrMail para os principais serviços de emails do mercado outlook e hotmail smtp: smtp.office365.com porta: 587 tsl : true; ssl : false; Referência: Microsoft hotmail O smtp.live.com, utilizado anteriormente para o hotmail, parou de funcionar. Para utilizar o smtp.office365.com: 1. Ao entrar no hotmail, embaixo tem a opção atualizar para microsoft office365 premium. 2. Depois, crie uma conta grátis que já atualiza o hotmail para receber email office365. office365 smtp alternativo: smtp-legacy.office365.com gmail smtp: smtp.gmail.com usuario: [email protected] porta: 465 tsl : true; ssl : true; é necessário criar uma senha para a aplicação, portanto não é permitido mais utilização da senha principal da conta. 1. Ativar a verificação em duas etapas. 2. Criar uma senha para a aplicação. https://myaccount.google.com/apppasswords yahoo smtp: smtp.mail.yahoo.com.br porta: 587 tsl : true; ssl : false; password: não use a senha padrão da conta, precisará criar uma exclusiva para sua aplicação. siga os passos abaixo: criada pelo link https://login.yahoo.com/account/security#less-secure-apps e depois 'Gerenciar Senha de app', selecione 'Outro app' ,der um nome ao app, e clique gerar senha.; Veja ainda, a dica desse Post sendgrid smtp : smtp.sendgrid.net usuario: nome da conta senha : senha da conta tsl : true; ssl : false; porta: 465 Autor: @Aurino Locaweb From := '[email protected]'; FromName := 'Nome do Remetente'; Host := 'email-ssl.com.br'; Username := '[email protected]'; Password := 'Sua_Senha'; Port := '465'; SetTLS := False; SetSSL := True; Locaweb2 From := '[email protected]'; FromName := 'Nome do Remetente'; Host := 'email-ssl.com.br'; Username := '[email protected]'; Password := 'Sua_Senha'; Port := '587'; SetTLS := True; SetSSL := False; SparkPost From := '[email protected]'; FromName := 'Nome do Remetente'; Host := 'smtp.sparkpostmail.com'; Username := 'SMTP_Injection'; Password := '8a93c971789791b0102d889dd8f5f9b40507288d'; // Sua API Key Port := '587'; SetTLS := True; SetSSL := False;1 ponto
-
Boa tarde a todos, Resolvido o problema. O Cliente tinha uma outra aplicação consultado a distribuição de notas de terceiros. Att, Carlos1 ponto
-
1 ponto
-
Não sabia que o ACBrNFSe tinha sido descontinuado, vou configurar o novo componente e fazer os testes.1 ponto
-
Boa tarde Douglas, Favor atualizar todos os fontes de todas as pastas, reinstale o ACBr e faça novos testes.1 ponto
-
É uma homologação diferente... você desenvolveria um Produto compatível com TEF em Equipamento POS, mas não o TEF tradicional em PDV Não é uma boa ideia usar isso apenas para economizar no PinPad1 ponto
-
Conforme comunicado existente na área do CTe no portal da SEFAZ-MG, em 25/03/2022 o certificado digital envolvido no processo de emissão do CTe se tornará expirado, porém em 23/03/2022 as 09:00 está prevista a atualização para o novo certificado. Poderá ser necessário a atualização das cadeias de certificado, os quais podem também ser obtidos no portal da SEFAZ-MG conforme link a seguir. http://www.sped.fazenda.mg.gov.br/spedmg/cte/downloadsPasta/1 ponto
-
Por favor, ignorem minha ultima mensagem.... realmente o erro estava nas credenciais.... me desculpem pelo erro tão besta....1 ponto
-
@Juliana Tamizou fiz uma alteração para compilar em Lazarus também... ACBrBoletoFCFortesFr.pas1 ponto
-
Olá pessoal, estamos provendo importantes modificações em nosso componente de Impressão de Etiquetas, o ACBrETQ, lembrando que esse componente também está disponível a todas as linguagens através da ACBrLibETQ ou ACBrMonitor Se você ainda não conhece uma impressora de Etiquetas e suas características, recomendo ver o vídeo abaixo: O que há de novo no ACBrETQ ? Incluímos um novo Modelo/Protocolo, o EscLabel. O Protocolo EscLabel foi criado pela Epson, para a sua linha de Impressoras ColorWorks. Esse protocolo é uma extensão do já conhecido protocolo ZPL2, da Zebra, porém com algumas extensões, para permitir características únicas das Impressoras da Epson, como Impressão em Cores, e ajuste dinâmico do tamanho da etiqueta. A Epson ao invés de reinventar a roda, tomou uma decisão sábia de licenciar o uso do ZPL2, que equivale a 90% do EscLabel... O método ImprimirCaixa, foi modificado para permitir informar como Parâmetro, o ângulo dos Cantos, para produzir Caixas com cantos arredondados... Exemplo: Canto: Integer = 0 (sem arredondamento), suportando valores 0 a 8 (8 máximo do arredondamento). Atualmente apenas os Modelos que Suportam ZPL2 e EscLabel, aceitam esse parâmetro... O Método CarregarImagem, foi modificado para retornar por referência, o Nome do Arquivo da Imagem que foi armazenado na memória da Impressora... Isso ocorre pois algumas impressoras limitam os caracetres aceitos, e o tamanho do Nome... e portanto tornará mais simples identificar o Nome como guardado na Impressora, a fim de utilizá-lo em comandos de Impressão futuro\ O Modelo ZPL2, foi modificado para permitir o uso de Imagens do Tipo PNG mono... e no caso do EscLabel, há pleno suporte de Imagens PNG coloridas Em breve disponibilizaremos um novo Demo, para demonstrar todo o poder da Epson EscLabel com as impressoras ColorWorks..1 ponto
-
1 ponto
-
Boa tarde Italo, Ok, vou providenciar o teste, também enviei um e-mail com o link deste post ao provedor para que possa visualizar a questão e nos ajudar. Vamos aguarda um retorno.1 ponto
-
Conforme aviso publicado no portal da SEFAZ-MG, haverá uma paralização para manutenção preventiva no período das 07:00 as 23:00 do dia 19/03/2022. Fonte: http://www.sped.fazenda.mg.gov.br/spedmg/paralisacoes-programadas/ At.1 ponto
-
Depois de muita pesquisa, entendi que a matricula é obrigatória pois para validar se um funcionário esta na empresa é usado como chave o CNPJ, CPF e matricula pois um funcionário pode ter sido contratado pela empresa, sido demitido e contratado novamente, logo a matricula é uma chave tambem, sendo assim, obrigado. Já a tag NIS, não é obrigatório no envio do e-social nesses eventos. Favor baixarem o tópico.1 ponto
-
Tive o mesmo problema, e a solução foi simples: Estava utilizando o java 64 bits, desinstalei e instalei a versão de 32 bits, então o ativador passou a funcionar.1 ponto