O DeviceCheck da Apple lembra o celular de quem abusa de reembolsos, mesmo depois de um cadastro com conta nova
Banimentos de conta e identificadores de compra param de funcionar no momento em que quem abusa de reembolsos cria uma conta nova. O DeviceCheck da Apple e a recuperação de dispositivos (device recall) do Google Play guardam alguns bits por dispositivo nos servidores da loja. Veja o que eles armazenam, quando definir esses bits e quanto eles economizam para você.

Principais conclusões
- O DeviceCheck da Apple permite que seu servidor defina e consulte dois bits binários por dispositivo, armazenados nos servidores da Apple, e a Apple cita a marcação de um dispositivo que você identificou como fraudulento como um dos usos previstos.
- A recuperação de dispositivos (device recall) do Google Play, um recurso beta da Play Integrity API, armazena três bits personalizados por dispositivo nos servidores do Google, e eles sobrevivem à reinstalação do app e à redefinição do dispositivo.
- Os valores de device recall são compartilhados por todos os apps da mesma conta de desenvolvedor do Google Play e mantidos por 3 anos após a última leitura ou gravação.
- Um token do Play Integrity pode ser usado para gravar bits de device recall por até 14 dias após a verificação, o que cobre o prazo de 48 horas de reembolso por autoatendimento do Google Play.
- Nem as notificações de reembolso da Apple nem as compras anuladas do Google trazem um identificador de dispositivo, então um dispositivo só pode ser marcado por um servidor que antes vinculou as compras às próprias contas.
- Marcações de dispositivo não impedem um reembolso. Elas decidem o que o seu próprio app oferece a esse dispositivo depois, como créditos gratuitos, um teste pago por você ou uma oferta promocional assinada pelo seu servidor.
- Apenas dois fluxos de reembolso permitem que o desenvolvedor envie evidências antes da decisão da loja: o CONSUMPTION_REQUEST da Apple, respondido em até 12 horas, e a revisão de chargeback do Google Play via orders.reviewrefund, respondida em até 24 horas.
Banir a conta não impede quem abusa de reembolsos de se cadastrar de novo no mesmo celular. O DeviceCheck da Apple e a recuperação de dispositivos (device recall) do Google Play existem exatamente para essa lacuna. Cada um permite que seu servidor associe alguns bits, com o significado que você definir, a um dispositivo físico. Eles ficam nos servidores da loja, então a marcação continua lá quando a pessoa volta com um novo endereço de e-mail. Nenhuma das ferramentas entrega um ID de dispositivo, e nenhuma consegue impedir um reembolso. O que elas fazem é avisar, no cadastro ou no paywall, que esse dispositivo já causou prejuízo antes.
Veja o que cada loja realmente armazena, a armadilha de tempo que decide se você consegue sequer definir a marcação e quanto custa um abusador reincidente antes de você identificá-lo.
Por que uma conta nova vence qualquer defesa no nível da conta
A maioria das defesas contra reembolso se baseia em uma conta. O appAccountToken da Apple vincula uma transação a um usuário no seu banco de dados. O ID de conta ofuscado do Google Play faz o mesmo no Android. Vale definir os dois em toda compra, e ambos descrevem a conta de uma pessoa, não o hardware que ela tem nas mãos. Basta excluir a conta e se cadastrar com um novo e-mail para que o seu histórico sobre essa pessoa recomece do zero.
As lojas não preenchem essa lacuna por você. Uma notificação de reembolso da App Store informa qual transação foi reembolsada. Uma compra anulada do Google Play informa o token de compra, o ID do pedido e um voidedReason. Nenhuma delas traz um identificador de dispositivo. Um desenvolvedor de app de namoro descreveu o resultado em um tópico dos Apple Developer Forums: perfis golpistas compravam repetidamente uma assinatura premium que depois era reembolsada, e banir os dispositivos com o método próprio do desenvolvedor não resolveu.
Uma conta nova reinicia o teste da própria loja?
Não na mesma Conta Apple. A documentação da Apple diz que ofertas introdutórias, incluindo testes gratuitos, são para clientes que ainda não receberam uma para aquele produto ou para qualquer produto do mesmo grupo de assinaturas. Então, um novo login dentro do seu app não garante um segundo teste da Apple. Uma nova Conta Apple garante, assim como tudo o que você mesmo oferece: créditos de cadastro, um teste bancado pelo seu servidor, um bônus por indicação. São esses os brindes que uma marcação de dispositivo protege.
O que o DeviceCheck da Apple realmente armazena
O DeviceCheck tem duas partes. No app, a classe DCDevice gera um token efêmero que identifica o dispositivo. No seu servidor, você envia esse token para a Apple com um JSON web token assinado por uma chave da sua conta de desenvolvedor, e a Apple permite consultar ou atualizar dois bits desse dispositivo. A resposta da consulta retorna bit0, bit1 e last_update_time, informado como ano e mês. Os exemplos de uso da própria Apple são um dispositivo que já aproveitou uma oferta promocional e um dispositivo que você determinou ser fraudulento.
A Apple guarda os bits, mas o significado é seu. A documentação diz que você é responsável por acompanhar o que os bits significam e por decidir quando redefini-los, e dá como exemplo um dispositivo vendido. Dois bits geram quatro estados, então um esquema simples é um bit para reembolsado após uso intenso e outro para já recebeu créditos gratuitos.
- O token é de uso único. A Apple diz que ele continua válido por tempo suficiente para repetir uma requisição, mas você deve gerar um novo a cada chamada.
- Builds de desenvolvimento se comunicam com api.development.devicecheck.apple.com. Em produção é preciso usar api.devicecheck.apple.com, ou suas marcações vão parar no lugar errado.
- A Apple descreve o DeviceCheck como um dos insumos de uma avaliação geral de risco, não como um veredito. Trate um bit definido como motivo para olhar com mais atenção.
O que a recuperação de dispositivos do Google acrescenta no Android
A versão do Google faz parte da Play Integrity API e ainda está em beta, com acesso por formulário de interesse. Depois de aprovado e de ativar o recurso no Play Console, cada veredito de integridade traz três bits personalizados para o dispositivo. Você os grava com uma chamada de servidor ao endpoint deviceRecall:write, usando um token de integridade que já verificou. O Google diz que os dados sobrevivem à reinstalação do app e à redefinição do dispositivo, porque ficam nos servidores do Google.
A documentação do Google é incomumente direta sobre o caso de uso. Ela cita dispositivos com evidência de abuso grave, dispositivos que já resgataram um item de alto valor, como um teste gratuito, e dispositivos usados repetidamente para criar novas contas com fins abusivos. E é igualmente direta sobre o limite: o device recall só pode ser usado para proteger a segurança do app e combater abuso, fraude e acesso não autorizado, nunca para identificar por impressão digital ou rastrear usuários individuais, e nunca para armazenar características sensíveis como idade, gênero ou localização.
| Pergunta | Apple DeviceCheck | Device recall do Google Play |
|---|---|---|
| Status | Disponível para todos | Beta, aprovação por formulário de interesse |
| Bits por dispositivo | 2 | 3 |
| Onde ficam | Servidores da Apple | Servidores do Google |
| Sobrevive a reinstalação e redefinição | Armazenados no servidor, a Apple deixa as redefinições com você | Sim, ambos, segundo o Google |
| Compartilhados entre seus apps | Vinculados à sua conta de desenvolvedor | Sim, todos os apps da conta de desenvolvedor |
| Carimbo de data | Ano e mês da última atualização | Data de gravação por bit |
| Retenção | Até você redefini-los | 3 anos após a última leitura ou gravação |
| Token para gravar | Token DCDevice novo, de uso único | Um token de integridade verificado, utilizável por 14 dias |
| Requisitos extras | App ID registrado na sua conta | Play Store e Play services recentes, usuário com licença do Play, sem emuladores |
O problema do tempo: os reembolsos chegam depois que o token já se foi
As duas ferramentas precisam de algo do próprio dispositivo antes que você possa marcá-lo. A Apple precisa de um token DCDevice novo. O Google precisa de um token de integridade daquele dispositivo com no máximo 14 dias. O reembolso, por sua vez, chega ao seu servidor por uma notificação da loja que não sabe nada sobre o dispositivo. Então a questão não é se você vai marcar um dispositivo. É se você ainda terá como alcançá-lo quando o reembolso chegar.
Os reembolsos de 48 horas do Google cabem na janela de 14 dias
Os reembolsos por autoatendimento do Google Play só ficam disponíveis nas 48 horas seguintes à compra, bem dentro dos 14 dias em que um token de integridade continua válido para gravações. Faça uma verificação de integridade no momento da compra, guarde o token verificado junto ao ID do pedido e, quando chegar uma compra anulada desse pedido, você poderá gravar o bit na hora. Chargebacks são o caso mais difícil, já que uma contestação bancária pode chegar muito depois do 14º dia.
Os reembolsos da Apple dependem de o dispositivo voltar
Um reembolso da Apple pode chegar semanas depois da compra, e um token do DeviceCheck armazenado não foi feito para ser reutilizado. A resposta prática é marcar primeiro a conta e depois o dispositivo. Quando a notificação de reembolso chegar, marque a conta no seu banco de dados. Na próxima vez que essa conta abrir o app, solicite um token do DeviceCheck e defina o bit. Quem fica com o conteúdo depois de um reembolso costuma voltar, porque usá-lo era o objetivo.
- Na compra, registre a transação na sua própria conta por meio do appAccountToken ou do ID de conta ofuscado.
- Em um reembolso ou anulação, marque essa conta no seu servidor.
- Na próxima sessão da conta marcada, colete um token do dispositivo e defina o seu bit.
- Em todo cadastro, consulte os bits antes de conceder qualquer coisa que custe dinheiro para você.
Quanto custa um abusador reincidente de reembolsos
O preço reembolsado é a parte visível. O resto é tudo o que a compra já colocou em movimento. Se o seu app gasta dinheiro para entregar o que vende, cada ciclo de comprar, consumir e reembolsar deixa esse dinheiro gasto: tempo de GPU para imagens geradas, chamadas pagas a uma API de modelo ou de dados, armazenamento de exportações que o cliente mantém e repasses a criadores calculados sobre a venda. Uma conta nova reabre o ciclo, e sua contabilidade registra isso como um cliente totalmente novo.
Brindes gratuitos vazam da mesma forma, sem reembolso algum. Um dispositivo que acumula créditos de cadastro em dez contas consome dez vezes a capacidade de processamento que você orçou para um único teste. No Google Play, chargebacks de pedidos feitos após 3 de agosto de 2026 também custam o preço da compra menos a taxa de serviço do Google, mais as tarifas do banco, então quem contesta a partir de uma conta nova a cada vez custa a contestação inteira de novo.
| Item de custo | Sem marcação de dispositivo | Com marcação de dispositivo |
|---|---|---|
| Créditos de cadastro ou um teste bancado por você | Concedidos de novo a cada conta nova | Retidos ou reduzidos em um dispositivo marcado |
| Processamento e chamadas de API pagas | Gastos de novo a cada ciclo | Gastos uma vez, depois restringidos |
| Repasses a criadores ou afiliados | Pagos sobre vendas que voltam como reembolsos | Retidos para revisão em dispositivos marcados |
| Chargebacks do Google Play após 3 de agosto de 2026 | Preço menos taxa de serviço, mais tarifas bancárias, a cada vez | Igual por contestação, mas menos contestações repetidas |
| Decisões de reembolso da loja | Decididas pela loja | Ainda decididas pela loja |

O que fazer com um dispositivo marcado
Uma marcação responde a uma única pergunta: esse dispositivo deve ganhar algo de graça de novo? Mantenha uma resposta proporcional, porque um bit definido é um indício, não uma prova. Celulares são revendidos, famílias compartilham iPads, e o Google orienta expressamente a considerar ignorar ou redefinir dados antigos por esse motivo.
- Não conceda créditos de cadastro, o teste bancado pelo servidor ou o bônus por indicação a um dispositivo marcado, e ofereça o plano pago no lugar.
- Não assine uma oferta promocional para um dispositivo marcado. Na App Store, é o seu servidor que gera a assinatura que libera uma oferta promocional, então a escolha é sua.
- Exija a confirmação do pagamento antes de entregar consumíveis caros em um dispositivo marcado.
- Use o carimbo de data. Uma marcação feita no mês passado pesa mais do que uma feita há dois anos.
- Dê às pessoas um caminho até o suporte. Quem comprou um celular usado e foi marcado por engano merece uma resposta, e você pode redefinir os bits.
Dá para simplesmente banir o dispositivo?
Você pode recusar seus próprios extras gratuitos, e é aí que as marcações de dispositivo compensam. Um bloqueio total é mais arriscado. Quem está com o celular hoje pode não ser quem abusou dele, e os próprios termos do Google limitam o device recall à prevenção de abuso, não ao rastreamento de pessoas. Restrinja o que custa dinheiro e mantenha o caminho pago aberto.
E o Keychain (Chaves) ou um identificador de dispositivo?
Desenvolvedores costumam perguntar se uma marcação no Keychain ou um ID de hardware fariam o mesmo trabalho. Uma marcação que o seu app guarda no celular some após a redefinição do dispositivo, e a Apple não fornece aos apps um identificador de hardware estável para isso. DeviceCheck e device recall são as respostas aprovadas pelas lojas, justamente porque os bits ficam nos servidores da Apple e do Google, e não no celular.
Onde a loja ainda decide
Marcações de dispositivo mudam o que o seu app oferece de graça daqui para frente. Elas não afetam o reembolso que está diante de você. Apenas dois fluxos de reembolso permitem enviar evidências antes da decisão da loja. A Apple envia um CONSUMPTION_REQUEST e pede dados de consumo em até 12 horas. O Google Play abre uma revisão de chargeback que você responde em até 24 horas via orders.reviewrefund. Todo o resto, dos reembolsos de 48 horas do Google Play aos reembolsos pelo suporte e aos reembolsos automáticos de compras não confirmadas, é decidido sem você. Chargebacks são definitivos depois que o banco decide.
O RefundHalt responde a cada CONSUMPTION_REQUEST e a cada revisão de chargeback do Google Play dentro do prazo, com seus dados reais de uso, e vincula cada reembolso à conta que o fez, para que o seu servidor saiba qual dispositivo marcar na próxima vez que ele se conectar.
Perguntas frequentes
- Para que serve o DeviceCheck da Apple?
- O DeviceCheck permite que seu servidor armazene e leia dois bits por dispositivo nos servidores da Apple. Os exemplos da própria Apple são marcar um dispositivo que já aproveitou uma oferta promocional e sinalizar um dispositivo que você determinou ser fraudulento. Você decide o que os bits significam e quando redefini-los.
- O DeviceCheck funciona depois que um usuário apaga o app ou cria uma conta nova?
- Sim. Os bits pertencem ao dispositivo e ficam nos servidores da Apple, não dentro do seu app nem de uma conta de usuário, então um novo cadastro no mesmo dispositivo lê os mesmos bits depois que o app é reinstalado. A Apple deixa a redefinição com você, por exemplo quando um dispositivo é vendido.
- Existe um equivalente ao DeviceCheck no Android?
- Sim, o device recall na Play Integrity API. Ele armazena três bits personalizados por dispositivo nos servidores do Google, sobrevive a reinstalações e redefinições do dispositivo, é compartilhado entre todos os apps da sua conta de desenvolvedor e mantém os dados por 3 anos após o último acesso. Está em beta e exige aprovação.
- Uma marcação de dispositivo pode impedir que um cliente receba um reembolso?
- Não. A Apple e o Google decidem os reembolsos por conta própria. Uma marcação de dispositivo só controla o que o seu próprio app oferece depois, como créditos gratuitos ou uma oferta promocional. Suas evidências só contam no CONSUMPTION_REQUEST da Apple, respondido em até 12 horas, e na revisão de chargeback do Google Play, respondida em até 24 horas.
- É permitido bloquear um dispositivo por abuso de reembolsos?
- O Google permite o device recall apenas para a segurança do app e a prevenção de abuso, fraude e acesso não autorizado, e proíbe usá-lo para identificar por impressão digital ou rastrear usuários. Como dispositivos são revendidos e compartilhados, o uso mais seguro é reter os extras gratuitos em um dispositivo marcado, em vez de bloquear o acesso dele aos recursos pagos.
Fontes e leituras adicionais
- Apple Developer: DeviceCheck
- Apple Developer: Accessing and modifying per-device data
- Apple Developer: DCDevice
- Apple Developer: Implementing introductory offers in your app
- Android Developers: Detect repeat abuse using device recall (beta)
- Apple Developer Forums: Refund abuse
- Google Play Help: Apps, games, and in-app purchases refund policies
- Play Console Help: Updates to refund protection and chargeback cost responsibility
RefundHalt
O piloto automático de reembolsos para App Store e Google Play
Continue lendo
As taxas de faturamento alternativo do Google Play começaram nos EUA em 1º de outubro, e os reembolsos dessas vendas continuam sendo problema seu
Desde 1º de outubro de 2026, o Google Play cobra uma taxa de serviço sobre compras nos EUA feitas por faturamento alternativo ou links para conteúdo externo. O Google continua sem cuidar de nenhum reembolso. Veja o que dizem as tabelas de taxas, como os reembolsos são informados e quanto cada um custa para você.
Pedidos de reembolso excessivos podem custar mais do que os próprios reembolsos, porque as duas lojas os tratam como um sinal de qualidade
A diretriz 5.6.4 da Apple aponta pedidos de reembolso excessivos como sinal de que um app não atende aos padrões de qualidade, e o contrato de distribuição do Google permite remover apps de desenvolvedores novos com base na taxa de reembolso. Veja o que cada loja diz, quanto custa uma remoção e como ficar longe dela.