DEV Community

Alvaro Ayala C
Alvaro Ayala C

Posted on

Cómo crear un sistema de pago por minuto en PHP (caso real aplicado a streaming) con wordpress

Uno de los modelos de monetización más utilizados en plataformas de streaming es el pago por minuto.

En este artículo te voy a mostrar cómo implementar este sistema usando PHP dentro de WordPress, basado en un caso real donde se desarrolló una plataforma de transmisión en vivo.

¿Qué es un sistema de pago por minuto?

Es un modelo donde:

El usuario paga mientras consume el contenido
El saldo se descuenta automáticamente cada cierto tiempo
El creador recibe una parte del dinero

Este sistema es común en plataformas de:

Streaming en vivo
Consultorías online
Contenido premium
⚙️ Lógica básica del sistema

La implementación se basa en 3 elementos clave:

Saldo del usuario
Costo por minuto
Intervalo de descuento automático

Almacenamiento del saldo

En WordPress, el saldo se puede guardar usando user_meta:

add_user_meta($user_id, 'saldo_disponible', 0, true);

Esto permite manejar un sistema simple sin necesidad de tablas complejas.

Descuento automático por minuto

Cada minuto se ejecuta una función que descuenta saldo:

function descontar_saldo($user_id) {
$saldo = floatval(get_user_meta($user_id, 'saldo_disponible', true));

if ($saldo <= 0) return 0;

$nuevo = $saldo - 3000;
update_user_meta($user_id, 'saldo_disponible', $nuevo);

return $nuevo;
Enter fullscreen mode Exit fullscreen mode

}

Ejecución en tiempo real (AJAX)

Para ejecutar esto sin recargar la página:

setInterval(() => {
fetch('/wp-admin/admin-ajax.php', {
method: 'POST',
body: new URLSearchParams({
action: 'descuento_minuto'
})
});
}, 60000);

Esto permite descontar saldo automáticamente mientras el usuario está conectado.

Distribución de ganancias

En el caso real:

Usuario paga: 3000 COP por minuto
Creador recibe: 1500 COP (50%)
function sumar_ganancia_creador($user_id) {
$saldo = get_user_meta($user_id, 'saldo_disponible', true);
$nuevo = $saldo + 1500;
update_user_meta($user_id, 'saldo_disponible', $nuevo);
}

Validación de saldo antes de iniciar

Antes de permitir el acceso:

function tiene_saldo($user_id) {
$saldo = get_user_meta($user_id, 'saldo_disponible', true);
return $saldo >= 3000;
}

Esto evita accesos sin pago.

Aplicación real

Este tipo de sistema ya se utiliza en plataformas donde los usuarios acceden a contenido en tiempo real con pagos directos, combinando streaming, interacción y monetización.

Consideraciones importantes

Validar saldo constantemente
Evitar que el usuario siga conectado sin crédito
Sincronizar frontend y backend
Controlar errores en AJAX

Implementar un sistema de pago por minuto en PHP es más sencillo de lo que parece si se estructura correctamente.

Con herramientas nativas de WordPress y un poco de JavaScript, es posible crear modelos de monetización en tiempo real sin depender de servicios externos.

Top comments (1)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.