Genera un plugin de suscripciones para WooCommerce
WooCommerce Subscriptions es el estándar de facturación recurrente en WC, y a 249$/año por un solo sitio deja fuera a muchas tiendas pequeñas. Si tu modelo de suscripción es sencillo — mensual o anual, un producto, renovación predecible — no necesitas todo el conjunto de funciones. Necesitas un plugin que cobre la tarjeta según un calendario, reintente si falla según una política tuya y muestre el estado en el admin.
Generar un plugin para esto te da una base de código que entiendes, con la lógica que encaja con tu negocio. Sin capas de abstracción multi-pasarela, sin hooks que no vas a usar. Solo un cron que corre según tu planificación, llama al proveedor de pago, actualiza el estado del pedido y dispara un webhook o email para que el resto de tu stack reaccione.
¿Por qué generarlo en vez de instalar un plugin existente?
La API de Stripe Billing resuelve casi toda la parte dura de las suscripciones del lado del proveedor — prorrateo, dunning, trials, facturación por uso — a través de su Customer Portal. Un plugin WordPress que envuelve Stripe Billing (o Paddle Billing, o Chargebee) y sincroniza el estado con pedidos WooCommerce suele ser de 300 líneas, no un plugin enterprise de 200 ficheros.
Si ya usas WooCommerce Subscriptions y te funciona, sigue. Si aún no lo has comprado, o estás montando un SaaS donde la tienda WP es una capa fina delante de Stripe, un plugin generado encaja mejor. Controlas timing de renovaciones, notificaciones, flujo de cancelación y modelo de datos.
Vemos tiendas pagando cientos de euros al año por dos features que realmente usan: renovación recurrente y cancelar desde mi cuenta. Ambas son asequibles en un plugin a medida. El resto de lo que ofrece WC Subscriptions (suscripciones de precio variable, renovaciones sincronizadas, cambio entre planes) se añade luego como hooks si el negocio crece hacia ahí.
Prompt de ejemplo
Este es el tipo de descripción que genera este plugin. Puedes partir de aquí y ajustar lo que necesites antes de generar.
Nombre del plugin: Acme Suscripciones Lite
Modelo: un producto por suscripción, cobro mensual o anual. Usa Stripe Billing (crea Customer, Price y Subscription vía API).
Flujo:
1. En la ficha de producto WC de tipo "subscription" (lo registramos), el botón de Añadir al carrito se convierte en "Suscribirse".
2. En checkout creamos Customer + Subscription en Stripe con el PriceID guardado. No hay cargo inicial en WC; deja la facturación a Stripe.
3. Endpoint webhook /acme-subs/v1/webhook escucha invoice.paid, invoice.payment_failed, customer.subscription.deleted. Actualiza un CPT "acme_subscription" con el estado.
Admin:
- Página "Suscripciones" con lista: cliente, estado, próximo cobro, importe, acciones (cancelar, pausar).
Cuenta del cliente:
- Pestaña "Mis suscripciones" con subs activas + cancelar a un clic.
Emails:
- Fallo de pago (desde webhook).
- Suscripción cancelada.
Compatible HPOS. Desinstalar borra el CPT y opciones pero NO las suscripciones en Stripe (las tienes que cancelar allí primero).Qué suele incluir el plugin generado
- Tipo de producto WC personalizado vía woocommerce_product_class
- SDK de Stripe Billing detrás de una clase de servicio — fácil de cambiar por Paddle o Chargebee
- Endpoint REST de webhook con verificación de firma
- CPT para registros de suscripción con tabla en admin
- Pestaña en Mi cuenta vía woocommerce_account_<endpoint>_endpoint
- Manejo idempotente del webhook usando IDs de evento guardados
- Compatibilidad y declaración HPOS
Pide Paddle en lugar de Stripe, periodo de prueba, intervalos distintos, flujo de reactivación o soporte de cupones — el plugin se adapta a lo que describas.
Preguntas frecuentes
¿Cómo se compara con WooCommerce Subscriptions?
WC Subscriptions es más amplio y está más rodado. Úsalo si necesitas features como renovaciones sincronizadas o cambio entre planes. El plugin generado gana cuando tu caso es más estrecho y quieres controlar el código.
¿Quién cobra las tarjetas — Stripe o mi sitio?
Stripe. Usamos su API de Billing, así que los datos de tarjeta nunca tocan tu servidor. El plugin reacciona a los webhooks para actualizar el estado en tu lado.
¿Gestiona pagos fallidos?
Sí. La política de reintentos vive en Stripe (configurable en su dashboard), el plugin sólo refleja el estado. Si falla definitivamente, el cliente recibe un email y la suscripción pasa a on-hold.
¿Y los impuestos y facturas?
Stripe Tax calcula y emite facturas. El plugin guarda un puntero a la URL de la factura en el registro de suscripción; los clientes la ven desde Mi cuenta.