Suscripciones

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

Suscripciones dentro de los juegos te permiten ofrecer a los usuarios beneficios recurrentes por una tarifa mensual. Las suscripciones son similares a los pases, pero mientras que los beneficios de un pase se otorgan de forma indefinida, los beneficios de una suscripción dependen de que el usuario pague una tarifa mensual.

Las suscripciones en Roblox tienen las siguientes características:

  • Renovación automática: Las suscripciones se renuevan automáticamente, no son compras únicas, y pueden tener un precio en moneda local o Robux.
  • Pago en Robux: Ya sea que una suscripción se compre en moneda local o Robux, recibirás los ingresos de la suscripción en Robux. Para más detalles, consulta Gana con suscripciones.
  • Un nivel: Todas las suscripciones dentro de un juego pueden ser propiedad de usuarios simultáneamente. No se admiten suscripciones mutuamente exclusivas.
  • Precios regionales: Los precios regionales están habilitados por defecto para suscripciones vendidas en Robux y no se pueden desactivar. Los precios regionales no están disponibles para suscripciones vendidas en moneda local.

Directrices de suscripción

Antes de crear tus suscripciones, asegúrate de que se alineen con los Términos de Uso de Roblox y cumplan con las leyes locales. Cualquier juego que participe en estafas, intente engañar a los usuarios con ofertas falsas o viole de cualquier manera nuestros Estándares de la Comunidad será eliminado.

También debes asegurarte de que tus suscripciones sigan estas directrices:

  • Proporcionar opciones de suscripción claras y distinguibles: Usa nombres cortos, concisos y autoexplicativos que diferencien las opciones de suscripción entre sí. Especifica el precio y la duración para cada opción al comercializar en el juego.
  • Ofrecer los mismos beneficios en todas las plataformas y dispositivos: Independientemente de dónde se compró la suscripción, asegúrate de que el usuario reciba los mismos beneficios para cualquier plan de suscripción dado.
  • Diseñar suscripciones que se ajusten entre sí y a la oferta general del juego: Actualmente no está disponible un sistema de niveles en la misma suite de beneficios, como ofrecer niveles "Bronce", "Plata" y "Oro" mutuamente exclusivos. Asegúrate de que las suscripciones representen conjuntos de beneficios distintos.
  • Ofrecer los beneficios durante todo el término de la suscripción: Una vez que una oferta de suscripción esté activa, honra los beneficios descritos y no revokes beneficios de forma oculta.
  • No dirigir a los usuarios a comprar en otra plataforma (como móvil, web, etc.) dentro del juego: Mientras que puedes comunicarte con los usuarios fuera de la plataforma, usar la aplicación de Roblox para dirigir a los usuarios a comprar en otro lugar está prohibido.
  • No restringir los beneficios de suscripción por requisitos adicionales una vez que un usuario ha pagado: Requerir a un usuario realizar tareas adicionales, como publicar en redes sociales, para acceder a beneficios que ya ha pagado está prohibido. Esta directriz no afecta a los pases de batalla, que puedes crear y comercializar como una compra de suscripción.

Robux vs moneda local

Las suscripciones pueden tener precios en Robux o moneda local. La siguiente tabla compara las dos opciones de pago.

RobuxMoneda local
ElegibilidadTodos los creadoresRequiere una cuenta verificada por ID o número de teléfono
PlataformasDisponibles en todas las plataformasDisponibles en Web, App Store y Google Play
PaísesDisponibles en todos los países que soportan RobloxNo disponibles en Argentina, China, Colombia, India, Indonesia,
Japón, Rusia, Taiwán, Türkiye (Turquía), EAU, Ucrania y Vietnam
PrecioCualquier cantidad igual o mayor a 49 Robux$2.99, $4.99, $7.99, $9.99 o $14.99
Precios regionalesHabilitado por defectoNo disponible
Pagos70% de las ganancias de suscripción cada mes70% en el primer mes, luego 100% en meses posteriores

Crear suscripciones

Para crear una suscripción:

  1. Ve a tu juego en el Tablero de Creadores y selecciona MonetizaciónSuscripciones.
  2. Haz clic en Crear Suscripción.
  3. Sube una imagen de portada.
  4. Ingresa un nombre que sea único. No puedes tener dos suscripciones con el mismo nombre en el mismo juego.
  5. Ingresa una descripción que describa claramente los beneficios que estás ofreciendo.
  6. Selecciona una de las siguientes opciones de pago:
    • Los suscriptores pagan Robux: Cobrar a los usuarios la tarifa de suscripción recurrente en Robux. Si seleccionas esta opción, debes ingresar un precio personalizado mayor o igual a 49 Robux. Los precios regionales están habilitados por defecto para la suscripción y no se pueden desactivar.
    • Los suscriptores pagan en moneda local: Cobrar a los usuarios la tarifa de suscripción recurrente en su moneda local. Si seleccionas esta opción, debes elegir un precio de suscripción de uno de los 5 niveles de precios disponibles.
  7. Selecciona uno de los siguientes tipos de producto:
    • Duradero: Artículos permanentes que persisten después de su uso o adquisición, como artículos físicos como armas. Si una suscripción incluye un paquete de diferentes tipos de bienes, con uno o más de ellos duraderos, como un paquete de valor con una espada y una poción, elige Duradero como tipo de producto.
    • Consumible: Artículos temporales que se pueden volver a comprar y que expiran después de su uso o adquisición, como pociones consumibles que otorgan aumentos temporales que expiran con el tiempo.
    • Moneda: Cualquier medio de intercambio que los usuarios pueden usar para comprar artículos dentro de tu juego.
  8. Haz clic en Crear Suscripción.

Activar suscripciones

Puedes tener hasta 50 suscripciones por juego entre suscripciones activas e inactivas.

Para poner una suscripción a la venta, haz clic en junto a la suscripción que deseas activar y selecciona Activar. Las suscripciones activas están automáticamente disponibles para la venta en la pestaña Tienda de la página de detalles del juego y se pueden agregar a tu juego a través de las funciones de MarketplaceService.

Antes de activar tu suscripción por primera vez, debes confirmar una versión abreviada del nombre de tu juego. Este nombre corto se muestra al usuario cuando se suscribe y aparece junto al nombre de la suscripción que creaste en Crear suscripciones.

Estados de suscripción

Las suscripciones pueden tener dos estados posibles:

  • Activa: Las suscripciones activas están disponibles para la venta, y los suscriptores pueden renovar su suscripción al inicio del siguiente periodo.
  • Inactiva: Las suscripciones inactivas no están disponibles para la venta.

Para cambiar el estado de una suscripción, haz clic en en la esquina superior derecha del cuadro de la suscripción y selecciona Activar (si la suscripción está actualmente inactiva) o Retirar de la venta (si la suscripción está actualmente activa).

Si seleccionas Retirar de la venta, se te dará la opción de permitir que los suscriptores existentes renueven su suscripción o cancelar futuras renovaciones para los suscriptores actuales. Si no planeas eliminar permanentemente los beneficios asociados de tu juego, recomendamos que permitas que los suscriptores existentes renueven su suscripción.

Editar suscripciones

Los campos que puedes editar dependen del método de pago.

Campo editableSuscripciones vendidas en RobuxSuscripciones vendidas en moneda local
Imagen de portada
NombreNoNo
Descripción
Método de pagoSí (puede cambiar a moneda local)Sí (puede cambiar a Robux)
PrecioSí (una vez cada 60 días)No
Tipo de productoNoNo
Estado activo

Cambiar el método de pago solo afecta a las nuevas suscripciones. Los suscriptores existentes permanecen en su método de pago original y deben cancelar y volver a suscribirse para cambiar.

Eliminar suscripciones

Para eliminar una suscripción, haz clic en junto a la suscripción que deseas eliminar y selecciona Eliminar.

Eliminar una suscripción activa resulta en reembolsos completos para los suscriptores activos y cero Robux para ti. En la mayoría de las situaciones, si deseas eliminar una suscripción, te recomendamos que la retires de la venta primero, selecciones la opción de cancelar todas las renovaciones y esperes a que concluya el periodo actual.

Eliminar una suscripción requiere los últimos cuatro dígitos del ID de la suscripción para confirmación.

Integrar suscripciones en un juego

Verificar el estado de suscripción de un usuario

El siguiente ejemplo de código implementa la detección de suscripción en tu juego:


-- Ejecuta este código en el servidor
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local SUBSCRIPTION_ID = "EXP-11111111" -- Reemplaza con tu ID de suscripción
local function grantAward(player: Player)
-- Aquí deberías otorgar la recompensa asociada a la suscripción
end
local function revokeAwardIfGranted(player: Player)
-- Este método se llama para cada jugador que NO tiene la suscripción
-- Si tu código guarda suscripciones en Data Stores o proporciona algún beneficio que necesita ser "revocado"
-- deberías usar este método para manejar la revocación
end
local function checkSubStatus(player)
local success, response = pcall(function()
return MarketplaceService:GetUserSubscriptionStatusAsync(player, SUBSCRIPTION_ID)
end)
if not success then
warn(`Error al verificar si el jugador tiene suscripción: {response}`)
return
end
if response.IsSubscribed then
grantAward(player)
else
revokeAwardIfGranted(player)
end
end
local function onUserSubscriptionStatusChanged(player: Player, subscriptionId: string)
if subscriptionId == SUBSCRIPTION_ID then
checkSubStatus(player)
end
end
Players.PlayerAdded:Connect(checkSubStatus)
Players.UserSubscriptionStatusChanged:Connect(onUserSubscriptionStatusChanged)

Reemplazar un pase por una suscripción

Una opción para implementar suscripciones en tu juego es reemplazar un pase existente por una suscripción. Esta es una excelente opción si deseas implementar rápidamente suscripciones sin agregar nuevas características o recompensas.

Al reemplazar un pase por una suscripción, ten en cuenta lo siguiente:

  • Cualquier poseedor existente del pase debe continuar recibiendo el beneficio por el que pagó.
  • El pase debe retirarse de la venta para que los nuevos usuarios puedan comprar la suscripción en su lugar.
  • Las suscripciones pueden ser revocadas, lo que significa que si tu pase anteriormente persistió sus beneficios en un data store, necesitas "deshacer" estos beneficios. Esta consideración no se aplica a todas las implementaciones de pases, pero podría aplicarse a las más complejas.

El siguiente ejemplo de código reemplaza un pase por una suscripción:


-- Ejecuta este código en el servidor
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local LEGACY_GAME_PASS_ID = 1234 -- Reemplaza con el ID del pase que se reemplaza por una suscripción
local SUBSCRIPTION_ID = "EXP-11111111" -- Reemplaza con tu ID de suscripción
local function awardBenefit(player: Player)
-- Aquí deberías otorgar la suscripción
end
local function revokeBenefitIfGranted(player: Player)
-- Este método se llama para cada jugador que NO tiene la suscripción
-- Si tu código guarda suscripciones en Data Stores o proporciona algún beneficio que necesita ser "revocado"
-- deberías usar este método para manejar la revocación
end
local function checkSubscriptionStatus(player: Player)
local success, result = pcall(function()
return MarketplaceService:GetUserSubscriptionStatusAsync(player, SUBSCRIPTION_ID)
end)
if not success then
print(`Error al obtener el estado de la suscripción: {result}`)
return
end
if result.IsSubscribed then
awardBenefit(player)
else
revokeBenefitIfGranted(player)
end
end
local function onPlayerAdded(player: Player)
local success, result = pcall(function()
return MarketplaceService:UserOwnsGamePassAsync(player.UserId, LEGACY_GAME_PASS_ID)
end)
if not success then
print(`Error al obtener el estado del pase: {result}`)
return
end
if result then
-- Si el jugador ha comprado el pase legado, no necesitamos comprobar su estado de suscripción
-- ya que ha recibido el beneficio de por vida
awardBenefit(player)
return
end
checkSubscriptionStatus(player)
end
local function onUserSubscriptionStatusChanged(player: Player, subscriptionId: string)
if subscriptionId == SUBSCRIPTION_ID then
checkSubscriptionStatus(player)
end
end
local function onPromptGamePassPurchaseFinished(player: Player, purchasedPassID: number, purchaseSuccess: boolean)
if purchaseSuccess and purchasedPassID == LEGACY_GAME_PASS_ID then
awardBenefit(player)
end
end
Players.PlayerAdded:Connect(onPlayerAdded)
Players.UserSubscriptionStatusChanged:Connect(onUserSubscriptionStatusChanged)
-- Seguiremos escuchando compras de pases en caso de que el pase aún esté a la venta
MarketplaceService.PromptGamePassPurchaseFinished:Connect(onPromptGamePassPurchaseFinished)

Solicitar compras de suscripción

Los usuarios pueden comprar suscripciones directamente desde la pestaña Tienda de la página de detalles de tu juego, pero también deberías agregar una forma para que las compren dentro del juego.

Cuando solicitas una compra de suscripción, UserSubscriptionStatusChanged se activa si el jugador ya posee la suscripción, lo que ayuda a capturar escenarios en los que un jugador compra una suscripción desde la pestaña Tienda de la página de detalles de tu juego mientras ya está en el juego.

Aunque puedes solicitar una compra de suscripción desde el cliente, verificar si un usuario ya tiene una suscripción con GetUserSubscriptionStatusAsync debe hacerse desde el servidor.

El siguiente ejemplo de código crea un RemoteFunction que el cliente puede usar para solicitar el estado de una suscripción:


-- Este código debe ejecutarse en el servidor
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- Crea un RemoteFunction que el cliente puede usar para solicitar el estado de la suscripción
local getSubscriptionStatusRemote = Instance.new("RemoteFunction")
getSubscriptionStatusRemote.Name = "GetSubscriptionStatus"
getSubscriptionStatusRemote.Parent = ReplicatedStorage
getSubscriptionStatusRemote.OnServerInvoke = function(player: Player, subscriptionId: string)
assert(typeof(subscriptionId) == "string")
return MarketplaceService:GetUserSubscriptionStatusAsync(player, subscriptionId)
end

-- Este código debe ejecutarse en el cliente
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local SUBSCRIPTION_ID = "EXP-11111111" -- Reemplaza con tu ID de suscripción
local getSubscriptionStatusRemote = ReplicatedStorage:WaitForChild("GetSubscriptionStatus")
local purchaseSubscriptionButton = script.Parent.PromptPurchaseSubscription -- Reemplaza con tu botón
local function playerHasSubscription()
-- Nota: si tu suscripción reemplaza un pase, también deberás comprobar si el pase es propiedad aquí
local success, result = pcall(function()
return getSubscriptionStatusRemote:InvokeServer(SUBSCRIPTION_ID)
end)
if not success then
print(`Error al obtener el estado de la suscripción: {result}`)
return
end
return result.IsSubscribed
end
-- Oculta el botón si el jugador ya tiene la suscripción
local function hideButtonIfPlayerHasSubscription()
if playerHasSubscription() then
purchaseSubscriptionButton.Visible = false
end
end
local function onPromptSubscriptionPurchaseFinished(player: Player, subscriptionId: string, didTryPurchasing: boolean)
if didTryPurchasing then
-- Puede tardar un tiempo en registrarse la suscripción, así que verificaremos si la compra se ha realizado en 10 segundos
-- y ocultaremos el botón si ha sido así
task.delay(10, hideButtonIfPlayerHasSubscription)
end
end
-- Si el jugador ya tiene la suscripción, no queremos mostrar el botón en absoluto
hideButtonIfPlayerHasSubscription()
purchaseSubscriptionButton.Activated:Connect(function()
MarketplaceService:PromptSubscriptionPurchase(Players.LocalPlayer, SUBSCRIPTION_ID)
-- Si el jugador ya tiene la suscripción, oculta el botón
hideButtonIfPlayerHasSubscription()
end)
MarketplaceService.PromptSubscriptionPurchaseFinished:Connect(onPromptSubscriptionPurchaseFinished)

Otras funciones relevantes

Otras funciones relevantes disponibles en MarketplaceService son:

Gana con suscripciones

Para suscripciones fijadas en moneda local, ganas Robux a una tasa de US $0.01 por cada 1 Robux, de acuerdo con el precio base de la plataforma que seleccionaste, después de las tarifas de la plataforma. Ganas 70% del valor de la suscripción en el primer mes, y 100% a partir del segundo mes. Esta división de ingresos es consistente en todas las plataformas.

Por ejemplo, si tu suscripción mensual está fijada en USD $5:

  • Primer mes: Ganas 350 Robux (500 * 0.7 = 350)
  • Segundo mes en adelante: Ganas el monto total de 500 Robux (500 * 1.0 = 500)

Para suscripciones fijadas en Robux, ganas 70% del valor de la suscripción cada mes. Esta división de ingresos es consistente en todas las plataformas.

Por ejemplo, si tu suscripción mensual está fijada en 500 Robux:

  • Primer mes: Ganas 350 Robux (500 * 0.7 = 350)
  • Segundo mes en adelante: Continuas ganando 350 Robux (500 * 0.7 = 350)

Las ganancias de las suscripciones en moneda local están sujetas a un período de retención de 30 días y se agregarán a tu saldo de Robux después de que se haya entregado el término completo de la suscripción.

Las ganancias de las suscripciones en Robux siguen el mismo período de retención que los pases y productos de desarrollador, que es aproximadamente de 5 días.

Reembolsos

Para suscripciones en moneda local, si un usuario solicita un reembolso a través de su banco o tienda de aplicaciones dentro del período de retención de 30 días, la retención será cancelada y no recibirás el pago por esa transacción.

Los reembolsos recibidos fuera de la ventana de retención resultarán en que el monto del pago por la transacción reembolsada sea deducido de tu saldo de Robux. Si tu juego es propiedad de un Grupo y el saldo del Grupo es inferior al monto a deducir, el resto será deducido del saldo de Robux del Propietario del Grupo.

Cuando los usuarios cancelan o no renuevan sus suscripciones activas, no reciben automáticamente reembolsos. Deben solicitar reembolsos manualmente, los cuales se manejan caso por caso. Para más información sobre el proceso de reembolso de suscripciones de usuario, visita el centro de ayuda.

Pagos

Puedes encontrar tus pagos por suscripciones en Saldo de RobuxMis Transacciones.

Los pagos de Suscripciones y Suscripciones de Grupo aparecen bajo Robux Entrantes, mientras que los reembolsos se agrupan bajo Robux Salientes como un Reverso de Pago. Las subpáginas de suscripciones y suscripciones grupales proporcionan información adicional para sus respectivas categorías.

Para ver información de reembolsos para usuarios individuales, usa GetUserSubscriptionPaymentHistoryAsync.

Analítica de suscripciones

La analítica de suscripciones te ayuda a evaluar el éxito de suscripciones individuales, identificar tendencias y prever posibles ganancias futuras. Las suscripciones se agregan a la página de analítica de suscripciones después de la primera vez que se activan y no se eliminan cuando se desactivan o eliminan. Puedes acceder a análisis listos a través del Tablero de Creadores, o puedes capturar actualizaciones de suscripciones en tiempo real utilizando webhooks.

A través del Tablero de Creadores

Para acceder a la analítica de suscripciones en el Tablero de Creadores:

  1. Ve a tu página de Creaciones en el Tablero de Creadores y selecciona tu juego.
  2. Ve a MonetizaciónSuscripciones.
  3. Selecciona la pestaña Analítica.

La analítica de suscripciones rastrea los siguientes métricas:

  • Suscripciones: La cantidad total de suscripciones activas en tu juego.
  • Ingresos estimados: Los ingresos netos ganados por los juegos después de las tarifas. No incluye información de reembolsos.
  • Desglose de suscriptores: Los diferentes tipos de suscriptores.
    • Nuevos: La cantidad de compras de suscripción por suscriptores nuevos.
    • Renovados: La cantidad de suscripciones renovadas compradas en un periodo anterior.
    • Resucitados: La cantidad de nuevas suscripciones compradas por usuarios que previamente cancelaron.
  • Cancelaciones: La cantidad de suscripciones que no fueron renovadas. Esto incluye todas las cancelaciones independientemente del desencadenante, ya sea cancelación del usuario, desactivación de la suscripción por el creador o por otros medios.
    • Las cancelaciones son diferentes de los reembolsos. Las suscripciones canceladas son suscripciones que ya no se renovarán pero están pagadas completamente por el resto del ciclo de facturación, mientras que los reembolsos devuelven el monto de la suscripción pagada al usuario.
  • Suscripciones por plataforma: La cantidad de suscripciones compradas en cada plataforma.
  • Ganancias por plataforma: Los ingresos netos generados a través de suscripciones compradas en cada plataforma.

Esta información es visible en forma de gráficos basados en un rango de fechas en la pestaña Tendencias y como una lista completa de las suscripciones totales ofrecidas en la pestaña Historial.

A través de webhooks

La función de Webhook de la API de la Nube incluye desencadenadores para cuatro eventos de suscripción: cancelados, comprados, reembolsados y renovados. Estas notificaciones se activan inmediatamente, por lo que puedes responder en tiempo real o crear tus propias analíticas personalizadas. Para más información sobre cómo configurar un webhook, consulta Notificaciones de Webhook.

©2026 Roblox Corporation. Roblox, el logotipo de Roblox y "Powering Imagination" son algunas de nuestras marcas registradas y no registradas en los Estados Unidos y otros países.