–Hidden comment

Use attributes in format region_from and region_to= to change the languages showing in language switcher.
Available regions are:
europe_from europe_to
asia_from asia_to
mideast_from mideast_to
america_from america_to

Example:
europe_from=0 europe_to=22 will put all languages (ordered in language switcher settings) from 1 to 21 to Europe region:
asia_from=22 asia_to=25 will put all languages from 23 to 24 (so only 2) into Asia region.

osCommerce

Un programme de boutique en ligne gratuit comprenant l’historique des commandes, des paniers d’achat, une fonction de recherche complète, des avis sur les produits, des transactions sécurisées, des listes de best-sellers et des éléments connexes.

L’intégration avec osCommerce se fait en plaçant le script de suivi des ventes dans la page de confirmation. Pour obtenir les valeurs de OrderID et TotalSale, le snippet se connecte à la base de données osCommerce et y récupère les valeurs.

Recherchez le fichier checkout_success.php

Recherchez et ouvrez le fichier checkout_success.php dans les fichiers sources d’osCommerce.

Repérez le bon endroit pour l’intégration

Dans le fichier, trouvez cette ligne :

if ($global['global\_product\_notifications'] != '1') {...

il doit être quelque part après cette ligne :

<! DOCTYPE ........>

Ajoutez le code d’intégration

Insérez le code suivant juste au-dessus de cette ligne :

  //--------------------------------------------------------------------------
   // integration code
   //--------------------------------------------------------------------------
   // get order id
   $sql = "select orders_id from ".TABLE_ORDERS.
          " where customers_id='".(int)$customer_id.
          "' order by date_purchased desc limit 1";
   $pap_orders_query = tep_db_query($sql);
   $pap_orders = tep_db_fetch_array($pap_orders_query);
   $pap_order_id = $pap_orders['orders_id'];

   // get total amount of order
   $sql = "select value from ".TABLE_ORDERS_TOTAL.
          " where orders_id='".(int)$pap_order_id.
          "' and class='ot_subtotal'";
   $pap_orders_total_query = tep_db_query($sql);
   $pap_orders_total = tep_db_fetch_array($pap_orders_total_query);
   $pap_total_value = $pap_orders_total['value'];

   //get product ids
    $sql = "select products_id from " .TABLE_ORDERS_PRODUCTS.
          " where orders_id=".(int)$pap_order_id;
    $pap_orders_products_query = tep_db_query($sql);
    $pap_orders_products = '';
    while ($row = tep_db_fetch_array($pap_orders_products_query)) {
        $pap_orders_products .= $row['products_id'] . ',';
    }
    $pap_orders_products = substr($pap_orders_products, 0, -1);

   // draw invisible image to register sale
   if($pap_total_value != "" && $pap_order_id != "")
   {
      print '<script id="pap_x2s6df8d" src="https://URL_TO_PostAffiliatePro/scripts/trackjs.js" type="text/javascript"></script>
'."<script type=\"text/javascript\">PostAffTracker.setAccountId('Account_ID');
var sale = PostAffTracker.createSale();
sale.setTotalCost('$pap_total_value');
sale.setOrderID('$pap_order_id');
sale.setProductID('$pap_orders_products');

PostAffTracker.register();
</script>";
   }
   //--------------------------------------------------------------------------
   // END of integration code
   //--------------------------------------------------------------------------

L’intégration est terminée

Il est maintenant intégré. Chaque fois que le client entre dans la page de confirmation de la commande, le code de suivi est appelé et il enregistre une vente pour l’affilié référent.

Autre intégration

Si vous envisagez de diviser les produits en plusieurs campagnes, vous aurez probablement besoin d’une autre intégration, qui divisera l’ensemble de la vente en ventes de produits individuels.

//--------------------------------------------------------------------------
   // integration code
   //--------------------------------------------------------------------------
   // get order id
   $sql = "select orders_id from ".TABLE_ORDERS.
          " where customers_id='".(int)$customer_id.
          "' order by date_purchased desc limit 1";
   $pap_orders_query = tep_db_query($sql);
   $pap_orders = tep_db_fetch_array($pap_orders_query);
   $pap_order_id = $pap_orders['orders_id'];

    //get variables for script
    $sql = "select products_id,products_price,products_quantity from " .TABLE_ORDERS_PRODUCTS.
          " where orders_id=".(int)$pap_order_id;
    $pap_products_total_query = tep_db_query($sql);
    $k = 0;
    while ($row = tep_db_fetch_array($pap_products_total_query)) {
        $pap_products_total[$k+1] = $row['products_price'] * $row['products_quantity'];
        $pap_products[$k+1] = $row['products_id'];
        $k++;
    }

    // draw invisible image to register sale
    if($pap_order_id != "")
    {

    ?>
    <script id="pap_x2s6df8d" src="https://URL_TO_PostAffiliatePro/scripts/trackjs.js" type="text/javascript"></script>
    <script type="text/javascript">
 PostAffTracker.setAccountId('Account_ID');    <?php
     for ($j=1; $j<=$k; $j++){
      echo "var sale".$j." = PostAffTracker.createSale();\n".
           "sale".$j.".setTotalCost('". $pap_products_total[$j]."');\n".
           "sale".$j.".setOrderID('".$pap_order_id."');\n".
           "sale".$j.".setProductID('".$pap_products[$j]."');\n\n";
     }
    ?>
    
    PostAffTracker.register();
    </script>;
    <?php
    }
   //--------------------------------------------------------------------------
   // END of integration code
   //--------------------------------------------------------------------------

Intégration directe de PayPal avec osCommerce

Si vous voulez vous fier à l’IPN de PayPal (car il est sécurisé et 100% sûr que la transaction sera enregistrée), vous pouvez modifier directement le modèle de bouton PayPal dans osCommerce. Connectez-vous à votre FTP et naviguez vers catalog/includes/modules/payment/ et éditez le fichier paypal_standard.php.

Recherchez la fonction process_button et faites défiler jusqu’à la fin de celle-ci. Vous devriez trouver ce bloc de code :

} else {
    reset($parameters);
    while (list($key, $value) = each($parameters)) {
      $process_button_string .= tep_draw_hidden_field($key, $value);
    }
 }

  return $process_button_string;

// --------------------------------------------
// change this whole block of code to this block:

} else {
        reset($parameters);
        while (list($key, $value) = each($parameters)) {
          if ($key == "custom") {
            $tofix = tep_draw_hidden_field($key, $value);
            $process_button_string .= substr($tofix,0,-1) .' id="pap_ab78y5t4a" >';
          }
          else {
            $process_button_string .= tep_draw_hidden_field($key, $value);
          }
        }
      }

      $process_button_string .= '<script type="text/javascript">';
      $process_button_string .= 'document.write(unescape("%3Cscript id=%27pap_x2s6df8d%27 src=%27" + (("https:" == document.location.protocol) ? "https://" : "http://") + "URL_TO_PostAffiliatePro/scripts/trackjs.js%27 type=%27text/javascript%27%3E%3C/script%3E"));';
      $process_button_string .= '</script><script type="text/javascript">PostAffTracker.setAccountId(\'default1\');';
      $process_button_string .= 'PostAffTracker.setAppendValuesToField(\'||\');';
      $process_button_string .= 'PostAffTracker.writeCookieToCustomField(\'pap_ab78y5t4a\');</script>';

      return $process_button_string;

Cela ajoutera le script de suivi directement au bouton paypal et insérera la valeur appropriée dans le paramètre personnalisé.

Maintenant, vous devez renvoyer l’IPN d’osCommerce à PAP également. Voir l’étape suivante.

Redirection de PayPal vers PAP

Lorsqu’il y a une vente, PayPal envoie un IPN à votre osCommerce. Vous devez le renvoyer à PAP pour enregistrer la transaction. Naviguez vers catalog/ext/modules/payment/paypal/ dans votre FTP et modifiez le fichier standard_ipn.php. Insérez le code suivant au début du fichier :

 $ch = curl_init();
 curl_setopt($ch, CURLOPT_URL, "https://URL_TO_PostAffiliatePro/plugins/PayPal/paypal.php");
 curl_setopt($ch, CURLOPT_POST, 1);
 curl_setopt($ch, CURLOPT_POSTFIELDS, $_POST);
 curl_exec($ch);

La dernière étape est de modifier l’ID du client enregistré dans le champ personnalisé, à la valeur sans l’ID du visiteur PAP. Recherchez la ligne :

if ($result == 'VERIFIED') {

et ajoutez le code suivant au-dessus de la ligne :

$separator = '||';
    if ($_POST['custom'] != '') {
      $explodedCustomValue = explode($separator, $_POST['custom'], 2);
          if (count($explodedCustomValue) == 2) {
            $_REQUEST['custom'] = $_POST['custom'] = $explodedCustomValue[0];
            $HTTP_POST_VARS['custom'] = $explodedCustomValue[0];
      }
    }

N’oubliez pas d’intégrer votre site web avec le code de suivi des clics.

Retour à Intégrations Créer un compte GRATUITEMENT

Notre site web utilise des cookies. En continuant, nous supposons votre permission de déployer des cookies comme détaillé dans Politique de confidentialité et de cookies.

×

Programmez un appel en tête-à-tête et découvrez comment Post Affiliate Pro peut profiter à votre entreprise.

Nous sommes disponibles à plusieurs dates

Planifier un appel