# Guideline 3.1.2: app rechazada por su suscripción

> Guideline 3.1.2: el monto cobrado debe ser el precio más visible del paywall, con duración, renovación y enlaces legales. Dos rechazos reales y su solución.

Página original: [Guideline 3.1.2: app rechazada por su suscripción](https://devoria.fr/es/blog/guideline-3-1-2-app-rechazada-suscripcion)
Autor: [Mehdi Azizi](https://devoria.fr/es/mehdi-azizi)
Publicación: 2026-10-17
Última revisión del contenido: 2026-10-17


La guideline 3.1.2 regula las suscripciones con renovación automática. Si Apple la cita, revisa dos cosas: **el monto que realmente se cobra debe ser el precio más visible de tu paywall**, y tanto la app como su ficha deben indicar la duración, el precio y enlaces que funcionen hacia tus términos de uso y tu política de privacidad.

Recibí este rechazo en dos de mis apps en octubre de 2026: Solys el 10, TradaZen el 12. El problema era la misma forma de mostrar el precio: un precio por semana en grande y el monto real cobrado en pequeño. Aquí tienes el texto de la regla, esos dos casos y luego la checklist que aplico ahora. Para los demás motivos, lee [por qué Apple rechaza una app](https://devoria.fr/es/blog/rechazo-apple-por-que-rechazan-tu-app).

## ¿Qué dice la guideline 3.1.2?

La 3.1.2, “Subscriptions”, está en la sección 3 “Business” de las [App Review Guidelines](https://developer.apple.com/app-store/review/guidelines/#3.1.2), parte 3.1 “Payments”. De ahí el asunto del correo: “Guideline 3.1.2 - Business - Payments - Subscriptions”. Tiene tres incisos, y **la letra entre paréntesis te dice dónde buscar**.

| Inciso                            | Lo que exige Apple                 | El rechazo típico                          |
| --------------------------------- | ---------------------------------- | ------------------------------------------ |
| 3.1.2(a) Permissible uses         | Valor continuo, 7 días como mínimo | Suscripción sin contenido que evolucione   |
| 3.1.2(b) Upgrades and Downgrades  | Cambiar de plan sin duplicados     | Dos planes pagados al mismo tiempo         |
| 3.1.2(c) Subscription Information | Qué se obtiene y a qué precio      | Precio calculado más grande que el cobrado |

El texto de la [3.1.2(c)](https://developer.apple.com/app-store/review/guidelines/#3.1.2c) es corto. Antes de pedirle a alguien que se suscriba, debes “clearly describe what the user will get for the price”: describir con claridad lo que obtiene por ese precio. Después remite al anexo 2 (Schedule 2) del [contrato de licencia del programa de desarrolladores](https://developer.apple.com/support/terms/apple-developer-program-license-agreement/#S2). Ese anexo enumera lo que debes mostrar “clearly and conspicuously”, de forma clara y visible:

- el título de la suscripción;
- su duración;
- su precio, y el precio por unidad si corresponde;
- enlaces a tu política de privacidad y a tus términos de uso, accesibles dentro de la app.

La regla sobre el tamaño de los precios está en la [página de Apple dedicada a las suscripciones](https://developer.apple.com/app-store/subscriptions/). En el flujo de compra, “the amount that will be billed must be the most prominent pricing element in the layout”: el monto que se cobrará debe ser el elemento de precio más visible. Un equivalente mensual o un ahorro siguen estando permitidos, siempre que estén en posición secundaria y sean más pequeños. La misma página pide, para una prueba gratuita, indicar su duración y el precio que se cobra al terminar.

## Los dos rechazos 3.1.2(c) que recibí

### Solys: 0,38 € en grande, 19,99 € en pequeño

Solys es mi despertador que duerme tus redes sociales. En el paywall del onboarding, la tarjeta “Anual” mostraba “0,38 €/sem.” en 21 puntos y en negrita. Debajo, en 15 puntos: “o sea 19,99 €/año”. Pero lo que se cobra son 19,99 €, no 0,38 €.

El 10 de octubre de 2026, Apple rechaza la versión citando la 3.1.2(c). El mensaje pide que el monto cobrado sea el elemento de precio más claro y más visible. La prueba gratuita, el precio de lanzamiento y los precios calculados deben quedar subordinados a él. Apple menciona sus criterios: la fuente, el tamaño, el color y la ubicación.

Había mantenido esa presentación a sabiendas: una versión anterior de TradaZen, construida con el mismo principio, había sido aceptada. Era una apuesta, y me costó un ciclo de revisión.

**La solución**: “19,99 €/año” en grande, “o sea 0,38 €/sem.” como leyenda gris debajo, en los 30 idiomas de la app. Como el paywall está en el código, hizo falta un nuevo build antes de volver a enviar la versión.

![Una balanza pesa los dos precios del paywall de Solys, fundidos en bloques de plomo. Antes, “0,38 €/sem.” en 21 puntos pesa más que “o sea 19,99 €/año” en 15 puntos y la aguja marca rechazado; después, “19,99 €/año” en 21 puntos pesa más y la aguja marca conforme.](https://devoria.fr/ios/figures/balance-3-1-2c.svg)

### TradaZen: el mismo motivo, dos días después

TradaZen es mi simulador de trading. El 12 de octubre de 2026, la versión 1.5.1 es rechazada por la misma regla. El mensaje habla de un precio “weekly calculated” mostrado “more clearly and conspicuously than the billed amount”: el equivalente semanal era más visible que el monto cobrado.

Mi primera corrección no bastó, y me di cuenta antes de enviarla. Había reducido “0,92 €/sem” pero lo dejé a la derecha, en la línea del precio. Sin embargo, la tarjeta de la suscripción semanal mostraba, en la misma columna, su precio real: “8,99 €/sem”. Los dos montos se leían al mismo nivel. **Un precio calculado colocado en la columna de los precios reales se lee como un precio cobrado**, aunque sea pequeño.

**La solución final**: cada tarjeta lleva su monto cobrado en grande, a la derecha. El precio por semana pasa a ser una leyenda gris debajo. A la izquierda, solo el nombre del plan. En la siguiente revisión, Apple ya no señaló la 3.1.2(c).

Las demás lecciones de esta app están en el [caso de estudio de TradaZen](https://devoria.fr/es/blog/caso-de-estudio-tradazen-lanzar-app-iphone).

## Lo que Apple rechazó y lo que pasó

Estas son las presentaciones reales, en orden, con su resultado.

| Presentación del precio                                             | Resultado                             |
| ------------------------------------------------------------------- | ------------------------------------- |
| TradaZen, versión anterior: precio por semana destacado             | Aceptado en una revisión anterior     |
| Solys: “0,38 €/sem.” en negrita, “19,99 €/año” debajo               | Rechazado el 10/10/2026, 3.1.2(c)     |
| TradaZen 1.5.1: precio por semana más visible que el cobrado        | Rechazado el 12/10/2026, 3.1.2(c)     |
| TradaZen: precio por semana reducido, pero en la columna de precios | Descartado por mí antes del envío     |
| TradaZen: cobrado en grande a la derecha, semana como leyenda       | Ya no citado en la siguiente revisión |
| Solys: “19,99 €/año” en grande, semana como leyenda gris            | Corregido y reenviado a Apple         |

La primera fila es la más importante. **Una revisión aprobada no valida tu paywall para la siguiente.** Cada versión pasa de nuevo por un revisor, que puede leer la regla de forma más estricta que el anterior. La única presentación segura es la que respeta el texto.

> El monto cobrado es el único precio en grande. Cualquier equivalente, por semana, por mes o por día, es una leyenda más pequeña y más tenue, nunca en su lugar.

## La checklist del paywall conforme a la 3.1.2

Esta es la lista que recorro ahora en cada paywall de mis apps, antes de cada envío:

- En cada tarjeta, el monto cobrado es el precio más grande, con más contraste y mejor ubicado.
- Todo precio calculado (por semana, por mes, por día) es una leyenda, más pequeña y más tenue, debajo del monto cobrado.
- Ningún precio calculado ocupa la columna donde otro plan muestra su precio real.
- La duración está escrita con claridad: “por año”, “por semana”.
- La prueba gratuita indica su duración y el monto que se cobra al terminar.
- Una frase indica que la suscripción se renueva automáticamente y se cancela en los ajustes de la cuenta de Apple.
- Lo que desbloquea la suscripción está escrito antes del botón de compra.
- Un botón “Restaurar compras” está visible en el paywall.
- Los enlaces a los términos de uso y a la política de privacidad están en el paywall y se abren.
- Si ofreces varios planes, están en un solo grupo de suscripciones, como recomienda Apple.
- La presentación se revisa en el iPhone más pequeño y con el precio más largo. En TradaZen, pruebo el precio en dong vietnamita: un monto que salta de línea rompe la jerarquía.

Si usas los paywalls de RevenueCat, la [documentación de RevenueCat](https://www.revenuecat.com/docs/tools/paywalls/creating-paywalls/app-review) hace la misma advertencia: una variable de precio mensual sola no basta si el monto cobrado y su periodicidad no aparecen en otro lugar. La integración completa está en [RevenueCat: configurar una suscripción in-app](https://devoria.fr/es/blog/revenuecat-suscripcion-in-app-ios), y los errores de diseño en [paywall iOS: 7 errores de principiante](https://devoria.fr/es/blog/paywall-ios-errores-principiante-ventas).

## Los enlaces de términos y privacidad: en la app y en la ficha

La otra forma de rechazo 3.1.2 no apunta al paywall, sino a los metadatos. Los mensajes publicados por desarrolladores en los [foros de Apple](https://developer.apple.com/forums/thread/807082) precisan el lugar esperado: el enlace a la política de privacidad en el campo previsto de App Store Connect, y el enlace a los términos de uso (EULA) en la descripción o en el campo EULA.

La trampa viene del contrato estándar. Según la [ayuda de App Store Connect](https://developer.apple.com/help/app-store-connect/manage-app-information/provide-a-custom-license-agreement), si no agregas un contrato personalizado, se aplica el contrato estándar de Apple y “the license agreement link isn't shown on your App Store product page”: no aparece ningún enlace en tu ficha. **Si usas el contrato estándar, te toca a ti poner su enlace en la descripción**, hacia tu página de términos o hacia el [contrato de licencia estándar de Apple](https://www.apple.com/legal/internet-services/itunes/dev/stdeula/).

En mis apps con suscripción, termino la descripción con dos líneas, en cada idioma de la ficha. Este es el modelo, para adaptar a tu oferta y a tu dominio:

```text
Prueba gratuita de 7 días, luego suscripción anual o semanal,
cancelable en cualquier momento.
Términos: https://tu-dominio.com/terminos
Privacidad: https://tu-dominio.com/privacidad
```

Abre los dos enlaces antes de pegarlos: una página que no existe equivale a un enlace ausente. Lo que debe contener la política se detalla en [política de privacidad de una aplicación](https://devoria.fr/es/blog/politica-de-privacidad-app-ios), y el resto de la ficha en la página [ASO App Store](https://devoria.fr/es/expertise/aso-app-store).

**Este punto se corrige sin nuevo build**: la descripción y los campos de App Store Connect son metadatos.

## 3.1.2(a): una suscripción debe aportar un valor continuo

El otro inciso que provoca rechazos apunta al modelo, no a la pantalla. La [3.1.2(a)](https://developer.apple.com/app-store/review/guidelines/#3.1.2a) pide “ongoing value”: un valor que continúe en el tiempo. El periodo dura al menos siete días, y la suscripción funciona en todos los dispositivos del usuario. El suscriptor obtiene lo que pagó sin tareas adicionales, como publicar en una red social.

Si tu app presta un servicio de una sola vez, quizá te convenga más una compra única. Los dos modelos se comparan en [suscripción o compra única](https://devoria.fr/es/blog/suscripcion-o-pago-unico-app-ios).

## Qué responderle a Apple tras un rechazo 3.1.2

La conversación ocurre en la sección App Review de tu app. El procedimiento para [responder a App Review](https://developer.apple.com/help/app-store-connect/manage-submissions-to-app-review/reply-to-app-review-messages/) es el mismo que para las demás reglas. Hay dos casos:

- **El problema está en la app** (tamaño de los precios, menciones del paywall): hace falta un nuevo build, como con Solys y TradaZen. El revisor prueba el código incluido, lo explico en la guía sobre la [guideline 2.1](https://devoria.fr/es/blog/guideline-2-1-app-store-corregir-rechazo).
- **El problema está en la ficha** (enlaces ausentes o rotos): corriges los metadatos, respondes y la misma solicitud vuelve a enviarse.

Escribe en inglés, de forma sobria: qué causaba el problema, qué cambió y cómo verificarlo. Este es el modelo que uso (reemplaza el número de build, los precios y el recorrido por los tuyos):

```text
Hello,

Thank you for your review.

Issue: on the paywall, the weekly equivalent price was displayed
more prominently than the billed amount.

Fix in build X:
- Each plan now shows its billed amount (e.g. "€19.99/year")
  as the largest price on the card.
- The weekly equivalent is a smaller grey caption below it.
- The paywall states the duration, the auto-renewal, and links
  to our Terms of Use and Privacy Policy.

How to verify: launch the app and complete the onboarding.
The paywall appears at the end.

Best regards,
```

## Corregir tu paywall antes del próximo envío

Si tu app acaba de ser rechazada por la 3.1.2, el [Apple Review Kit](https://devoria.fr/es/kits/review-apple) te ayuda a encontrar la regla citada, lo que exige, y un ejemplo de corrección y de respuesta. Sus skills de Claude Code también revisan tu paywall y tu ficha antes del envío. Si prefieres una mirada humana, [reserva una hora conmigo](https://devoria.fr/es/coaching): leemos el mensaje de Apple y rehacemos tu paywall en tu pantalla. El proceso completo está en la página [aplicación rechazada por Apple](https://devoria.fr/es/expertise/app-rechazada-por-apple), y la configuración de la suscripción en la página [suscripción in-app iOS](https://devoria.fr/es/expertise/suscripcion-in-app-ios).

Si estás preparando tu primer lanzamiento, [haz tu diagnóstico gratuito](https://devoria.fr/es/diagnostic): pone los pasos en orden y te envía mi checklist antirrechazo de Apple. Para [crear una aplicación móvil](https://devoria.fr/es) que cobre desde su lanzamiento, el [iOS Kit](https://devoria.fr/es/kits/ios) dedica su tercera etapa, “conectar el dinero”, a la suscripción y al paywall.

Nadie puede garantizar que Apple aceptará tu app. Lo que sí puedo hacer es evitarte el rechazo 3.1.2(c) que yo pagué dos veces.

## Preguntas frecuentes

### ¿Qué significa “Guideline 3.1.2 - Business - Payments - Subscriptions”?

Es el título completo de la regla sobre suscripciones. Señala un precio mal jerarquizado, información faltante en el paywall, un enlace ausente en la ficha o una suscripción sin valor continuo. La letra entre paréntesis, por ejemplo 3.1.2(c), indica el inciso en cuestión.

### ¿Todavía se puede mostrar un precio por semana o por mes?

Sí. Apple permite un equivalente por semana o por mes, o un ahorro, siempre que sean más pequeños y menos visibles que el monto realmente cobrado. En mis apps, el equivalente es una leyenda gris debajo del precio cobrado, nunca en la columna de los precios reales.

### ¿Hace falta un nuevo build después de un rechazo 3.1.2?

Sí, si el problema está en el paywall, ya que el revisor prueba el código incluido. No, si está en la ficha, como un enlace ausente en la descripción: corriges los metadatos y la misma solicitud vuelve a enviarse.

### ¿Dónde poner el enlace a los términos de uso (EULA)?

En la app, en el paywall. En la ficha, en la descripción o en el campo EULA de App Store Connect si tienes un contrato personalizado. Con el contrato estándar de Apple, no se muestra ningún enlace en tu ficha: agrégalo tú mismo en la descripción, en cada idioma.

### Mi paywall ya fue aceptado, ¿por qué lo rechazan ahora?

Porque cada versión pasa de nuevo por revisión, a veces ante otro revisor. Un precio por semana destacado había sido aceptado en TradaZen, y luego rechazado en Solys y en TradaZen en octubre de 2026. Solo el texto de la regla te protege.


## Tu proyecto

[Apple Review Kit](https://devoria.fr/es/kits/review-apple): La checklist de revisión del App Store que uso, mis rechazos de Apple corregidos, las notas para el revisor y dos skills de Claude Code que revisan tu app. 29 €.

[iOS Kit](https://devoria.fr/es/kits/ios): Crea tu app para iPhone con Claude Code: el código base de mis apps, los skills que verifican su trabajo y los kits Apple Review, App Store Screenshots y ASO. 129,99 €.
