AppReviewX Iniciar sesión

Probar pagos fallidos y periodos de gracia

Cómo se comporta tu app cuando falla una renovación. Verifica el comportamiento de la tienda en la documentación actual.

En esta guía

Una renovación puede fallar: tarjeta caducada, saldo insuficiente o un método de pago eliminado. Lo que hace tu app después decide si el usuario lo arregla o se va enfadado. Parte de Probar monetización.

Las reglas de las tiendas pueden cambiar, así que confírmalas en las páginas actuales y construye tu matriz de pruebas a partir de ellas.

  • Apple: "If you enabled the billing grace period for your apps, there won't be any interruption to days of paid service or to your revenue, if Apple is able to recover the subscription within the billing grace period (either 6 or 16 days, depending on the subscription duration)." (Si activaste el periodo de gracia de facturación para tus apps, no habrá interrupción de los días de servicio pagado ni de tus ingresos, siempre que Apple pueda recuperar la suscripción dentro del periodo de gracia de facturación, de 6 o 16 días según la duración de la suscripción).
  • Google Play: "This recovery period can consist of a grace period followed by an account hold period. During a grace period, the user should still have access to their subscription entitlement." (Este periodo de recuperación puede constar de un periodo de gracia seguido de un periodo de retención de cuenta. Durante el periodo de gracia, el usuario debería seguir teniendo acceso a su derecho de suscripción) y "When a subscription enters account hold, you should block access to the subscription entitlement." (Cuando una suscripción entra en retención de cuenta, debes bloquear el acceso al derecho de suscripción). La duración del periodo de gracia puede ajustarse en Play Console; la retención de cuenta dura por defecto "60 days minus any grace period duration." (60 días menos la duración de cualquier periodo de gracia).

Fuentes: Apple App Store Connect Help (Offer auto-renewable subscriptions); Android Developers (Subscriptions; Subscription lifecycle); todas consultadas el 2026-10-22.

Construye primero la matriz

A partir de la documentación, enumera cada estado de suscripción que la tienda puede reportar (por ejemplo: activa, en reintento, en espera, caducada). Para cada uno anota: a qué acceso debe tener el usuario, qué debe decir la app y qué puede hacer el usuario. Después prueba cada fila.

Comprobaciones

  1. Cada estado tiene una regla de acceso definida. Ningún estado cae en "indefinido, así que bloqueado" por accidente.
  2. La app informa al usuario de que el pago falló. Palabras claras, una sola acción ("Actualizar método de pago") y sin culpar.
  3. La acción lleva al lugar correcto. El enlace abre la gestión de pagos de la tienda, no un callejón sin salida. Cómo comprobarlo: tócalo en un dispositivo real.
  4. El mensaje desaparece tras la solución. Paga de nuevo en el sandbox; el aviso desaparece sin reinstalar.
  5. Sin acoso. Un banner o un solo diálogo, no una pantalla bloqueante en cada inicio mientras el acceso siga vigente.
  6. El acceso no se corta demasiado pronto ni se mantiene demasiado tiempo. Compara lo que permite la app con el estado que registraste.
  7. Caducidad final. Cuando la suscripción termina, el usuario llega a un paywall tranquilo que explica lo ocurrido. Ver flujo de prueba gratuita.
  8. Volver a suscribirse tras la caducidad. La compra funciona y el acceso vuelve. Ver restaurar compras.
  9. Pago fallido durante un cambio de plan. Ver subir y bajar de plan.
  10. Servidor y app coinciden. Si guardas el estado en un servidor, comprueba que maneja los mismos estados y eventos desordenados (comprobaciones del lado del servidor).
  11. Tiempos en el sandbox. Las renovaciones del sandbox se ejecutan en plazos acortados; compara con los periodos reales de arriba antes de sacar conclusiones sobre textos como "en 6 días".

Textos

No prometas fechas que no puedes leer en la tienda. "No pudimos renovar tu suscripción" es cierto; "te quedan 7 días" solo es cierto si lo verificaste.

Relacionados: interrupción de compra, visualización de precios por región.

Pregunta a un tester qué mensaje esperaría y si sabría qué hacer. Empieza gratis.