Reembolsos de complementos de assinatura no Google Play podem atingir um item por vez, mas seu cliente só consegue cancelar o pacote inteiro
O Google Play permite que uma assinatura base tenha até 49 complementos em um único token de compra. Veja como funcionam os reembolsos de complementos de assinatura, qual chamada de API reembolsa um item sem mexer no resto, onde o Google bloqueia isso e quanto cada caminho de reembolso custa para você.

Principais conclusões
- O recurso de assinatura com complementos do Google Play coloca uma assinatura base e até 49 complementos, 50 itens no total, em uma única compra, e todos os itens precisam ter o mesmo período de cobrança recorrente.
- Os usuários do Google Play não conseguem cancelar um único complemento pela Central de assinaturas do Play. Eles só podem cancelar a assinatura base e os complementos juntos, então remover um complemento precisa acontecer dentro do app do desenvolvedor.
- O método purchases.subscriptionsv2.revoke aceita um itemBasedRefund com um productId. Se outros itens continuarem ativos, o Google revoga e reembolsa integralmente só esse item, e a assinatura continua.
- O Google bloqueia um reembolso por item quando a assinatura está em um estado de pagamento recusado, quando o item expirou ou não pertence ao usuário, e em assinaturas pré-pagas.
- Um proratedRefund em uma assinatura com complementos reembolsa o pedido mais recente de cada item, proporcional ao tempo restante até a próxima renovação, e revoga o acesso a todos os itens de uma vez.
- As notificações do desenvolvedor em tempo real de uma assinatura com complementos não trazem um subscriptionId, então o backend precisa chamar purchases.subscriptionsv2.get e ler cada lineItem para ver quais itens ainda estão liberados.
- O único fluxo de reembolso do Google Play que pede provas ao desenvolvedor é um chargeback marcado para revisão via orders.reviewrefund, com prazo de 24 horas. Para pedidos feitos depois de 3 de agosto de 2026, perder um chargeback custa ao desenvolvedor o preço da compra menos a taxa de serviço do Play, mais as tarifas do banco.
Venda uma assinatura base com três complementos no Google Play e você pode reembolsar qualquer um deles sem cancelar o resto. Seu cliente não consegue fazer o mesmo do lado dele. O Google só deixa os usuários cancelarem o pacote inteiro, então as ferramentas precisas para reembolsos de complementos de assinatura no Google Play ficam com você, o desenvolvedor, e só pela API. Use bem e você reembolsa a linha que deu errado. Use a chamada errada e você reembolsa, ou revoga, tudo.
Como uma assinatura com complementos é montada
O Google anunciou o checkout de vários produtos para assinaturas no I/O 2025. Um único fluxo de compra vende uma assinatura base mais complementos opcionais, cobrados juntos em um mesmo calendário. O guia para desenvolvedores do Google define limites claros:
- Só planos base com renovação automática podem ter complementos. Planos pré-pagos não podem.
- Todos os itens precisam ter o mesmo período de cobrança recorrente. Complementos mensais sobre uma base anual não são permitidos.
- Uma compra comporta no máximo 50 itens, ou seja, uma base e até 49 complementos.
- O recurso não está disponível na Coreia do Sul.
Tudo fica em um único token de compra. Quando você chama purchases.subscriptionsv2.get, a resposta traz uma lista lineItems, com uma entrada por item. Cada item de linha tem seus próprios productId, expiryTime e latestSuccessfulOrderId. Esse último campo é o que torna possível o reembolso por item: cada item tem seu próprio pedido mais recente.
O rateio começa no primeiro dia
Quando um usuário adiciona um complemento no meio do ciclo, o Google cobra na hora um valor proporcional para que o complemento renove na mesma data da base. O exemplo do próprio Google é um complemento mensal de $10 adicionado em 15 de agosto após um teste de 7 dias, com cobrança de $2.90 para cobrir o resto de agosto. Então um único complemento pode ter um primeiro pedido curto e de valor estranho antes do primeiro pedido cheio. Lembre disso quando for descobrir qual pedido um reembolso vai atingir.
Seu cliente só consegue cancelar o pacote inteiro
A página de ajuda do Google para consumidores é direta. Os usuários só podem cancelar a assinatura base e os complementos juntos, e por enquanto não conseguem cancelar complementos individuais pelo Google Play. Pausar também não é possível. Se um usuário recusa um aumento de preço, o Google cancela a assinatura base e todos os complementos junto.
Isso deixa o cliente que quer sair de um complemento com duas opções na Play Store: cancelar tudo ou pedir o dinheiro de volta. Nenhuma é boa para você. O guia do Google diz que seu app pode oferecer a remoção no lugar disso. Um complemento removido expira no fim do período de cobrança atual, e o resto do pacote continua renovando.
As ferramentas de reembolso de complementos de assinatura do Google Play, comparadas
O Google oferece cinco formas de devolver dinheiro em uma assinatura com complementos. Elas diferem no que reembolsam e em se o acesso termina.
| Ferramenta | O que é reembolsado | O que acontece com o acesso |
|---|---|---|
| Reembolso no Play Console em um pedido específico | Um valor que você escolhe nesse pedido | Nada é revogado |
| orders.refund, sem revoke | O valor total de um pedido | Nada é revogado |
| subscriptionsv2.revoke com itemBasedRefund | A cobrança mais recente completa de um item | Só esse item termina, a menos que fosse o último item ativo |
| subscriptionsv2.revoke com proratedRefund | O pedido mais recente de cada item, proporcional ao tempo restante | Todos os itens terminam na hora |
| subscriptionsv2.revoke com fullRefund | A cobrança mais recente completa de cada item | Todos os itens terminam na hora |
O Google faz um alerta firme no guia de complementos: não chame o obsoleto purchases.subscriptions.refund em uma assinatura com complementos. Além disso, orders.refund não alcança pedidos com mais de três anos.
Como o itemBasedRefund se comporta
O objeto itemBasedRefund recebe um campo obrigatório, productId, que indica o item a ser revogado. O Google descreve dois resultados:
- Outros itens continuam ativos: só o item indicado é revogado e reembolsado integralmente, e a assinatura segue.
- Nenhum outro item está ativo: o item é revogado, reembolsado integralmente e a assinatura inteira é cancelada.
Você pode indicar um item por solicitação. Para reembolsar dois complementos, faça duas chamadas.
Quando o Google bloqueia um reembolso por item
O Google rejeita um itemBasedRefund em três casos. A assinatura está em qualquer estado de pagamento recusado, o que inclui o período de carência e a suspensão da conta. O item indicado não pertence ao usuário ou já expirou. Ou a compra é uma assinatura pré-paga, em que a remoção de itens não é aceita.
O que faz um reembolso por ID do pedido
O guia do Google observa que a flag revoke em orders.refund só encerra o acesso se o pedido for o mais recente da assinatura. Em um pedido mais antigo, o reembolso funciona e nada é revogado. O Play Console funciona do mesmo jeito: reembolse o pedido mais recente e a assinatura é removida, reembolse um mais antigo e ela continua ativa. Com complementos, escolha o pedido a partir do latestSuccessfulOrderId do item de linha certo, ou você pode reembolsar uma cobrança diferente da que pretendia.
Quem decide o reembolso, e quando pedem provas a você
A maioria dos reembolsos em uma assinatura com complementos é decidida sem você, como em qualquer outra assinatura do Play. Em até 48 horas após a compra, o usuário pode pedir ao Google pelo Informar um problema, e o Google decide. Depois disso, o Google encaminha o usuário para você. E se você não confirmar uma nova compra de assinatura em três dias, o Google reembolsa o usuário automaticamente e revoga a compra.
Só um fluxo pede a sua versão dos fatos. Quando um titular de cartão abre um chargeback e o Google o marca para revisão do desenvolvedor, você recebe uma PendingRefundReviewNotification e tem 24 horas para chamar orders.reviewrefund com uma preferência de reembolso e provas de uso. Os chargebacks em si são decididos pelo banco, e a decisão do banco é final.
Acompanhando reembolsos de complementos no seu servidor
A referência de RTDN do Google lista SUBSCRIPTION_ITEMS_CHANGED para mudanças em um item de um pacote de assinatura, e SUBSCRIPTION_REVOKED para uma assinatura revogada antes da data de expiração. O guia do Google diz que uma revogação via subscriptionsv2.revoke dispara tanto uma notificação SUBSCRIPTION_REVOKED quanto uma VoidedPurchaseNotification, e fica registrada na Voided Purchases API.
O problema é o subscriptionId. O Google diz que ele não vem nas RTDN de assinaturas com complementos. Então não confie na notificação para saber qual item mudou. Em toda notificação de um pacote:
- Chame purchases.subscriptionsv2.get com o purchaseToken.
- Leia cada lineItem e o expiryTime dele. O Google diz que você precisa atualizar o expiryTime de todos os itens, não só do que você espera.
- Libere ou remova o acesso por productId, não por token de compra.
- Consulte a Voided Purchases API como rede de segurança. Ela cobre os últimos 30 dias.
Período de carência e suspensão da conta valem para o pacote
Problemas de pagamento atingem todos os itens de uma vez. O Google escolhe o menor período de carência entre os itens ativos e aplica à renovação inteira. Durante a carência, o usuário mantém todos os itens. Com a conta suspensa, o acesso a todos os itens fica suspenso. Se o pagamento nunca se recuperar, os itens recusados expiram e os demais voltam pelo resto dos seus períodos de cobrança.

Quanto cada caminho de reembolso custa em dinheiro
Complementos costumam corresponder a algo que você paga. O armazenamento extra na nuvem é cobrado pelo seu provedor de armazenamento. Um pacote de créditos de IA é cobrado em chamadas à API do modelo. Uma vaga extra significa mais processamento, e um plano para criadores pode gerar um repasse. Cada um desses custos acontece quando o usuário usa o complemento, e um reembolso devolve o preço sem devolver nenhum deles.
Reembolsar demais
O erro caro é recorrer a fullRefund ou proratedRefund quando a reclamação é sobre um complemento. Os dois revogam todos os itens, então você devolve também o preço da base e perde um assinante que queria ficar. Um itemBasedRefund devolve só a cobrança mais recente daquele complemento. Quando ele está bloqueado, um orders.refund no pedido mais recente desse item devolve o dinheiro sem encerrar nada.
Reembolsos parciais e taxas
O Play Console permite fazer reembolsos parciais em pedidos de assinatura, e o Google diz que a porcentagem do reembolso também se aplica ao seu repasse e à taxa de serviço. Reembolse metade de um pedido e metade da taxa do Google volta junto. Seus próprios custos para entregar aquele complemento não voltam.
Chargebacks em um pacote
Para pedidos feitos depois de 3 de agosto de 2026, o Google passa os custos de chargeback para os desenvolvedores. Quando um chargeback é aceito, você paga o preço da compra menos a taxa de serviço do Play, mais as tarifas cobradas pelo banco. Um pedido de pacote com vários complementos é um pedido maior a perder. Registros de uso por complemento, vinculados ao ID de conta ofuscado, são o que você enviaria em uma revisão de 24 horas.
Um checklist para reembolsos de complementos
- Ofereça no app uma forma de remover um complemento, já que o Google Play não oferece.
- Guarde o productId, o expiryTime e o latestSuccessfulOrderId de cada lineItem em toda notificação.
- Use itemBasedRefund como padrão quando o problema for um complemento.
- Quando a assinatura estiver em período de carência ou com a conta suspensa, reembolse o pedido do item com orders.refund.
- Nunca chame o obsoleto purchases.subscriptions.refund em um pacote.
- Registre o uso dos complementos por conta para que uma revisão de chargeback possa ser enviada em até 24 horas.
- Acompanhe as taxas de reembolso por complemento, não só por assinatura, para que um complemento fraco não se esconda nos números do plano base.
Perguntas frequentes
- Um usuário pode cancelar só um complemento em uma assinatura do Google Play?
- Não pelo Google Play. A página de ajuda do Google diz que os usuários só podem cancelar a assinatura base e os complementos juntos. Seu app pode oferecer a remoção de um único complemento, que então expira no fim do período de cobrança atual.
- Como reembolso um complemento sem cancelar a assinatura?
- Chame purchases.subscriptionsv2.revoke com um itemBasedRefund indicando o productId do complemento. Se outros itens continuarem ativos, o Google revoga e reembolsa integralmente só esse item. Você também pode reembolsar o pedido mais recente do item com orders.refund sem a flag revoke, o que devolve o dinheiro e não mexe no acesso.
- Por que minha chamada de itemBasedRefund falhou?
- O Google bloqueia quando a assinatura está em um estado de pagamento recusado, quando o item não pertence ao usuário ou expirou, e em assinaturas pré-pagas. Verifique o expiryTime do item de linha e o estado da assinatura antes de chamar.
- Um reembolso proporcional funciona em uma assinatura com complementos?
- Sim, mas revoga tudo. O Google reembolsa o pedido mais recente de cada item, proporcional ao tempo restante até a próxima renovação, e o acesso a todos os itens termina na hora.
- Qual RTDN me avisa que um complemento foi reembolsado?
- O guia do Google diz que a revogação dispara SUBSCRIPTION_REVOKED e uma VoidedPurchaseNotification, e SUBSCRIPTION_ITEMS_CHANGED cobre mudanças em um item de um pacote. Como o subscriptionId não vem em pacotes, chame purchases.subscriptionsv2.get e leia cada lineItem para ver o que mudou.
Fontes e leituras adicionais
- Google Play Billing: Subscription with add-ons
- Google Play Help: Subscriptions with add-ons
- Google Play Developer API: purchases.subscriptionsv2.revoke
- Google Play Developer API: orders.refund
- Google Play Billing: Manage subscriptions and one-time purchases
- Play Console Help: Issue refunds and cancel orders
- Google Play Billing: Real-time developer notifications reference
- Google Play Billing: Subscription lifecycle
- Google Play Help: Request a refund on Google Play
- Google Play Developer API: orders.reviewrefund
- 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
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.
Verifique as notificações do servidor da App Store antes de agir sobre um reembolso, porque qualquer pessoa pode enviar dados para a sua URL de webhook
Uma notificação de reembolso é apenas uma requisição HTTPS até você conferir a assinatura. Veja como verificar as notificações do servidor da App Store e as mensagens RTDN do Google Play, o que cada loja assina e quanto custa um reembolso forjado ou rejeitado por engano.