Jump to content

Comment tracker les cookies après un paiement par CB


Recommended Posts

Bonjour,

J'ai développé un module de suivi des cookies après le paiement CB car Google Analytics ne suit pas toutes les commandes passées sur mon site.
J'utilise le service Tarteaucitron (cookies) pour le RGPD.
Tous les paiements qui sont effectués autrement qu'avec CB, je peux récupérer l'état des cookies (vrai ou faux).
Par contre, pour les paiements effectués par CB, je n'ai aucune information sur les cookies.

Avez-vous une idée de la raison pour laquelle les cookies ne sont pas récupérés ?
Existe-t-il un autre hook que je peux utiliser et qui pourrait m'aider à faire ce dont j'ai besoin ?

J'utilise le code suivant (basé sur le hook actionObjectOrderAddAfter) :

public function hookActionObjectOrderAddAfter($params)
    {
        $payment = $params['object']->payment;
        $date_add = $params['object']->date_add;
        $total_paid_tax_incl = $params['object']->total_paid_tax_incl;
        $reference = $params['object']->reference;

        $rgpd = isset($_COOKIE['tarteaucitron']) && !empty($_COOKIE['tarteaucitron']) ? $_COOKIE['tarteaucitron'] : 'N/D';

        $sql_select = 'SELECT id_order FROM `' . _DB_PREFIX_ . 'orders` WHERE `reference` = "'.$reference.'"';
        $id_order = Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue($sql_select);
        
        $sql = array();

        $sql[] = 'INSERT INTO `' . _DB_PREFIX_ . 's2m_trackingpaiement` (`id_order`, `reference`, `total_paid_tax_incl`, `rgpd`, `payment`, `date_add`, `hook`)
        VALUES ("'.$id_order.'", "'.$reference.'", "'.$total_paid_tax_incl.'", "'.$rgpd.'", "'.$payment.'", "'.$date_add.'", "actionObjectOrderAddAfter")';

        foreach ($sql as $query) {
            if (Db::getInstance()->execute($query) == false) {
                return false;
            }
        }
    }

Merci pour votre aide.

Share this post


Link to post
Share on other sites

si le client a payé en banque, la réponse de la banque déclenche la validation de commande et la banque n'a pas de cookies.

Si le client ne revient pas vous n'aurez plus sa trace.

Share this post


Link to post
Share on other sites

Merci @Eolia pour votre réponse rapide.

C'est bien ce qu'il me semblait.

Toutefois, ce qui est étrange, c'est qu'avec la méthode hookActionObjectOrderAddAfter(), j'arrive bien à récupérer toutes les informations hormis ces données de cookies.
Auriez-vous connaissance d'une méthode d'action équivalente avant le paiement qui me permettrait de récupérer les cookies.
Et dans ce cas, je pourrais peut-être comparer les données avant paiement et après paiement et ainsi avoir toutes les données dont j'ai besoin.

Edited by Rudy69 (see edit history)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More