Ir al contenido
App Store & Play Store Development

¿Qué es una notificación CONSUMPTION_REQUEST? Un desglose campo por campo

El CONSUMPTION_REQUEST de Apple solicita datos estructurados de consumo antes de decidir un reembolso. Esto es lo que significa cada campo y cómo cada uno influye en el resultado.

6 min read
¿Qué es una notificación CONSUMPTION_REQUEST? Un desglose campo por campo

Respuesta rápida: Un CONSUMPTION_REQUEST es la notificación que Apple envía a tu servidor cuando un cliente solicita un reembolso por una compra dentro de la app o suscripción elegible. Para responder, envías de vuelta un ConsumptionRequest estructurado, un conjunto de campos que describen cómo el cliente usó lo que compró, si dio su consentimiento y tu preferencia de reembolso. Apple pondera esos campos en su decisión. Esta guía explica qué significa cada uno y por qué es importante.

Qué es la notificación

Cuando un cliente le pide un reembolso a Apple, la App Store envía un CONSUMPTION_REQUEST a tu servidor mediante App Store Server Notifications. Es la forma en que Apple dice: cuéntanos lo que sabes sobre cómo este cliente usó esta compra, y lo tomaremos en cuenta en nuestra decisión.

Respondes devolviendo un cuerpo ConsumptionRequest. Cada valor es una señal. Envía datos de reembolso de Apple precisos y completos y Apple tendrá contexto; deja campos en blanco y decidirá con menos información. Tú no apruebas ni rechazas el reembolso directamente — Apple siempre toma la decisión final, pero la calidad de lo que envías influye en las probabilidades. Para conocer el flujo completo, consulta Cómo automatizar las solicitudes de reembolso de Apple.

Los campos que Apple acepta

Esto es lo que incluye un ConsumptionRequest y lo que cada campo le indica a Apple. Estos campos de consumption request aportan los datos estructurados que se usan en el flujo de la consumption api:

Campo

Qué representa

Por qué es importante

customerConsented

Si el cliente dio su consentimiento para compartir estos datos

Obligatorio. Debe ser true o Apple no procesará la respuesta.

consumptionStatus

No consumido / parcialmente consumido / totalmente consumido

Una compra totalmente consumida es un caso muy distinto de una que no se ha usado.

deliveryStatus

Si el valor o servicio se entregó correctamente

Distingue entre "lo entregamos y lo usaron" y una falla real de entrega.

refundPreference

Tu recomendación: no declarado / preferir otorgar / preferir rechazar

Uno de los factores que considera Apple: cuando tu evidencia lo respalda, esta es tu voz en la decisión.

accountTenure

Cuánto tiempo lleva el cliente con una cuenta contigo

Una cuenta con mucha antigüedad se interpreta de forma distinta a una recién creada.

playTime

Cuánto tiempo ha pasado el cliente en tu app

Evidencia directa del uso de aquello por lo que solicita el reembolso.

lifetimeDollarsPurchased

Total que el cliente ha gastado en tus apps

Contexto sobre si se trata de una compra puntual o de un cliente valioso y establecido.

lifetimeDollarsRefunded

Total reembolsado previamente a este cliente

Un patrón de reembolsos repetidos es una señal relevante.

sampleContentProvided

Si el cliente pudo probar antes de comprar

Indica si la compra fue informada.

userStatus

Estado actual de la cuenta (activa, suspendida, etc.)

Contextualiza la situación del cliente en el momento de la solicitud.

Apple asigna la mayoría de estos campos a conjuntos de valores definidos (por ejemplo, consumptionStatus y deliveryStatus usan códigos enumerados específicos). Los códigos exactos están en la documentación de Apple, enlazada más abajo, y pueden cambiar, lo cual es parte de por qué mantener una respuesta actualizada es un trabajo continuo, no algo que se construye una sola vez.

Los tres campos más importantes

Si vas a enfocarte en algo, enfócate aquí:

customerConsented: Esto no solo es importante, es una condición de entrada. Apple rechaza todo el envío si no es true, y tú eres legalmente responsable de haber obtenido ese consentimiento en tu app antes de enviar cualquier dato. Es tanto un campo de cumplimiento como uno técnico. Cubrimos el requisito de consentimiento en profundidad en Consentimiento del cliente y la Consumption API.

refundPreference: Esto es lo más parecido a un voto que tienes. Cuando tu evidencia realmente respalda el rechazo, expresar esa preferencia es uno de los factores que Apple considera. Cuando no la respalda, forzar una preferencia de rechazo no es una anulación mágica — Apple sigue decidiendo.

consumptionStatus: Si el cliente realmente usó lo que compró suele ser el punto central del caso. También es uno de los campos más fáciles de completar mal si tus datos de uso no son precisos y actuales en el momento en que llega la solicitud.

Por qué completar estos campos correctamente es más difícil de lo que parece

Al leer una tabla de campos, esto puede parecer el trabajo de una tarde. En la práctica, responder bien implica:

  • Obtener datos de uso y facturación precisos y actualizados al instante para cada cliente en el momento en que llega la solicitud, no una instantánea de ayer.

  • Mapear tus datos internos a los conjuntos de valores exactos de Apple, y mantener ese mapeo correcto a medida que Apple los revisa.

  • Hacerlo dentro de la ventana de ~12 horas, a cualquier hora, sin que nadie lo esté vigilando.

  • Gestionar el estado de consentimiento, los reintentos, los fallos y el registro para poder demostrar qué enviaste y comprobar si está funcionando.

Nada de esto es conceptualmente difícil. Pero todo es infraestructura que tendrías que poseer y mantener para un flujo de trabajo que no es tu producto. Ese es el cálculo al que llegan la mayoría de los equipos: los campos son conocibles, pero crear y mantener un respondedor confiable, seguro dentro de los plazos y conforme a las normas es un costo permanente sin ningún beneficio para tu app.

Ese es el vacío que llena RefundSensor. Mapea cada campo a partir de tus datos, se mantiene actualizado con los cambios de Apple y responde dentro de la ventana de forma automática, de modo que la precisión que decide los reembolsos queda resuelta sin que tengas que construirla ni supervisarla. Para los equipos que están comparando software de automatización de reembolsos de Apple, esto elimina la carga de infraestructura del flujo de trabajo.

Fuentes oficiales

Los conjuntos de valores y requisitos de Apple cambian, así que considera su documentación como la autoridad final:

Los campos son conocibles. Mantener un respondedor para ellos no es tu trabajo. RefundSensor mapea cada campo de ConsumptionRequest a partir de tus datos y responde dentro de la ventana de Apple de forma automática, precisa, actualizada y conforme a las normas. Empieza gratis

Preguntas frecuentes

Es la App Store Server Notification que Apple envía cuando un cliente solicita un reembolso por una compra elegible. Te pide que devuelvas datos de consumo que Apple pondera en su decisión de reembolso.

Campos que describen el consentimiento, el estado de consumo, el estado de entrega, la antigüedad de la cuenta, el tiempo de juego, el gasto y los reembolsos totales, el contenido de muestra, el estado de la cuenta y tu preferencia de reembolso. Cada uno es una señal que Apple toma en cuenta en la decisión.

customerConsented es una condición obligatoria: sin él, la respuesta se rechaza. refundPreference y consumptionStatus son los que más directamente influyen en el resultado cuando tu evidencia respalda tu caso.

Una preferencia tiene más peso cuando está respaldada por datos precisos de consumo y entrega. Las respuestas incompletas le dan a Apple menos información con la que actuar, así que la preferencia por sí sola es más débil que una preferencia acompañada de evidencia.

No. Apple siempre toma la decisión final. Los datos precisos mejoran tus probabilidades, pero no te dan 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