–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 programma gratuito per i negozi online che offre la cronologia degli ordini, i carrelli degli acquisti, la capacità di ricerca completa, le recensioni di prodotti, le transazioni sicure, le liste dei bestseller e degli articoli correlati.

L’integrazione con osCommerce viene fatta inserendo lo script di monitoraggio delle vendite nella pagina di conferma. Per ottenere i valori di OrderID e TotalSale, lo snippet si collega al database di osCommerce e recupera i valori direttamente da lì.

Trova il file checkout_success.php

Trova e apri il file checkout_success.php nei file originali di osCommerce.

Trova il posto giusto per l’integrazione

All’interno del file trova questa linea:

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

dovrebbe essere da qualche parte dopo questa linea:

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

Aggiungi il codice d’integrazione

Inserisci il seguente codice proprio sopra la linea:

  //--------------------------------------------------------------------------
   // 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
   //--------------------------------------------------------------------------

Hai completato l’integrazione

Adesso è tutto integrato. Ogni volta che il cliente entrerà nella pagina di conferma dell’ordine il codice di tracciamento si attiverà e registrerà una vendita per l’affiliato di riferimento.

Un’altra integrazione

Se hai intenzione di dividere i prodotti in più campagne, avrai probabilmente bisogno di un’altra integrazione, che dividerà l’intera vendita in vendite di prodotti singoli.

//--------------------------------------------------------------------------
   // 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
   //--------------------------------------------------------------------------

Integrazione diretta di PayPal con osCommerce

Se vuoi affidarti a PayPal IPN (dato che è metodo sicuro e garantisce al 100% che la transazione venga registrata), puoi modificare direttamente il modello del pulsante PayPal in osCommerce. Accedi al tuo FTP e vai a catalog/includes/modules/payment/ e modifica il file paypal_standard.php.

Trova la funzione process_button e scorri fino alla fine. Dovresti trovare questo blocco di codice:

} 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;

Questo aggiungerà lo script di tracciamento direttamente al pulsante paypal e inserirà il valore corretto nel parametro personalizzato.

Ora, devi reinviare l’IPN da osCommerce anche a PAP. Guarda il prossimo passaggio.

PayPal reindirizza a PAP

Quando c’è una vendita, PayPal invia un IPN al tuo account osCommerce. Devi reinviarlo a PAP per salvare la transazione. Vai a catalog/ext/modules/payment/paypal/ nel tuo FTP e modifica il file standard_ipn.php . Inserisci il seguente codice all’inizio del file:

 $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);

L’ultimo passaggio consiste nel modificare l’ID del cliente, che è stato salvato nel campo personalizzato, nel valore senza l’ID del visitatore di PAP. Trova la linea:

if ($result == 'VERIFIED') {

e aggiungi il seguente codice sopra la linea:

$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];
      }
    }

Non dimenticarti di integrare il tuo sito web con il codice di tracciamento dei clic.

Torna alle Integrazioni Crea un account GRATUITAMENTE

Il nostro sito web utilizza i cookies. Continuando assumiamo il tuo consenso all'utilizzo dei cookie come specificato nella nostra politica sulla privacy e sui cookie.

×

Prenota una chiamata individuale e scopri come Post Affiliate Pro può giovare al tuo business.

Siamo disponibili in più date

Prenota una chiamata telefonica