Mode Test
Le mode test vous permet d'exécuter l'intégralité de votre séquence de rappels sur de vraies commandes en attente sans contacter vos clients ni modifier vos données de production.
Disponible depuis la v1.0.3
Tous les emails sont envoyés vers une adresse unique que vous contrôlez, les commandes ne sont jamais annulées, et le compteur d'envois est intentionnellement figé afin que vous puissiez répéter le même test autant de fois que nécessaire.
Vue d'ensemble
Lorsque vous installez Order Payment Reminders Pro pour la première fois, le mode test est activé par défaut. C'est intentionnel : le module est prêt à traiter les commandes, mais rien n'est envoyé à vos clients tant que vous n'avez pas vérifié chaque étape et basculé explicitement en mode production.
Lorsque le mode test est actif, la tâche cron traite les commandes exactement comme en production — elle évalue les planifications, compose le contenu des emails et applique toutes vos variables personnalisées — mais avec trois différences essentielles :
- Chaque email de rappel sortant est redirigé vers votre adresse de test configurée, et non vers l'adresse du client.
- Les commandes qui auraient dû être annulées (en raison des règles d'annulation automatique) ne le sont pas. L'exécution cron consigne ce qu'elle aurait fait, mais n'effectue aucune action.
- L'enregistrement « dernier message envoyé » pour chaque commande n'est pas mis à jour. Cela signifie que le même message de rappel sera envoyé à chaque exécution cron pendant les tests, vous permettant d'inspecter chaque message plusieurs fois sans avoir besoin de nouvelles commandes impayées.
L'email de synthèse administrateur (le résumé quotidien des commandes proches de l'annulation) est un rapport interne adressé à vous, pas aux clients. Il est toujours envoyé à l'adresse du destinataire de la synthèse que vous avez définie, que le mode test soit activé ou non.
Configuration
Activer le mode test et définir votre adresse de test
- Allez dans Modules > Gestionnaire de modules, trouvez Order Payment Reminders Pro et cliquez sur Configurer.
- Faites défiler jusqu'à la section Mode Test (ou cliquez sur la carte Mode Test depuis la vue d'ensemble).
- Confirmez que Activer le mode test est sur Oui. C'est la valeur par défaut après l'installation.
- Saisissez votre propre adresse email dans Adresse email de test. Tous les emails de rappel seront envoyés ici au lieu d'être envoyés aux clients. Le champ utilise par défaut l'email administrateur de votre boutique.
- Choisissez un mode Sortie de test :
- Email (par défaut) — l'exécution cron envoie de vrais emails à l'adresse de test. Utilisez ce mode pour vérifier la livraison et la mise en forme.
- Écran — l'exécution cron affiche un journal de traitement détaillé dans le navigateur au lieu d'envoyer des emails. Utilisez ce mode pour suivre quelles commandes sont détectées, quels messages seraient envoyés et quelles commandes seraient annulées.
- Cliquez sur Enregistrer.
Une bannière d'information bleue apparaît en haut de la page de configuration du module chaque fois que le mode test est actif, confirmant qu'aucun client n'est contacté en production.
Envoyer un email de vérification ponctuel
Le tableau de bord de configuration inclut un bouton dédié Envoyer un email de test (Étape 4 — Tester et vérifier), distinct du flux de test basé sur le cron décrit ci-dessus. Utilisez-le pour confirmer que PrestaShop est capable d'envoyer des emails avant d'exécuter le test cron complet.
- Dans le back-office, allez dans Modules > Gestionnaire de modules > Order Payment Reminders Pro > Configurer.
- Le tableau de bord s'ouvre par défaut. Dépliez Étape 4 — Tester et vérifier (il s'ouvre automatiquement une fois les étapes 1 à 3 terminées).
- Saisissez l'adresse email à laquelle vous souhaitez recevoir l'email de test.
- Cliquez sur Envoyer un email de test.
- Vérifiez votre boîte de réception. L'email contient un lien Vérifier la livraison des emails. Cliquez dessus pour marquer votre configuration comme vérifiée.
Ce bouton envoie un seul email de vérification via le système de messagerie de PrestaShop. Il n'interagit pas avec la logique de rappel cron et ne nécessite aucune commande impayée dans votre boutique.
Passer en mode production
Lorsque vous êtes satisfait de votre configuration :
- Retournez dans Modules > Gestionnaire de modules > Order Payment Reminders Pro > Configurer.
- Faites défiler jusqu'à la section Mode Test.
- Réglez Activer le mode test sur Non.
- Cliquez sur Enregistrer.
À partir de l'exécution cron suivante, les emails de rappel seront envoyés aux adresses réelles des clients, les commandes seront annulées selon vos règles d'annulation automatique, et le statut d'envoi de chaque commande sera mis à jour de sorte que chaque message ne soit envoyé qu'une seule fois.
Après avoir désactivé le mode test, les commandes traitées pendant les tests seront considérées comme si aucun rappel n'avait été envoyé — car le statut d'envoi n'a jamais été mis à jour pendant les tests. La première exécution cron en production évaluera chaque commande de zéro et enverra le rappel approprié selon votre planification.
Référence des paramètres
| Paramètre | Valeurs | Par défaut | Description |
|---|---|---|---|
| Activer le mode test | Oui / Non | Oui (à l'installation) | Lorsque activé, toutes les protections du mode test sont en vigueur : redirection des emails, suppression des annulations et gel du statut d'envoi. |
| Adresse email de test | Toute adresse email valide | Email administrateur de la boutique | Tous les emails de rappel sont envoyés à cette adresse tant que le mode test est actif. N'affecte pas l'email de synthèse administrateur. |
| Sortie de test | Email / Écran | Contrôle où apparaissent les résultats des tests. Email envoie vers l'adresse de test. Écran affiche le journal de traitement dans le navigateur lorsque l'URL cron est ouverte directement. |
Fonctionnement
Lorsque la tâche cron s'exécute avec le mode test actif, elle lit le paramètre wr_test_mode au début de chaque cycle de traitement. À partir de ce moment, chaque commande est traitée avec les modifications suivantes :
Redirection des emails — Au lieu de rechercher l'adresse email du client, le module utilise l'adresse stockée dans wr_test_email. L'email est entièrement rendu avec toutes les variables substituées exactement comme en production, de sorte que ce que vous recevez dans votre boîte de test est un aperçu fidèle de ce que le client verrait.
Suppression des annulations — Lorsqu'une commande dépasse l'échéance d'annulation automatique, le module ignore l'annulation effective. Si Sortie de test est réglé sur Écran, il affiche une ligne Direct Cancel Order pour chaque commande qui aurait été annulée, vous permettant de vérifier que la logique est correcte.
Gel du statut d'envoi — Après l'envoi d'un email de test, l'appel updateLastMessageSent() est ignoré. L'enregistrement de rappel de la commande dans la base de données n'est pas mis à jour. Cela signifie que la même commande se requalifiera à l'exécution cron suivante, ce qui est exactement le comportement souhaité pendant les tests.
Mode de sortie écran — Lorsque la sortie de test est réglée sur Écran et que vous ouvrez l'URL cron dans votre navigateur, le contrôleur affiche un journal ligne par ligne : le nombre de commandes trouvées, le résultat du traitement pour chaque commande (message envoyé, commande qui aurait été annulée, commande déjà au dernier message), et un séparateur entre les commandes. Aucun email n'est envoyé dans ce mode.
Interaction avec chaque type d'email
| Type d'email | Mode test ACTIVÉ | Mode test DÉSACTIVÉ |
|---|---|---|
| Emails de rappel (côté client) | Redirigés vers l'adresse de test | Envoyés au client |
| Notification d'annulation automatique (annulation par message) | Supprimée — le cron consigne l'annulation en mode Écran | Commande annulée, client notifié |
| Annulation automatique globale (paramètre de jours d'annulation) | Supprimée — le cron consigne l'annulation en mode Écran | Commande annulée |
| Email de synthèse administrateur | Toujours envoyé au destinataire de la synthèse — non affecté par le mode test | Toujours envoyé au destinataire de la synthèse |
Exécuter le cron en mode test
Une fois le mode test configuré, déclenchez l'URL cron manuellement depuis votre navigateur ou via un terminal pour le voir en action :
- Copiez l'URL cron depuis la section Configuration Cron de la configuration du module.
- Ouvrez l'URL dans votre navigateur (ou exécutez-la avec
curl). - Si Sortie de test est réglé sur Écran, vous verrez un journal ligne par ligne : le nombre de commandes trouvées, le message que chaque commande recevrait, et les commandes qui seraient annulées.
- Si Sortie de test est réglé sur Email, vérifiez la boîte de test que vous avez configurée. Chaque commande éligible génère un email de rappel envoyé à cette adresse.
Consultez Configuration Cron pour les instructions sur la recherche et la planification de l'URL cron.
Exemples d'utilisation
Exemple : Vérification de la configuration initiale
Vous venez d'installer le module et avez créé deux messages de rappel : un envoyé après 2 jours et un suivi envoyé après 5 jours. Le mode test est activé. Vous ouvrez l'URL cron dans votre navigateur avec la sortie de test réglée sur Email. Trois commandes impayées sont trouvées. Vous recevez six emails de test dans votre boîte — deux par commande, puisque les deux messages sont évalués à chaque fois. Les lignes d'objet et la substitution des variables semblent correctes. Vous cliquez sur le lien de vérification dans le tableau de bord de l'étape 4, ce qui marque votre configuration comme vérifiée. Vous réglez ensuite Activer le mode test sur Non et le module passe en mode production.
Exemple : Débogage d'un problème de mise en forme
Une variable personnalisée {shop_phone} affiche la clé de configuration brute au lieu de sa valeur dans l'un de vos messages de rappel. Vous passez la sortie de test sur Écran et ouvrez l'URL cron. Le journal de traitement affiche le contenu exact du message envoyé pour chaque commande, rendant immédiatement visible la substitution manquante. Vous corrigez la définition de la variable, repassez en sortie Email et confirmez que la correction s'affiche correctement avant d'enregistrer.
Exemple : Prévisualiser un nouveau modèle sans perturber les clients
Vous souhaitez remplacer votre modèle d'email actuel par l'un des 14 modèles pré-conçus. Vous activez le mode test (s'il était désactivé), appliquez le nouveau modèle et déclenchez une exécution cron. L'email de test arrive dans votre boîte avec le rendu complet incluant les variables spécifiques à la commande. Une fois la mise en page approuvée, vous désactivez le mode test.
Remarques importantes
- Le mode test est global — il s'applique à toutes les boutiques dans une configuration multi-boutiques. Il n'existe pas de mode test par boutique.
- Le gel du statut d'envoi est intentionnel. Comme le statut n'est pas mis à jour pendant les tests, les mêmes commandes produiront les mêmes emails à chaque exécution de test. Cela vous permet de répéter les tests sans avoir besoin de nouvelles commandes impayées à chaque fois.
- Si des commandes possèdent un enregistrement « dernier message envoyé » provenant d'une exécution en production antérieure, ces commandes ne recevront pas à nouveau ce même message pendant les tests. Le mode test ne fait que geler les nouvelles mises à jour ; il ne réinitialise pas les enregistrements existants.
- La synthèse administrateur ignore le mode test. Si vous souhaitez supprimer la synthèse pendant les tests, désactivez-la séparément dans la section Synthèse administrateur.
- Le bouton Envoyer un email de test de l'étape 4 est indépendant du mode test. Il envoie toujours vers l'adresse que vous saisissez dans le champ de saisie de l'étape 4 — il n'est pas redirigé via le paramètre d'adresse email de test et n'interagit pas avec la logique cron.
Dépannage
| Problème | Solution |
|---|---|
| Les emails de test n'arrivent pas | Vérifiez la configuration email de votre PrestaShop via Paramètres avancés > E-mail. Utilisez le bouton Envoyer un email de test de l'étape 4 pour confirmer la livraison de base avant d'exécuter le cron. |
| La sortie Écran est vide lors de l'ouverture de l'URL cron | Vérifiez que l'URL cron inclut le paramètre key= ou token= correct. Un token invalide ou manquant provoque la fermeture silencieuse du contrôleur. Si l'URL est valide mais qu'aucune commande n'existe avec le statut en attente de paiement, le cron affiche « No unpaid bankwire orders » et s'arrête. |
| Les emails sont envoyés aux vrais clients alors que le mode test semble activé | Confirmez que vous avez enregistré après avoir activé le mode test — cliquez sur Enregistrer et recherchez la bannière d'information bleue en haut de la page, qui confirme que le mode test est actif. |
| Les mêmes commandes réapparaissent à chaque exécution cron | C'est le comportement attendu pendant les tests. Le statut d'envoi est intentionnellement gelé. Après le passage en mode production, le statut se met à jour normalement et chaque message n'est envoyé qu'une seule fois. |
| La synthèse administrateur continue d'être envoyée pendant les tests | C'est le comportement correct. La synthèse est un rapport administrateur interne et n'est pas supprimée par le mode test. Pour l'arrêter pendant les tests, désactivez-la dans la section Synthèse administrateur. |
| Le mode test était activé pendant plusieurs exécutions cron — les commandes recevront-elles des messages en double lors du passage en production ? | Non. Comme le statut d'envoi était gelé, le module évalue chaque commande comme si aucun message n'avait été envoyé. La première exécution cron en production envoie le message correct en fonction de l'ancienneté de la commande et de votre planification. |
Foire aux questions
L'activation du mode test affecte-t-elle les commandes qui ont déjà reçu des rappels avant l'activation ?
Non. Le mode test ne modifie que ce qui se passe pendant une exécution cron — les emails sont redirigés et les mises à jour de statut sont supprimées. Les enregistrements créés avant l'activation du mode test restent inchangés.
Puis-je définir un email de test différent par boutique dans une configuration multi-boutiques ?
Non. L'adresse email de test et le bouton d'activation du mode test sont des paramètres globaux qui s'appliquent à toutes les boutiques. Il n'existe pas de surcharge par boutique.
Pourquoi l'email de synthèse administrateur est-il toujours envoyé au vrai destinataire même en mode test ?
La synthèse est un rapport destiné aux administrateurs, pas une communication client. Elle est intentionnellement exclue de la redirection du mode test afin que vous puissiez vérifier qu'elle fonctionne correctement pendant votre configuration.
Que se passe-t-il avec les règles d'annulation automatique lorsque le mode test est activé ?
Les commandes qui ont dépassé l'échéance d'annulation ne sont pas annulées. En mode de sortie Écran, le cron affiche une ligne "Direct Cancel Order" pour chaque commande qu'il aurait annulée, vous permettant de vérifier que la logique est correcte sans modifier aucune commande.
La sortie "Écran" n'affiche rien — est-ce normal ?
Si aucune commande impayée n'existe dans votre boutique pour les modules de paiement configurés, le cron affiche un court message et s'arrête. Vous avez besoin d'au moins une commande avec le statut en attente de paiement pour que le module traite quelque chose.
J'ai désactivé le mode test mais la bannière bleue s'affiche toujours.
La bannière lit la valeur de configuration enregistrée. Assurez-vous d'avoir cliqué sur Enregistrer après avoir basculé le commutateur. Actualisez la page après l'enregistrement et la bannière devrait disparaître.
Le bouton "Envoyer un email de test" de l'étape 4 utilise-t-il l'adresse email de test que j'ai configurée ?
Non. Le bouton Envoyer un email de test envoie vers l'adresse que vous saisissez directement dans le champ de saisie de l'étape 4. Il est indépendant du paramètre d'adresse email du mode test et du bouton d'activation du mode test.
Si j'oublie de désactiver le mode test et que le cron s'exécute pendant la nuit, que dois-je faire ?
Désactivez simplement le mode test et enregistrez. Comme le statut d'envoi n'a jamais été mis à jour pendant les exécutions de test, le module évaluera chaque commande de zéro lors de la prochaine exécution cron en production et enverra le rappel correct en fonction de l'ancienneté de chaque commande et de votre planification.