Ir para o conteúdo
App Store & Play Store Development

O Que É uma Notificação CONSUMPTION_REQUEST? Um Detalhamento Campo por Campo

O CONSUMPTION_REQUEST da Apple solicita dados estruturados de consumo antes de decidir um reembolso. Veja o que cada campo significa e como cada um influencia o resultado.

6 min read
O Que É uma Notificação CONSUMPTION_REQUEST? Um Detalhamento Campo por Campo

Resposta rápida: Um CONSUMPTION_REQUEST é a notificação que a Apple envia ao seu servidor quando um cliente solicita reembolso de uma compra no app ou assinatura elegível. Para responder, você envia de volta um ConsumptionRequest estruturado um conjunto de campos que descreve como o cliente usou o que comprou, se ele consentiu e qual é a sua preferência de reembolso. A Apple pondera esses campos em sua decisão. Este guia explica o que cada um significa e por que é importante.

O que é a notificação

Quando um cliente solicita um reembolso à Apple, a App Store envia um CONSUMPTION_REQUEST ao seu servidor por meio das App Store Server Notifications. É a Apple dizendo: conte-nos o que você sabe sobre como esse cliente usou essa compra, e vamos considerar isso em nossa decisão.

Você responde retornando um corpo ConsumptionRequest. Cada valor é um sinal. Envie dados de reembolso da Apple precisos e completos, e a Apple terá contexto; deixe campos em branco e ela decidirá com menos informações. Você não aprova nem nega o reembolso diretamente a Apple sempre toma a decisão final mas a qualidade do que você envia influencia as chances. Para o fluxo completo, veja Como Automatizar Solicitações de Reembolso da Apple.

Os campos que a Apple aceita

Veja o que compõe um ConsumptionRequest e o que cada campo informa à Apple. Esses campos do consumption request fornecem os dados estruturados usados no fluxo da consumption api:

Campo

O que representa

Por que é importante

customerConsented

Se o cliente consentiu em compartilhar esses dados

Obrigatório. Deve ser true, ou a Apple não processará a resposta.

consumptionStatus

Não consumido / parcialmente consumido / totalmente consumido

Uma compra totalmente consumida é um caso muito diferente de uma que não foi utilizada.

deliveryStatus

Se o valor ou serviço foi entregue com sucesso

Diferencia "nós entregamos, eles usaram" de uma falha real de entrega.

refundPreference

Sua recomendação: não declarado / preferência por conceder / preferência por negar

Uma das entradas consideradas pela Apple — quando suas evidências a sustentam, essa é a sua voz na decisão.

accountTenure

Há quanto tempo o cliente tem uma conta com você

Uma conta antiga é interpretada de forma diferente de uma recém-criada.

playTime

Quanto tempo o cliente passou no seu app

Evidência direta de engajamento com o que está sendo reembolsado.

lifetimeDollarsPurchased

Total que o cliente gastou em seus apps

Contexto sobre se é uma compra única ou se trata de um cliente valioso e estabelecido.

lifetimeDollarsRefunded

Total já reembolsado a esse cliente

Um padrão de reembolsos recorrentes é um sinal relevante.

sampleContentProvided

Se o cliente pôde experimentar antes de comprar

Indica se a compra foi feita de forma informada.

userStatus

Status atual da conta (ativa, suspensa, etc.)

Contextualiza a situação do cliente no momento da solicitação.

A Apple mapeia a maioria desses campos para conjuntos de valores definidos (por exemplo, consumptionStatus e deliveryStatus usam códigos enumerados específicos). Os códigos exatos estão na documentação da Apple, linkada abaixo, e podem mudar — o que é parte do motivo pelo qual manter uma resposta atualizada é um trabalho contínuo, não uma implementação única.

Os três campos mais importantes

Se você for focar em algo, foque aqui:

customerConsented: Isso não é apenas importante, é uma barreira. A Apple rejeita toda a submissão se não for true, e você é legalmente responsável por ter obtido esse consentimento no seu app antes mesmo de enviar qualquer dado. É um campo tanto de compliance quanto técnico. Abordamos o requisito de consentimento em profundidade em Consentimento do Cliente e a Consumption API.

refundPreference: Isso é o mais próximo que você tem de um voto. Quando suas evidências realmente sustentam a negativa, expressar essa preferência é uma das entradas que a Apple considera. Quando não sustentam, forçar uma preferência de negar não é um override mágico — a Apple ainda decide.

consumptionStatus: Se o cliente realmente usou o que comprou costuma ser o cerne do caso. Também é um dos campos mais fáceis de errar se os seus dados de uso não estiverem precisos e atualizados no momento em que a solicitação chega.

Por que preencher esses campos corretamente é mais difícil do que parece

Ao ler uma tabela de campos, isso pode parecer o trabalho rápido de uma tarde. Na prática, responder bem significa:

  • Coletar dados de uso e cobrança precisos e atualizados no momento para cada cliente assim que uma solicitação chega não um retrato de ontem.

  • Mapear seus dados internos para os conjuntos exatos de valores da Apple, e manter esse mapeamento correto à medida que a Apple os revisa.

  • Fazer isso dentro da janela de ~12 horas, a qualquer hora, sem uma pessoa acompanhando.

  • Gerenciar estado de consentimento, tentativas, falhas e registros para que você possa comprovar o que enviou e verificar se está funcionando.

Nada disso é conceitualmente difícil. Mas tudo isso é infraestrutura que você teria que possuir e manter para um fluxo de trabalho que não é o seu produto. Esse é o cálculo que a maioria das equipes acaba fazendo: os campos são conhecíveis, mas montar e manter um respondente confiável, seguro em relação a prazos e compatível é um custo permanente sem nenhum benefício real para o seu app.

É essa lacuna que o RefundSensor preenche. Ele mapeia cada campo a partir dos seus dados, se mantém atualizado com as mudanças da Apple e responde dentro da janela automaticamente, de modo que a precisão que decide os reembolsos é tratada sem que você precise construir ou monitorar nada. Para equipes que estão comparando softwares de automação de reembolso da Apple, isso remove a carga de infraestrutura do fluxo de trabalho.

Fontes oficiais

Os conjuntos de valores e requisitos da Apple mudam, portanto trate a documentação dela como a autoridade final:

Os campos são conhecíveis. Manter um respondente para eles não é o seu trabalho. O RefundSensor mapeia cada campo do ConsumptionRequest a partir dos seus dados e responde dentro da janela da Apple automaticamente, preciso, atualizado e em compliance. Comece grátis

Perguntas frequentes

É a App Store Server Notification que a Apple envia quando um cliente solicita reembolso de uma compra elegível. Ela pede que você retorne dados de consumo que a Apple leva em conta em sua decisão de reembolso.

Campos que descrevem consentimento, status de consumo, status de entrega, tempo de conta, tempo de uso, gastos e reembolsos vitalícios, conteúdo de amostra, status da conta e sua preferência de reembolso. Cada um é um sinal que a Apple considera na decisão.

customerConsented é uma barreira obrigatória, a resposta é rejeitada sem ele. refundPreference e consumptionStatus influenciam mais diretamente o resultado quando suas evidências sustentam o seu caso.

Uma preferência tem mais peso quando é respaldada por dados precisos de consumo e entrega. Respostas incompletas dão à Apple menos elementos para agir, então a preferência sozinha é mais fraca do que uma preferência acompanhada de evidências.

Não. A Apple sempre toma a decisão final. Dados precisos melhoram suas chances; eles não dão a você poder de veto.

#consumption request notification#consumption request fields#consumption api#apple refund data#customerConsented#refundPreference
Refund SensorRefund Sensor TeamRefund defense for App Store and Google Play developers