Todos los artículos
Guía práctica8 min de lectura

Los reembolsos de complementos de suscripción en Google Play pueden afectar a un solo elemento, pero tu cliente solo puede cancelar el paquete completo

Google Play permite que una suscripción base incluya hasta 49 complementos en un mismo token de compra. Así funcionan los reembolsos de complementos de suscripción, qué llamada a la API reembolsa un elemento sin tocar el resto, dónde lo bloquea Google y cuánto te cuesta cada vía de reembolso.

Una persona en la mesa de una cafetería mira un teléfono Android junto a un recibo desglosado, el tipo de compra agrupada en la que los reembolsos de complementos de suscripción de Google Play se aplican línea por línea

Puntos clave

  • La función de suscripciones con complementos de Google Play reúne una suscripción base y hasta 49 complementos, 50 elementos en total, en una sola compra, y todos los elementos deben compartir el mismo periodo de facturación recurrente.
  • Los usuarios de Google Play no pueden cancelar un solo complemento desde el Centro de suscripciones de Play. Solo pueden cancelar la suscripción base y sus complementos a la vez, así que quitar un complemento tiene que hacerse dentro de la app del desarrollador.
  • El método purchases.subscriptionsv2.revoke acepta un itemBasedRefund con un productId. Si otros elementos siguen activos, Google revoca y reembolsa por completo solo ese elemento, y la suscripción sigue en marcha.
  • Google bloquea un reembolso por elemento cuando la suscripción está en un estado de pago rechazado, cuando el elemento ha caducado o no se posee, y en las suscripciones prepagadas.
  • Un proratedRefund en una suscripción con complementos reembolsa el último pedido de cada elemento, prorrateado según el tiempo que queda hasta la próxima renovación, y revoca el acceso a todos los elementos a la vez.
  • Las notificaciones en tiempo real para desarrolladores de una suscripción con complementos no incluyen un subscriptionId, así que el backend tiene que llamar a purchases.subscriptionsv2.get y leer cada lineItem para saber qué elementos siguen activos.
  • El único flujo de reembolso de Google Play que pide pruebas al desarrollador es un contracargo marcado para revisión mediante orders.reviewrefund, con un plazo de 24 horas. En los pedidos realizados después del 3 de agosto de 2026, perder un contracargo le cuesta al desarrollador el precio de compra menos la comisión de servicio de Play, más las comisiones del banco.

Vende una suscripción base con tres complementos en Google Play y podrás reembolsar cualquiera de esos complementos sin cancelar el resto. Tu cliente no puede hacer lo mismo desde su lado. Google solo deja a los usuarios cancelar el paquete completo, así que las herramientas precisas para los reembolsos de complementos de suscripción en Google Play están en tus manos, las del desarrollador, y solo a través de la API. Úsalas bien y reembolsarás la línea que falló. Usa la llamada equivocada y reembolsarás, o revocarás, todo.

Cómo se construye una suscripción con complementos

Google anunció el pago de varios productos para suscripciones en el I/O 2025. Un solo flujo de compra vende una suscripción base más complementos opcionales, facturados juntos en un mismo calendario. La guía para desarrolladores de Google fija límites claros:

  • Solo los planes base con renovación automática pueden llevar complementos. Los planes prepagados no.
  • Todos los elementos deben compartir el mismo periodo de facturación recurrente. No se permiten complementos mensuales sobre una base anual.
  • Una compra admite como máximo 50 elementos, es decir, una base y hasta 49 complementos.
  • La función no está disponible en Corea del Sur.

Todo vive en un único token de compra. Cuando llamas a purchases.subscriptionsv2.get, la respuesta incluye una lista lineItems, con una entrada por elemento. Cada elemento de línea tiene su propio productId, expiryTime y latestSuccessfulOrderId. Ese último campo es el que hace posibles los reembolsos por elemento: cada elemento tiene su propio último pedido.

El prorrateo empieza el primer día

Cuando un usuario añade un complemento a mitad de ciclo, Google cobra al momento un importe prorrateado para que el complemento se renueve en la misma fecha que la base. El ejemplo de Google es un complemento mensual de $10 añadido el 15 de agosto tras una prueba de 7 días, por el que se cobran $2.90 para cubrir el resto de agosto. Así que un solo complemento puede tener un primer pedido corto y de importe raro antes del primero completo. Tenlo en cuenta cuando busques a qué pedido afectará un reembolso.

Tu cliente solo puede cancelar el paquete completo

La página de ayuda de Google para consumidores lo dice sin rodeos. Los usuarios solo pueden cancelar la suscripción base y los complementos a la vez, y por ahora no pueden cancelar complementos individuales desde Google Play. Tampoco pueden pausarla. Si un usuario rechaza una subida de precio, Google cancela la suscripción base y todos sus complementos.

Eso deja al cliente que quiere salir de un complemento con dos opciones en la Play Store: cancelarlo todo o pedir que le devuelvan el dinero. Ninguna te conviene. La guía de Google dice que tu app puede ofrecer la eliminación en su lugar. Un complemento eliminado caduca al final de su periodo de facturación actual, y el resto del paquete se sigue renovando.

Las herramientas de reembolso de complementos de suscripción de Google Play, comparadas

Google te da cinco maneras de devolver dinero en una suscripción con complementos. Se diferencian en lo que reembolsan y en si el acceso termina.

HerramientaQué se reembolsaQué pasa con el acceso
Reembolso en Play Console sobre un pedido concretoUn importe que eliges sobre ese pedidoNo se revoca nada
orders.refund, sin revokeEl importe completo de un pedidoNo se revoca nada
subscriptionsv2.revoke con itemBasedRefundEl último cargo completo de un elementoSolo termina ese elemento, salvo que fuera el último activo
subscriptionsv2.revoke con proratedRefundEl último pedido de cada elemento, prorrateado al tiempo restanteTodos los elementos terminan de inmediato
subscriptionsv2.revoke con fullRefundEl último cargo completo de cada elementoTodos los elementos terminan de inmediato

Google añade una advertencia firme en su guía de complementos: no llames al obsoleto purchases.subscriptions.refund en una suscripción con complementos. Además, orders.refund no puede actuar sobre pedidos de más de tres años.

Cómo se comporta itemBasedRefund

El objeto itemBasedRefund recibe un campo obligatorio, productId, que indica el elemento que se revoca. Google describe dos resultados:

  • Otros elementos siguen activos: solo se revoca y se reembolsa por completo el elemento indicado, y la suscripción continúa.
  • No hay otros elementos activos: el elemento se revoca, se reembolsa por completo y se cancela toda la suscripción.

Puedes indicar un elemento por solicitud. Para reembolsar dos complementos, haz dos llamadas.

Cuándo bloquea Google un reembolso por elemento

Google rechaza un itemBasedRefund en tres casos. La suscripción está en cualquier estado de pago rechazado, lo que incluye el periodo de gracia y la suspensión de la cuenta. El elemento indicado no se posee o ya ha caducado. O la compra es una suscripción prepagada, donde la baja de elementos no se admite en absoluto.

Qué hace un reembolso por ID de pedido

La guía de Google indica que el indicador revoke de orders.refund solo termina el acceso si el pedido es el último de la suscripción. En un pedido anterior, el reembolso se completa y no se revoca nada. Play Console funciona igual: reembolsa el pedido más reciente y la suscripción se elimina, reembolsa uno anterior y sigue activa. Con complementos, elige el pedido a partir del latestSuccessfulOrderId del elemento de línea correcto, o podrías reembolsar un cargo distinto del que querías.

Quién decide el reembolso y cuándo te piden pruebas

La mayoría de los reembolsos en una suscripción con complementos se deciden sin ti, igual que en cualquier otra suscripción de Play. En las 48 horas siguientes a una compra, el usuario puede pedirlo a Google mediante Informar de un problema, y Google decide. Después de ese plazo, Google lo envía a ti. Y si no confirmas una nueva compra de suscripción en tres días, Google reembolsa al usuario automáticamente y revoca la compra.

Solo un flujo te pide tu versión de los hechos. Cuando un titular de tarjeta presenta un contracargo y Google lo marca para revisión del desarrollador, recibes una PendingRefundReviewNotification y tienes 24 horas para llamar a orders.reviewrefund con una preferencia de reembolso y pruebas de uso. Los contracargos en sí los decide el banco, y su decisión es definitiva.

Seguimiento de los reembolsos de complementos en tu servidor

La referencia de RTDN de Google incluye SUBSCRIPTION_ITEMS_CHANGED para cambios en un elemento de un paquete de suscripción, y SUBSCRIPTION_REVOKED para una suscripción revocada antes de su fecha de caducidad. La guía de Google dice que una revocación mediante subscriptionsv2.revoke genera tanto una notificación SUBSCRIPTION_REVOKED como una VoidedPurchaseNotification, y queda registrada en la Voided Purchases API.

El problema es el subscriptionId. Google dice que no se incluye en las RTDN de suscripciones con complementos. Así que no confíes en que la notificación te diga qué elemento cambió. En cada notificación de un paquete:

  • Llama a purchases.subscriptionsv2.get con el purchaseToken.
  • Lee cada lineItem y su expiryTime. Google dice que debes actualizar el expiryTime de todos los elementos, no solo del que esperas.
  • Concede o retira el acceso por productId, no por token de compra.
  • Consulta la Voided Purchases API como respaldo. Cubre los últimos 30 días.

El periodo de gracia y la suspensión de la cuenta se aplican al paquete

Los problemas de pago afectan a todos los elementos a la vez. Google elige el periodo de gracia más corto entre los elementos activos y lo aplica a toda la renovación. Durante el periodo de gracia, el usuario conserva todos los elementos. Con la cuenta suspendida, se suspende el acceso a todos los elementos. Si el pago nunca se recupera, los elementos rechazados caducan y los demás se reanudan durante el resto de sus periodos de facturación.

El escritorio de un desarrollador con un portátil que muestra gráficos de costes de servidor junto a una factura desglosada, donde se controlan los costes pagados detrás de cada complemento de suscripción de Google Play

Cuánto dinero te cuesta cada vía de reembolso

Los complementos suelen corresponder a algo que pagas tú. El almacenamiento extra en la nube te lo factura tu proveedor de almacenamiento. Un paquete de créditos de IA se factura en llamadas a la API del modelo. Un puesto extra significa más cómputo, y un nivel para creadores puede generar un pago. Cada uno de esos costes se produce cuando el usuario usa el complemento, y un reembolso devuelve el precio sin devolverte ninguno de ellos.

Reembolsar de más

El error caro es recurrir a fullRefund o proratedRefund cuando la queja es sobre un complemento. Ambos revocan todos los elementos, así que devuelves también el precio de la base y pierdes a un suscriptor que quería quedarse. Un itemBasedRefund devuelve solo el último cargo de ese complemento. Cuando está bloqueado, un orders.refund sobre el último pedido de ese elemento devuelve el dinero sin terminar nada.

Reembolsos parciales y comisiones

Play Console te permite emitir reembolsos parciales en pedidos de suscripción, y Google dice que el porcentaje de reembolso también se aplica a tu pago y a la comisión de servicio. Reembolsa la mitad de un pedido y te vuelve la mitad de la comisión de Google. Tus propios costes por servir ese complemento, no.

Contracargos en un paquete

En los pedidos realizados después del 3 de agosto de 2026, Google traslada el coste de los contracargos a los desarrolladores. Cuando un contracargo prospera, pagas el precio de compra menos la comisión de servicio de Play, más las comisiones que cobra el banco. Un pedido de paquete con varios complementos es un pedido más grande que perder. Los registros de uso por complemento, vinculados al ID de cuenta ofuscado, son lo que enviarías en una revisión de 24 horas.

Lista de comprobación para reembolsos de complementos

  • Ofrece en la app una forma de quitar un complemento, ya que Google Play no la ofrece.
  • Guarda el productId, el expiryTime y el latestSuccessfulOrderId de cada lineItem en cada notificación.
  • Usa itemBasedRefund por defecto cuando el problema es un complemento.
  • Cuando la suscripción esté en periodo de gracia o con la cuenta suspendida, reembolsa el pedido del elemento con orders.refund.
  • No llames nunca al obsoleto purchases.subscriptions.refund en un paquete.
  • Registra el uso de los complementos por cuenta para que una revisión de contracargo pueda enviarse en menos de 24 horas.
  • Informa de las tasas de reembolso por complemento, no solo por suscripción, para que un complemento flojo no se esconda en las cifras del plan base.

Preguntas frecuentes

¿Puede un usuario cancelar solo un complemento de una suscripción de Google Play?
No desde Google Play. La página de ayuda de Google dice que los usuarios solo pueden cancelar la suscripción base y los complementos a la vez. Tu app puede ofrecer la eliminación de un solo complemento, que luego caduca al final de su periodo de facturación actual.
¿Cómo reembolso un complemento sin cancelar la suscripción?
Llama a purchases.subscriptionsv2.revoke con un itemBasedRefund que indique el productId del complemento. Si otros elementos siguen activos, Google revoca y reembolsa por completo solo ese elemento. También puedes reembolsar el último pedido del elemento con orders.refund sin el indicador revoke, lo que devuelve el dinero y no toca el acceso.
¿Por qué falló mi llamada a itemBasedRefund?
Google la bloquea cuando la suscripción está en un estado de pago rechazado, cuando el elemento no se posee o ha caducado, y en las suscripciones prepagadas. Comprueba el expiryTime del elemento de línea y el estado de la suscripción antes de llamar.
¿Funciona un reembolso prorrateado en una suscripción con complementos?
Sí, pero lo revoca todo. Google reembolsa el último pedido de cada elemento, prorrateado según el tiempo que queda hasta la próxima renovación, y el acceso a todos los elementos termina de inmediato.
¿Qué RTDN me indica que se reembolsó un complemento?
La guía de Google dice que la revocación genera SUBSCRIPTION_REVOKED y una VoidedPurchaseNotification, y que SUBSCRIPTION_ITEMS_CHANGED cubre los cambios en un elemento de un paquete. Como el subscriptionId falta en los paquetes, llama a purchases.subscriptionsv2.get y lee cada lineItem para ver qué cambió.

Fuentes y lecturas adicionales

RefundHalt

El piloto automático de reembolsos para App Store y Google Play

Seguir leyendo

La próxima solicitud de reembolso ya está en camino.

Configura RefundHalt en el tiempo que tardas en leer otro correo de soporte sobre un reembolso que no llegaste a impugnar.