使用信用卡付款后跟踪 cookie

时间:2021-06-09 15:19:02

标签: cookies payment

我开发了一个模块来在信用卡付款后跟踪 cookie,因为 Google Analytics 不会跟踪我网站上的所有订单。 我将 Tarteaucitron 服务用于 GDPR。 使用信用卡以外的所有付款,我都可以检索 cookie 的状态(真或假)。 对于信用卡付款,我没有任何反馈。

您知道为什么没有检索到 cookie 吗? 我可以使用另一个钩子来帮助我做我需要的事情吗?

感谢您的帮助。

我使用以下代码(基于钩子 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;
        }
    }
}

0 个答案:

没有答案