Bonjour,
Les deux problèmes n'en font qu'un pour le paiement PayPal. L'événement purchase envoyé en JavaScript, celui que l'on voit dans le DebugView, n'est ajouté que sur la page de fin de commande de HikaShop, c'est à dire l'adresse ctrl=checkout avec la tâche after_end ou confirm. Comme après PayPal vous n'arrivez pas sur cette page mais sur une page d'erreur, l'événement n'a aucune chance de partir. Réglez la redirection et l'événement reviendra.
Sur la page blanche, votre log est clair : le paiement est bien passé côté PayPal, la capture est en statut COMPLETED et le plugin a bien relu la commande PayPal ensuite. Le problème se situe donc après, sur la redirection vers la page de remerciement, qui est de cette forme :
index.php?option=com_hikashop&ctrl=checkout&task=after_end&order_id=XX&order_token=YY
HikaShop n'affiche rien sur cette adresse dans deux cas : quand il ne retrouve pas la commande correspondant au order_id, et quand ni l'utilisateur connecté ni le order_token ne correspondent à cette commande. Pouvez-vous me donner l'URL exacte sur laquelle vous atterrissez ? Deux choses à regarder en particulier :
- le nom de domaine. Est-ce bien celui de votre environnement de développement ? HikaShop construit cette adresse à partir de la racine du site telle que Joomla la donne, et sur une copie de site le paramètre $live_site du fichier configuration.php pointe très souvent encore vers le site de production. Dans ce cas le client est renvoyé sur la production, où la commande n'existe pas, d'où la page qui n'est plus disponible.
- la présence de order_id et de order_token dans l'adresse.
Pour le virement bancaire maintenant, c'est un autre mécanisme. Au moment de la commande il est normal qu'aucun événement ne parte, puisque la commande n'est pas encore confirmée. Quand vous la confirmez dans le backend, l'événement purchase est envoyé de serveur à serveur, par le Measurement Protocol de Google, et ces événements là n'apparaissent pas dans le DebugView : celui-ci ne montre que ce qui est envoyé depuis le navigateur du visiteur. Regardez plutôt le rapport Temps réel de votre compte GA4, ou activez l'option Debug du plugin GA4, qui écrit dans le fichier de log de HikaShop le contenu exact envoyé à Google.
Deux réglages conditionnent cet envoi serveur, et ils valent la peine d'être vérifiés après votre manipulation sur les statuts :
- le champ "API secret" du plugin GA4 doit être rempli. Il se crée dans votre compte Google Analytics, dans Admin > Flux de données > votre flux > Measurement Protocol API secrets. S'il est vide, le plugin s'arrête là, sans aucun message.
- sur l'écran des statuts de commande, la case de la colonne "Facture" doit être cochée pour le statut confirmed, et le statut désigné comme statut de paiement confirmé doit être celui-ci également. C'est ce réglage, et non le nom du statut, qui déclenche l'envoi de l'événement. Ces deux cases ont très bien pu rester sur votre ancien statut testconfirmed.