Quando um cliente é cobrado duas vezes pela mesma assinatura, quase sempre pagou em duas plataformas, e só um desses reembolsos cabe a você
Quando um cliente é cobrado duas vezes pela mesma assinatura, geralmente é um plano comprado na App Store e outro no Google Play ou no seu site. Veja quem pode reembolsar cada lado, quanto isso custa para você e como impedir a segunda cobrança.

Principais conclusões
- Um cliente cobrado duas vezes pela mesma assinatura geralmente a comprou em duas lojas diferentes, como a App Store e o Google Play, e cada loja cobra e reembolsa a própria compra de forma independente.
- Desenvolvedores não podem reembolsar compras da App Store. Quem decide é a Apple, pelo reportaproblem.apple.com ou pela tela de reembolso que um app pode abrir com o beginRefundRequest do StoreKit, e a Apple diz que leva até 48 horas para aprovar ou negar.
- No Google Play, o desenvolvedor pode reembolsar um pedido em Order management no Play Console ou pela API orders.refund, que não reembolsa pedidos com mais de 3 anos.
- Reembolsar o pedido mais recente de uma assinatura do Google Play remove a assinatura imediatamente e cancela as renovações futuras. Reembolsar um pedido mais antigo mantém a assinatura ativa.
- A Apple envia um CONSUMPTION_REQUEST para pedidos de reembolso de qualquer tipo de produto, inclusive assinaturas com renovação automática, e o desenvolvedor tem 12 horas para responder com Send Consumption Information se o cliente tiver dado consentimento.
- Para pedidos do Google Play feitos depois de 3 de agosto de 2026, um chargeback custa ao desenvolvedor o preço da compra, menos a taxa de serviço do Play, mais a taxa de chargeback do banco.
- Definir um appAccountToken nas compras da Apple e um ID de conta ofuscado nas compras do Google Play permite que o seu servidor veja um único cliente por trás de duas assinaturas antes que a segunda cobrança aconteça.
Nada nos sistemas de cobrança da Apple ou do Google impede que uma pessoa pague aos dois pela sua assinatura no mesmo mês. Quando um cliente é cobrado duas vezes pela mesma assinatura, quase sempre foi isso que aconteceu. Ele assinou num iPhone, depois de novo num tablet Android ou no seu site, e o seu app não reconheceu o primeiro plano. O cliente vê duas cobranças e escreve para você. O problema é que você só consegue reembolsar uma delas por conta própria, e só se ela não tiver sido comprada pela Apple. Veja como funciona cada lado, quanto a duplicidade custa para você e como garantir que isso não se repita.
Por que clientes são cobrados duas vezes pela mesma assinatura
Cada loja é dona da própria compra. A Apple cobra a assinatura da App Store, o Google cobra a do Google Play e o seu processador de pagamentos cobra o plano web. Nenhum deles sabe que os outros existem. O seu servidor é o único lugar onde as duas compras podem se encontrar, e só se ambas carregarem um ID que as ligue à mesma conta.
Os caminhos mais comuns para uma cobrança dupla são estes:
- O cliente troca de celular, do iOS para o Android ou o contrário, e assina de novo porque o app novo mostra um paywall.
- O cliente assina no seu site, instala o app e não está logado, então o app vende a ele mais uma assinatura da loja.
- O cliente desinstala o app e acha que isso encerrou o plano. A ajuda do Google diz que desinstalar um app não cancela a assinatura do Google Play, e um plano da App Store continua sendo renovado até ser cancelado na conta Apple.
"Está na cara que o seu app e o seu site não conversam"
Essa é a reclamação que você vai ler no e-mail de suporte, e do ponto de vista do cliente ela é justa. Ele pagou por um produto só. Ser cobrado de novo por ele parece uma armadilha, mesmo quando foi um acidente dos dois lados. O jeito mais rápido de esfriar a situação é dizer com clareza qual compra você pode reembolsar e qual ele precisa levar à Apple.
Quem pode reembolsar cada cobrança
É aqui que a maioria das respostas de suporte erra. Você só pode prometer o que controla.
| Onde a duplicata foi comprada | Quem decide o reembolso | Como o plano para de renovar | Sua participação |
|---|---|---|---|
| App Store | Só a Apple, pelo reportaproblem.apple.com ou pela tela de reembolso no seu app | O cliente cancela na conta Apple dele | CONSUMPTION_REQUEST, responda em até 12 horas se o cliente tiver dado consentimento |
| Google Play, até 48 horas após a compra | O cliente pode pedir ao Google, ou você pode reembolsar | Reembolsar o último pedido cancela as renovações futuras | Nenhuma no reembolso de autoatendimento do Google |
| Google Play, depois de 48 horas | Você, pelo Play Console ou pelo orders.refund | Reembolsar o último pedido cancela as renovações futuras | Você decide |
| Seu site | Você, pelo seu processador de pagamentos | Você cancela do seu lado | Você decide |
Um desenvolvedor pode reembolsar uma assinatura da App Store?
Não. A Apple cuida de todos os reembolsos da App Store. O que você pode fazer é encurtar o caminho. O beginRefundRequest do StoreKit abre a tela de reembolso da Apple dentro do seu app, com os dados da compra e uma lista de motivos já preenchidos. A documentação da Apple diz que a App Store leva até 48 horas para aprovar ou negar o pedido. Fora do app, o cliente entra em reportaproblem.apple.com, escolhe "Solicitar reembolso", seleciona um motivo e escolhe a assinatura.
Reembolsando você mesmo o lado do Google Play
No Google Play, quem manda é você. No Play Console, abra Order management, selecione o pedido e reembolse. A ajuda do Play Console é específica sobre assinaturas: reembolse o pedido mais recente e a assinatura é removida imediatamente, com as renovações futuras canceladas. Reembolse um pedido mais antigo e a assinatura continua ativa. Se você automatizar isso, a API orders.refund faz o mesmo trabalho, aceita uma flag revoke para encerrar o acesso na hora e recusa pedidos com mais de 3 anos.
Quanto uma assinatura duplicada custa para você
A duplicata nunca foi uma receita que você pudesse manter. A questão financeira é quanto ela custa a mais, além do reembolso.
O caso simples
Imagine que um cliente pagou $9.99 por mês na App Store e no Google Play durante três meses antes de perceber. São $29.97 em cobranças duplicadas. Se você mesmo reembolsar os três pedidos do Google Play, devolve $29.97 e o problema termina no mesmo dia. Se o cliente levar o lado da App Store à Apple, a Apple decide quanto reembolsar e você só fica sabendo pelas notificações do seu servidor. De qualquer forma, a receita de uma plataforma nesses três meses volta para o cliente.
O caso caro
O prejuízo real vem quando o cliente desiste do suporte e liga para o banco. Um chargeback é definitivo depois que o banco decide. O Google Play te dá uma única chance de contestar, uma revisão do chargeback que você responde em até 24 horas pelo orders.reviewrefund. Para pedidos do Google Play feitos depois de 3 de agosto de 2026, um chargeback perdido custa a você o preço da compra, menos a taxa de serviço do Play, mais a taxa de chargeback do banco. Um reembolso de $29.97 que você poderia ter feito em um minuto vira $29.97 mais uma taxa que você não controla.
O custo que você continua pagando enquanto isso
Enquanto os dois planos estão ativos, o seu backend atende uma pessoa, mas enxerga duas assinaturas. Se você conta licenças, sincroniza dados ou chama APIs pagas de terceiros por assinatura, pode estar pagando em dobro por processamento, armazenamento e chamadas de API para um único cliente. Unificar os dois registros acaba com isso.

Como lidar com uma cobrança dupla no suporte
Responda rápido e em uma única mensagem. Cada troca extra de mensagens aumenta a chance de uma contestação no banco.
- Procure as duas compras pela conta do cliente, não pelo e-mail de onde ele escreveu.
- Pergunte qual plano ele quer manter. Geralmente é o do aparelho que ele usa hoje.
- Se a duplicata estiver no Google Play ou no seu site, reembolse você mesmo e avise que já está feito.
- Se a duplicata estiver na App Store, mande o cliente para reportaproblem.apple.com, ou para o botão de reembolso do seu app se você tiver criado um, e peça que ele cancele nas configurações da conta Apple.
- Se depois a Apple enviar um CONSUMPTION_REQUEST e o cliente tiver dado consentimento, responda em até 12 horas com dados de uso precisos. Um plano duplicado que nunca foi usado é fácil de a Apple aprovar.
Como impedir a segunda cobrança antes que ela aconteça
Prevenir sai mais barato que qualquer reembolso, e as ferramentas já existem nas duas lojas.
Ligue cada compra ao seu ID de conta
No iOS, gere um UUID por conta e passe como a opção de compra appAccountToken. A Apple devolve o mesmo valor na transação e nas informações de renovação da assinatura. Se uma compra aconteceu fora do seu app, o endpoint Set App Account Token permite associar ou atualizar o token depois. No Android, passe para o setObfuscatedAccountId um ID de conta com hash de até 64 caracteres, nunca dados pessoais em texto puro.
Verifique os direitos de acesso antes de mostrar um paywall
Antes de o paywall aparecer, pergunte ao seu próprio servidor se a conta logada já tem um plano ativo em qualquer plataforma. Mostre primeiro um convite para fazer login, e o paywall só para contas sem plano ativo.
Fique de olho em dois planos ativos na mesma conta
Rode uma verificação diária das contas com mais de uma assinatura ativa entre lojas. Descobrir isso na primeira semana significa reembolsar um mês em vez de três, e mandar um e-mail curto em vez de enfrentar um chargeback.
O RefundHalt acompanha as assinaturas da App Store e do Google Play com base nos seus próprios IDs de conta, então um cliente que paga em dobro aparece como uma pessoa com dois planos antes que o banco dele perceba.
Perguntas frequentes
- Por que um cliente foi cobrado duas vezes pela mesma assinatura?
- Geralmente porque ele comprou em duas plataformas, como a App Store e o Google Play, ou em uma loja e no seu site. Cada loja cobra a própria assinatura e não sabe da outra, então as duas renovam até uma ser cancelada.
- Posso reembolsar uma assinatura da App Store para um cliente?
- Não. Só a Apple pode reembolsar compras da App Store. Você pode abrir a tela de reembolso da Apple dentro do seu app com o beginRefundRequest do StoreKit, ou indicar ao cliente o reportaproblem.apple.com. A Apple diz que leva até 48 horas para aprovar ou negar o pedido.
- Como reembolso uma assinatura duplicada do Google Play?
- Reembolse o pedido em Order management no Play Console, ou chame a API orders.refund. Reembolsar o pedido mais recente remove a assinatura imediatamente e cancela as renovações futuras. A API não reembolsa pedidos com mais de 3 anos.
- Reembolsar uma assinatura também a cancela?
- No Google Play, reembolsar o pedido mais recente cancela as renovações futuras, mas reembolsar um pedido mais antigo mantém a assinatura ativa. Na App Store, o reembolso é decisão da Apple e o cliente cancela a assinatura na conta Apple dele.
- Como impedir que usuários assinem duas vezes entre iOS e Android?
- Associe o seu próprio ID de conta a cada compra, com appAccountToken na Apple e um ID de conta ofuscado no Google Play. Depois, verifique no seu servidor se existe um plano ativo em qualquer plataforma antes de mostrar um paywall, e peça ao usuário que faça login primeiro.
Fontes e leituras adicionais
- Apple Support: Request a refund for apps or content that you bought from Apple
- Apple Developer: beginRefundRequest(in:)
- Apple Developer: Send Consumption Information
- Apple Developer: appAccountToken
- Play Console Help: Manage your app's orders and issue refunds
- Google Play Developer API: orders.refund
- 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
Se o seu app for removido do Google Play ou da App Store, os reembolsos ainda podem sair dos seus repasses
Um app removido do Google Play ou da App Store para de faturar, mas os contratos das lojas mantêm você responsável pelos reembolsos e permitem que a Apple e o Google retenham seus repasses. Veja o que cada contrato diz, o que acontece com os assinantes e quanto custa uma remoção.
Excluir a conta do app não cancela a assinatura, e os pedidos de reembolso que vêm depois ainda podem cair no seu colo
A Apple e o Google Play exigem que você ofereça a exclusão de conta no app, mas excluir a conta não interrompe a cobrança em nenhuma das duas lojas. Veja o que cada loja exige, por que uma conta apagada pode deixar você sem resposta para um CONSUMPTION_REQUEST ou uma análise de chargeback, e o que manter.