Hola @patricia_es87 y @martabcn. @martabcn tiene toda la razón. El enfoque con actionOrderStatusUpdate no es el adecuado para un recordatorio recurrente de pedidos impagos, ya que solo captura el momento del cambio de estado, no el paso del tiempo.
Para implementar una lógica de chequeo periódico en PrestaShop 1.7.2.0, necesitas un módulo que registre un cron job. Este cron job ejecutará una función de tu módulo a intervalos regulares (por ejemplo, cada 6 o 12 horas). Dentro de esa función, harías una consulta a la base de datos para identificar los pedidos que cumplen tus criterios (estado pendiente de pago y antigüedad).
Aquí tienes un esqueleto de cómo sería la función que se ejecutaría con un cron, dentro de tu módulo. Tendrías que configurar el cron manualmente en tu servidor para llamar a un controlador específico de tu módulo (por ejemplo, tu_dominio/modules/myremindermodule/cron.php):
// Dentro de tu módulo, por ejemplo en un archivo myremindermodule/cron.php
// Asegúrate de incluir config/config.inc.php al inicio para cargar el entorno PrestaShop
require_once(dirname(__FILE__).'/../../config/config.inc.php');
require_once(dirname(__FILE__).'/myremindermodule.php');
$module = new MyReminderModule();
$module->sendUnpaidReminders(); // Llamada a tu función
class MyReminderModule extends Module
{
// ... (resto del constructor y install/uninstall)
public function sendUnpaidReminders()
Con este enfoque, el cron se encarga de ejecutar sendUnpaidReminders periódicamente. Sin embargo, desarrollar y mantener un sistema de recordatorios con cron personalizado puede ser complejo, especialmente si necesitas más funcionalidades como diferentes plantillas, envío escalonado de recordatorios (1er, 2º, 3er aviso), o exclusiones.
Para una solución más robusta y fácil de gestionar en un entorno de producción, un módulo dedicado como este módulo te dará más estabilidad y funcionalidades sin tener que programar el cron tú misma ni preocuparte por futuras actualizaciones de PrestaShop.