Tutoriales

Cómo fijar la fecha del primer pago en WooCommerce Subscriptions (guía completa del plugin First Payment Date)

Hoy vengo a hablaros de un plugin libre que tenemos publicado en el repositorio y que es nuestro segundo plugin libre más usado y descargado tras nuestro famoso plugin para Importar y Exportar Usuarios y Clientes (que a día de hoy es el estándar de facto para esa labor en este ecosistema). Este segundo plugin es First Payment Date for WooCommerce Subscriptions y bueno, por su nombre creo que entenderéis para qué sirve: para establecer fechas de pago fijas en WooCommerce Subscriptions.


El problema: WooCommerce Subscriptions trabaja con periodos, no con fechas

WooCommerce Subscriptions permite retrasar el primer cobro de una suscripción mediante el periodo de prueba (trial period): «1 mes gratis», «15 días gratis»… El problema es que un periodo de prueba es relativo al momento de la compra, no una fecha concreta.

Es decir, con WooCommerce Subscriptions puedes decir «un mes gratis», pero no puedes decir «esta suscripción empieza a cobrarse el 1 de enero, compre quien compre y cuando compre».

Y esa es justo la necesidad real de muchísimos negocios:

  • Cuotas de socios, clubes y asociaciones que empiezan siempre el 1 de enero.
  • Academias, gimnasios y escuelas cuyo curso arranca en septiembre.
  • Servicios facturados a mes natural, donde todo el mundo se cobra el día 1 (o el día 5, o el 15).
  • Preventas y reservas, donde el cliente compra hoy pero no se le cobra hasta la fecha de lanzamiento.

El plugin First Payment Date for WooCommerce Subscriptions resuelve exactamente eso: te deja indicar una fecha (fija o calculada) para el primer pago, y él se encarga de traducirla internamente al periodo de prueba en días que necesita WooCommerce Subscriptions.


Requisitos previos

  • WordPress (probado hasta la versión 7.0.3).
  • WooCommerce 3.0 o superior (probado hasta WooCommerce 11.0.0 cuando se ha escrito este post pero lo mantendremos a futuro, así que será compatible con cualquier versión de WooCommerce a futuro).
  • WooCommerce Subscriptions activo. Si no lo está, el plugin no hace nada y te muestra un aviso en el escritorio.
  • Compatible con HPOS (almacenamiento de pedidos en tablas propias), así que no tendrás avisos de incompatibilidad.

Instalación

  1. Instala First Payment Date for WooCommerce Subscriptions desde Plugins → Añadir nuevo, o subiendo el ZIP.
  2. Actívalo.
  3. Listo. No tiene página de ajustes: toda la configuración se hace producto a producto.

Aviso importante para productos nuevos: los campos del plugin sólo aparecen en productos de tipo Suscripción simple o Suscripción variable. Cuando creas un producto nuevo, WooCommerce lo trata como producto simple, así que guárdalo primero como suscripción y recarga la pantalla; entonces verán la luz los campos.


Configuración en una suscripción simple

Edita el producto y ve a Datos del producto → General. Debajo de los campos habituales de WooCommerce Subscriptions verás un nuevo bloque con el selector «Tipo de fecha del primer pago» con tres opciones:

Opción 1: «Usar el periodo de prueba estándar»

Es el valor por defecto. El plugin se aparta y WooCommerce Subscriptions funciona como siempre, con su campo de periodo de prueba clásico. Úsalo cuando de verdad quieras un «X días gratis» relativo a la compra.

Opción 2: «Fecha fija»

Aparece un campo de calendario donde eliges una fecha concreta (por ejemplo, 2027-01-01).

Qué ocurre a partir de ese momento:

  • Cuando un cliente añade el producto al carrito, el plugin calcula los días que faltan desde hoy hasta esa fecha y los aplica como periodo de prueba en días.
  • Los campos de periodo de prueba de WooCommerce Subscriptions se ocultan automáticamente y se ponen a cero, para que no haya duplicidades ni cálculos raros.
  • Si la fecha ya ha pasado, el periodo de prueba se calcula como 0 días: el cliente paga en el momento de la compra. Así, una fecha caducada nunca bloquea la venta ni genera errores.

Un detalle técnico que agradecerás: los cálculos se hacen usando la zona horaria de tu WordPress y fijando la hora a las 12:00, precisamente para evitar el clásico desfase de un día cuando alguien compra de madrugada o justo antes del cambio de día.

Opción 3: «Día calculado»

Aquí está la magia para las suscripciones recurrentes de calendario. En lugar de una fecha estática que tendrías que actualizar cada año, eliges una regla, y el plugin calcula la fecha en el momento de cada compra. En la versión gratuita tienes dos reglas:

  • Primer día del mes siguiente — el cliente que compre el 7 de marzo pagará el 1 de abril; el que compre el 28 de marzo, también el 1 de abril. Ideal para facturación a mes natural.
  • Primer día del año siguiente — perfecto para cuotas anuales de socio que arrancan siempre el 1 de enero.

Además, el plugin es lo bastante listo como para no romperse con los meses cortos: si la regla apunta a un día que no existe en el mes de destino (el 31 en febrero, por ejemplo), usa el último día real de ese mes en vez de saltarse el mes entero.

¿Necesitas más reglas? El día 15 del mes siguiente, el último día del mes, «el próximo día 10, sea de este mes o del que viene»… Estas opciones avanzadas están en la versión premium. Te las detallo más abajo, pero si ya sabes que las necesitas: Payment Schedule for WooCommerce Subscriptions.


Configuración en suscripciones variables

Si vendes una suscripción variable (por ejemplo, plan mensual / plan trimestral / plan anual), encontrarás los mismos campos dentro de cada variación, en la pestaña Variaciones.

Cada variación puede tener su propio tipo y su propia fecha, así que puedes montar combinaciones como:

  • Plan mensual → primer día del mes siguiente.
  • Plan anual → 1 de enero fijo.
  • Plan de prueba → periodo de prueba estándar.

Un punto a tener en cuenta: en la página de un producto variable, antes de que el cliente elija una variación, WooCommerce Subscriptions muestra los datos de la primera variación. El plugin lo compensa: cuando el cliente selecciona una variación concreta, la línea de «Primer pago: …» se actualiza dinámicamente a la fecha real de esa variación.

Edición masiva de variaciones

Si tienes un producto con 20 variaciones, no vas a editarlas una a una. En la pestaña Variaciones, en el desplegable de acciones masivas, el plugin añade un grupo «Fecha del primer pago» con la acción «Establecer fecha fija de primer pago».

La eliges, te pide la fecha en formato AAAA-MM-DD, y aplica a todas las variaciones: tipo fecha fija, la fecha indicada, y periodo de prueba a cero. Cuestión de segundos.

La edición masiva de la fecha de vencimiento (el último pago) es una función de la versión premium: ver Payment Schedule for WooCommerce Subscriptions.


Qué ve tu cliente

Aquí está una de las mejoras más importantes de las últimas versiones. Antes, un cliente veía algo así como «29,00 € / mes con 24 días de prueba gratis», que es una forma bastante confusa de comunicar «empiezas a pagar el 1 de abril».

Ahora, cuando un producto tiene fecha de primer pago configurada:

  • En la página de producto se muestra una línea clara del tipo «Primer pago: 1 de abril de 2027», en lugar del texto de prueba gratuita.
  • La fecha se formatea con el formato de fecha y el idioma configurados en tu WordPress.
  • En la lista de productos del escritorio, el precio de la suscripción se muestra acompañado de «con el primer pago el 1 de abril de 2027», para que de un vistazo sepas cómo está configurado cada producto.
  • En carrito y checkout, el cliente sigue viendo cuántos días tiene la suscripción sin coste hasta el primer cobro.

Suscripciones largas: hasta 730 días

WooCommerce Subscriptions limita por defecto la duración de los periodos expresados en días. Como este plugin traduce las fechas a días de prueba, ese límite sería un problema: una fecha a 10 meses vista son más de 300 días.

Por eso el plugin amplía el rango de periodos en días hasta 730 (dos años) en el escritorio. Así puedes fijar sin problemas una fecha de primer pago muy lejana en el tiempo.


Para desarrolladores: hooks disponibles

Por si quieres usarlos para extenderlo tú mismo (si quieres más hooks escríbenos y los incluimos):

  • fpdws_date_first_payment_calculated_options — filtro para añadir tus propias reglas de fecha calculada al desplegable. (Es exactamente el filtro que utiliza el complemento premium para inyectar sus decenas de opciones adicionales.)
  • fpdws_disable_add_to_cart_validation — devuelve true para desactivar la escritura de metadatos al añadir al carrito, si tu instalación tiene un flujo de compra particular.
  • fpdws_after_simple_subscription_product_options — acción para pintar tus propios campos tras los del plugin en suscripciones simples.
  • fpdws_after_variation_subscription_product_options — lo mismo, para variaciones.

Lo que la versión gratuita no cubre (y cómo resolverlo)

La versión gratuita responde muy bien a una pregunta: ¿cuándo se hace el primer cobro? Pero hay escenarios reales que necesitan controlar todo el calendario de pagos, de principio a fin. Eso es lo que aporta el complemento premium, Payment Schedule for WooCommerce Subscriptions, que se instala junto al gratuito y añade sus campos en las mismas pantallas.

Estas son las funciones que no están disponibles en la versión gratuita:

1. Fecha de vencimiento (fecha del último pago)

Igual que fijas la fecha de inicio, puedes fijar la fecha de fin: fija o calculada. El plugin calcula por ti cuántos pagos caben entre ambas fechas según el periodo e intervalo del producto, y ajusta la duración de la suscripción automáticamente.

Es la única forma limpia de montar el caso clásico: «la cuota va del 1 de enero al 31 de diciembre, pague usted cuando pague». → Ver la versión premium

2. Decenas de opciones de fecha calculada

La versión gratuita ofrece dos reglas. La premium genera dinámicamente el listado completo:

  • Cualquier día de este mes que aún no haya pasado (día 12, día 20, día 27…).
  • Cualquier día del mes siguiente (del 1 al 31, ajustado al mes real).
  • «El próximo día X», que resuelve solo: si el día 10 todavía no ha pasado este mes, será este mes; si ya pasó, será el mes que viene. Esta es la opción estrella para facturación a día fijo.
  • Último día del mes siguiente, último día de este año, último día del año siguiente.

Y todas ellas están disponibles tanto para la fecha de inicio como para la de vencimiento. → Ver todas las opciones de fechas calculadas

3. Previsualización del calendario de pagos

La versión premium añade una pestaña «Calendario de pagos» en la ficha del producto, donde ves antes de publicar exactamente qué pagos se harían si alguien comprase ahora mismo: cuántos, en qué fechas y por qué importe. En productos variables lo muestra desglosado variación por variación.

Es la mejor herramienta para detectar configuraciones erróneas antes de que las detecte un cliente. → Ver la versión premium

4. Mostrar el calendario de pagos a tus clientes

Con el shortcode [payment-schedule] (opcionalmente [payment-schedule product_id="123"]) puedes publicar ese mismo calendario en la ficha de producto o en cualquier página. Transparencia total para el cliente y menos consultas a soporte. → Ver la versión premium

5. Mensajes personalizados

WooCommerce Subscriptions genera textos automáticos que a veces suenan artificiales o directamente confusos. La versión premium permite sustituir por completo ese texto por el tuyo, producto a producto (y variación a variación), admitiendo incluso enlaces. → Personalizar los mensajes de WooCommerce Subscriptions

6. Prorrateo del primer pago en la cuota de alta

En lugar de regalar los días que van desde la compra hasta la fecha del primer pago, puedes cobrarlos proporcionalmente incluyéndolos en la cuota de alta (sign-up fee). El cálculo se hace según el periodo de la suscripción y los días restantes.

Con esto, un cliente que se suscribe el 20 de marzo a una cuota mensual que arranca el 1 de abril paga 11 días proporcionales por adelantado, en vez de tenerlos gratis. → Ver el prorrateo del primer pago

7. Preservar el calendario de facturación

Por defecto, WooCommerce Subscriptions calcula el siguiente cobro desde el momento en que se procesó el pago anterior. Si un pago se retrasa dos días, todo el calendario se desplaza dos días. La opción de preservar el calendario hace que la siguiente fecha se calcule desde la fecha prevista, no desde la real, manteniendo el día de cobro estable mes tras mes. → Ver la versión premium

8. Ocultar la duración en carrito y checkout

Una opción para que en los totales del carrito y del checkout se muestre sólo el importe recurrente y el intervalo, sin el «durante X meses» que en muchos negocios sobra o confunde. → Ver la versión premium


Preguntas frecuentes

No veo los campos del plugin en mi producto. Guarda primero el producto como Suscripción simple o Suscripción variable y recarga la página. WordPress crea los productos como «simples» por defecto, y los campos sólo se muestran en productos de suscripción.

¿Qué pasa si la fecha que puse ya ha pasado? El plugin la ignora y aplica un periodo de prueba de 0 días: el cliente paga en el acto. No se produce ningún error ni se bloquea la compra.

¿Y si uso una fecha calculada como «primer día del mes siguiente»? No tienes que mantener nada. La fecha se recalcula en cada compra, así que el producto sigue siendo correcto indefinidamente. Por eso, para cuotas recurrentes de calendario, las fechas calculadas son siempre mejor opción que las fijas.

Mi producto variable muestra la fecha equivocada antes de elegir variación. Es el comportamiento propio de WooCommerce Subscriptions, que muestra los datos de la primera variación. En cuanto el cliente selecciona una variación, la fecha se actualiza a la correcta.

¿Funciona con HPOS? Sí, el plugin declara compatibilidad con el almacenamiento de pedidos de alto rendimiento de WooCommerce.


Conclusión

Si vendes suscripciones con WooCommerce y necesitas que los cobros ocurran en fechas concretas y no «X días después de la compra», First Payment Date for WooCommerce Subscriptions cubre gratis lo esencial: fecha fija, fecha calculada, productos variables, edición masiva y un mensaje claro para el cliente.

Y cuando el negocio te pide controlar el calendario completo —fecha de vencimiento, decenas de reglas de cálculo, previsualización de pagos, mensajes propios, prorrateo y estabilidad del día de cobro—, el paso natural es Payment Schedule for WooCommerce Subscriptions, que amplía el gratuito sin cambiar nada de lo que ya tengas configurado.

Nota: Hay una valoración incrustada en esta entrada, por favor, visita esta entrada para valorarla.

Almacenamos las IPs desde la que se envían las valoraciones para evitar fraudes

Francisco Javier Carazo Gil

Entradas recientes

Cómo instalar pasarela en WPBookingCalendar

Aprende cómo instalar pasarela en WPBookingCalendar, configurar RedSys o Ceca, probar reservas y evitar errores…

hace % días

Mejor plugin de pagos para formularios WordPress

Encuentra el mejor plugin de pagos para formularios WordPress según tu formulario, pasarela y tipo…

hace % días

Pagos recurrentes en formularios WordPress

Aprende a implementar pagos recurrentes en formularios WordPress: suscripciones, tokenización, avisos y control operativo de…

hace % días

Cómo instalar Bizum en Gravity Forms sin errores

Aprende a instalar Bizum en Gravity Forms, configurar la pasarela bancaria y comprobar pagos, notificaciones…

hace % días

Ceca o RedSys para ecommerce: cuál elegir

¿Ceca o RedSys para ecommerce? Compara integración, operativa, costos y compatibilidad con WooCommerce para elegir…

hace % días

Instalación profesional de pasarelas WordPress

La instalación profesional de pasarelas WordPress asegura cobros fiables con RedSys, Ceca o Bizum, configuración…

hace % días