¿Qué significa “Restaurar compra”?

Última actualización marzo 10, 2026
 
Victoria Kharlan
Publicado diciembre 5, 2025 
Última actualización marzo 10, 2026
Lectura de 5 min
What Does Restore Purchase Mean

Imagina esto: un usuario compra una suscripción, cambia de dispositivo, reinstala tu app y de repente pierde el acceso. Es una forma fácil de perder la confianza.

Por eso existe la opción «Restaurar compra». Puede parecer un botón opcional, pero es imprescindible, especialmente para las aplicaciones basadas en suscripción.

Esta opción permite a los usuarios recuperar el acceso al contenido adquirido anteriormente sin tener que volver a pagar.
Se trata de un pequeño botón con un gran papel en la confianza, el cumplimiento normativo y la retención de usuarios.

Por qué es importante

  • Confianza del usuario: si alguien ha pagado una vez, espera mantener el acceso, independientemente del dispositivo.
  • Carga de soporte: lógica de restauración confusa o inexistente = usuarios enfadados + más tickets.
  • Cumplimiento de las normas de la App Store: tanto Apple como Google esperan que incluyas una opción de restauración para determinados tipos de productos.

Qué compras se pueden restaurar

Las compras restaurables incluyen:

  • No consumibles: Compras únicas, como acceso de por vida o funciones premium.
  • Suscripciones renovables automáticamente: planes mensuales/anuales que se sincronizan entre dispositivos.
  • Suscripciones no renovables: Acceso por un período determinado (por ejemplo, un pase de 3 meses).

No restaurable:

  • Consumibles como monedas, vidas extra o potenciadores de un solo uso. Están pensados para agotarse.

Cómo funciona el botón «Restaurar compra»

  1. UI/UX. Añadir un botón «Restaurar compra», normalmente en la configuración o directamente en el muro de pago.
  2. Activador. Al pulsar, activa una restauración mediante:
    • SKPaymentQueue.restoreCompletedTransactions() para iOS
    • BillingClient.queryPurchaseHistoryAsync() para Android
    • O tu lógica de backend si gestionas los derechos en el lado del servidor
  3. Actualizar acceso. Una vez completada la restauración, actualice el estado de suscripción del usuario y desbloquee el contenido.
  4. Añade un texto útil. Una simple línea ayuda a reducir la confusión: «Úsalo si has cambiado de dispositivo o has reinstalado la aplicación».
  5. Evita la redundancia. Si el usuario ya tiene acceso, desactiva el botón o ocúltalo por completo.
  6. Lógica de la cuenta. Para aplicaciones con inicio de sesión: vincule las suscripciones a las cuentas de usuario y sincronícelas a través del backend para simplificar la restauración entre dispositivos.

Cómo funciona la restauración de compras en iOS

En iOS, restaurar compras actualiza el recibo de la app y vuelve a entregar los productos vinculados al Apple ID del usuario. El proceso se ejecuta silenciosamente en segundo plano, y la experiencia debe resultar simple y clara.

Así es como hacerlo usando StoreKit nativo (anterior a StoreKit 2):

1. Inicia el proceso de restauración

Llame a restoreCompletedTransactions() para activar el flujo de restauración:

SKPaymentQueue.default().restoreCompletedTransactions()

Esto le indica a StoreKit que busque cualquier compra anterior vinculada al Apple ID actual.

2. Gestiona las transacciones restauradas

Escucha la cola de pagos y comprueba los estados de transacción .restored. A continuación, desbloquea el contenido y marca la transacción como finalizada:

func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {
    for transaction in transactions {
        if transaction.transactionState == .restored {
            // Unlock access based on restored product
            unlockContent(transaction: transaction)
            SKPaymentQueue.default().finishTransaction(transaction)
        }
    }
}

No olvides llamar a finishTransaction(_:). De lo contrario, StoreKit podría seguir reintentando la misma transacción.

3. Gestiona los errores de forma adecuada

La restauración puede fallar debido a recibos inválidos, problemas de red o si el Apple ID no tiene compras elegibles. Muestra un mensaje claro al usuario y registra el error para la depuración.

¿Utiliza Adapty SDK? Nosotros nos encargamos de todo esto, incluida la validación de recibos y los casos extremos, con una sola llamada al método.

Cómo funciona la restauración de compras en Android

En Android, restaurar compras significa verificar el historial de compras del usuario a través de Google Play y reactivar cualquier producto no consumible o suscripción activa. No existe un botón «restaurar» integrado como en iOS. Esto significa que debes gestionarlo manualmente a través de la billing API.

Así es como hacerlo usando la Google Play Billing Library:

1. Consultar el historial de compras

Utilice queryPurchaseHistoryAsync() para recuperar las compras anteriores del usuario:

billingClient.queryPurchaseHistoryAsync(
    BillingClient.SkuType.SUBS
) { billingResult, purchaseHistoryList ->
    if (billingResult.responseCode == BillingClient.BillingResponseCode.OK && purchaseHistoryList != null) {
        for (purchase in purchaseHistoryList) {
            // Restore subscription access
            restoreEntitlement(purchase)
        }
    }
}

También puede consultar las compras dentro de la aplicación pasando BillingClient.SkuType.INAPP.

2. Valida y desbloquea

Después de obtener el historial de compras, valida los recibos (idealmente del lado del servidor) y otorga el acceso correspondiente. Asegúrate de verificar los datos de firma para prevenir el spoofing.

Adapty se encarga de la validación de compras, la lógica de acceso del usuario y la sincronización multiplataforma de forma nativa.

3. Consideraciones de UX

Dado que los usuarios de Android no esperan un botón «Restaurar compras», puedes:

  • Activar la restauración automáticamente al iniciar sesión o al abrir la aplicación
  • O bien ofrecer una opción discreta en Ajustes para mayor transparencia

En cualquier caso, asegúrate de que la lógica de restauración se ejecute silenciosamente en segundo plano y actualice la interfaz cuando se restaure el acceso.

Reflexiones finales

El botón «Restaurar compra» puede parecer simple, pero desempeña un papel fundamental en el recorrido de suscripción.

  • Genera confianza.
  • Reduce la tasa de abandono.
  • Te mantiene en cumplimiento normativo.

Hazlo visible. Haz que funcione. Y haz que sea fácil de entender.

Preguntas frecuentes

Si tu aplicación utiliza el inicio de sesión como única forma de acceder a las compras, es posible que el botón no sea técnicamente necesario. Sin embargo, Apple lo recomienda, ya que ayuda a reducir las solicitudes de asistencia.

No. Solo reactiva compras válidas realizadas anteriormente; no implica ningún cargo.

No. Normalmente lo activa manualmente el usuario. Pero si utilizas Adapty o tu propio backend, puedes sincronizar las compras de forma silenciosa al iniciar la aplicación para garantizar que el acceso esté siempre actualizado.

En iOS, sí, si se utiliza el mismo ID de Apple. En Android, se recomienda iniciar sesión para vincular las compras a una cuenta de usuario permanente.

No. La opción «Restaurar compra» solo funciona para la cuenta que realizó la compra originalmente.

En iOS, si el producto es compatible con Compartir en familia y está habilitado, cualquier miembro de la familia puede restaurar la compra. El comportamiento depende de la configuración de App Store y del tipo de producto.

Muestra un mensaje amigable como: «No se han encontrado compras anteriores en tu cuenta». Esto evita confusiones y confirma que el proceso se ha ejecutado según lo previsto.
Victoria Kharlan
Lessons I wish I had. Now yours.
Otros

En esta página

¿Listo para crear tu primer peywall con Adapty?
Crea poywalls rentables sin programar
Comienza gratis