;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Fuja da máquina falsa; veja como não cair em golpes ao pagar o iFood

Criminosos usam máquinas do iFood falsas ou com telas quebradas pra aplicar golpe - Estúdio Rebimboca/UOL
Criminosos usam máquinas do iFood falsas ou com telas quebradas pra aplicar golpe Imagem: Estúdio Rebimboca/UOL

Adriano Ferreira

Colaboração para Tilt

30/10/2019 04h00Atualizada em 30/10/2019 13h40

Sem tempo, irmão

  • iFood já é um app bastante visado por criminosos em golpes diversos
  • Clientes que pagam no ato do recebimento da comida são potenciais vítimas
  • Máquina com visor quebrado ou que falha na hora da senha dão indícios de golpe
  • Revisar valor, pagar via app e checar SMS são exemplos do que fazer

Serviço de entrega de comidas mais popular do Brasil com uma média de 21,5 milhões de entregas por mês, o iFood vem sendo usado há algum tempo por fraudadores para praticar golpes. Já falamos de um falso cupom da empresa no WhatsApp. Outra farsa envolve uma máquina adulterada que mostra várias tentativas de pagamentos corretos como se fossem erros.

Uma máquina de pagamento falsa pode trazer a carcaça de uma original do iFood. Mas é capaz de se comunicar via rádio ou bluetooth com a máquina de uma empresa laranja. A máquina falsa mostra um certo valor na tela, enquanto o pagamento na real será com outro valor, bem mais alto.

Em outra das estratégias praticadas, a tela da maquininha de pagamento pode vir tão danificada que o valor não aparece claramente. A desculpa do entregador é que um tombo teria prejudicado a máquina e ela ainda não foi substituída. Daí o pagamento é efetuado com um valor muito maior do que o pedido. O que não foi possível ver isso na tela com defeito.

Questionada sobre os golpes, o iFood diz que ocorreram "em poucas ocasiões" e que a empresa "agiu rapidamente desativando o cadastro dos envolvidos, acionou as autoridades, e tem atuado para ressarcir os prejuízos dos clientes". Atualmente a empresa conta com 120 mil entregadores.

Como precaução nunca é demais, listamos abaixo cinco dicas importantes para não cair em nenhum dos golpes já conhecidos ao pagar o iFood. Sempre que vir uma máquina suspeita, opte por outras alternativas de pagamento.

Pague em dinheiro

Perto de completar o pedido, o aplicativo ou o site do iFood mostra as diferentes formas de cobrança. Se o restaurante pôs a opção de pagar em dinheiro, dê preferência se você puder. Assim não haverá uma dependência de intermediários para aprovar o pagamento.

Pague pelo aplicativo

Algumas pessoas preferem pagar na entrega da comida com o cartão. Mas no app do iFood, o cliente informa seus dados e confirma o pedido sem digitar a senha em máquinas com funções ilícitas. Emilio Simioni, diretor do laboratório especializado em segurança digital da PSafe, afirma que geralmente, neste tipo de golpe, a máquina do fraudador realiza a cobrança "colocando um ou dois zeros a mais".

Não repita o pagamento e verifique o SMS

Se o pagamento for realizado em uma maquininha e aparecer mensagens de erros em sequência na hora de digitar a senha, isso pode levar o cliente a pagar mais de uma vez cobranças que já foram efetuadas. Neste caso, não insista em digitar a senha. Marco Carnut, sócio-fundador da fintech Z.ro Bank, sugere ativar a função de notificação via SMS. "Se aparecer na tela um erro, mas logo depois chegou um SMS dizendo que a transação ou, já é um alerta", diz.

Recuse maquininha com danos

Se o entregador chegar com uma máquina danificada, é melhor não arriscar. Recuse o pedido e informe ao restaurante o ocorrido, detalhando o tipo do dano; se não for forjado, o estabelecimento confirmará. Sempre prefira máquinas onde o visor esteja completamente intacto. Isso trará mais certeza do valor exibido na tela.

Verifique o valor de cobrança

Com a pressa, o cliente pode até esquecer de checar o valor do pagamento na tela, automaticamente digitando a senha sem prestar atenção. Conferir o valor cobrado ajudará a relatar detalhes em caso de reclamações. O iFood diz que envia alertas aos clientes que pagam no ato da entrega sobre a importância de conferir o valor antes de digitar a senha.

Caí no golpe, e agora?

Caso você chegou a este texto e já tenha sido vitimada por um golpe, a recomendação do iFood é registrar um boletim de ocorrência na delegacia de polícia. Depois, entre em contato via app pelos canais de atendimento para enviar o boletim e o extrato bancário.

A vítima também deve guardar o cupom fiscal da compra e contatar imediatamente a operadora do cartão para relatar a fraude e tentar cancelar a cobrança indevida.

Pergunte ao banco ou operadora do cartão qual é a empresa responsável pela maquininha usada pelo golpista. Tente contatar esta empresa, conte o que ocorreu e peça para que façam o bloqueio do valor na conta do criminoso.

Se a empresa recusar a devolução do dinheiro, entre com um processo judicial. O blog do UOL Tudo Golpe recomenda o Juizado Especial Cível, pois nele você não precisará de advogado se o valor da causa não for superior a 20 salários mínimos (R$ 19.960, em 2019). Se você tiver advogado pessoal, vale consultá-lo também.

SIGA TILT NAS REDES SOCIAIS