–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.

Interspire Shopping Cart

Un software di carrello degli acquisti ricco di funzionalità che include tutto il necessario per avviare, eseguire e promuovere il tuo negozio online. Questo metodo di integrazione di Dustin Holdiman ti aiuterà a integrare PAP con Interspire Shopping Cart 5.0+.

A cosa serve questo script?

Questo programma è stato creato per tracciare tutti i diversi prodotti e la quantità di prodotto ordinata nel carrello di Interspire. Sostanzialmente questo script registra ogni prodotto ordinato come una vendita separata a PAP. In questo modo, se un utente acquista 3 prodotti diversi e 2 di ciascuno di questi prodotti, saranno registrate 6 vendite in PAP e saprai la corretta commissione da pagare all’affiliato.

Come impostare PAP per lavorare con questo script

Prima di tutto devi creare una campagna per OGNI articolo che dovrebbe avere una commissione diversa. Così, per esempio, il prodotto A ha una commissione di 10€, il prodotto B di 12€ e il prodotto C di 8€. Creerò 3 campagne e assegnerò l’ID del prodotto ad ogni campagna che è impostato da Interspire. Per default puoi trovare queste informazioni nel database guardando nella tabella isc_products e controllando la colonna productid. Dopo aver impostato le tue campagne questo è tutto quello che devi fare con PAP per continuare.

Come impostare Interspire Shopping Cart

Devi modificare il file class.order.php. Questo script si trova nella directory di installazione di Interspire in includes/classes/class.order.php. Scorri il file fino alla linea 178 circa. Stai cercando il ciclo foreach che è già stato completato. Questo è il codice:

// Include the conversion tracking code for affiliates
foreach ($this->pendingData['orders'] as $order) {
  if (strlen(GetConfig('AffiliateConversionTrackingCode')) > 0) {
......
......
}

Sostituzione del codice (si applica alla versione 5.x di Interspire Shopping Cart)

Copia l’intero ciclo foreach e sostituiscilo con il seguente codice:

//////////////////////////////////////////////////////////////////////////////////////////////////
foreach ($this->pendingData['orders'] as $order) {
            if (strlen(GetConfig('AffiliateConversionTrackingCode')) > 0) {
                $converted_code = GetConfig('AffiliateConversionTrackingCode');
                $converted_code = str_ireplace('%%ORDER_AMOUNT%%', $order['ordsubtotal'], $converted_code);
                $converted_code = str_ireplace('%%ORDER_ID%%', $order['orderid'], $converted_code);

		//retreive customer id for the particular order in order to take use of Lifetime Commissions
		$query_custid = "SELECT ordcustid FROM isc_orders WHERE orderid='".$order['orderid']."'";
		$result_custid = mysql_query($query_custid);
		$custid = mysql_fetch_row($result_custid);
		$customerid = $custid[0];


                $query_proid = "SELECT * FROM isc_order_products WHERE orderorderid='".$order['orderid']."'";
                $result_proid = mysql_query($query_proid);
                $prod_data = '';
                // Setup string to look like PRODUCTID:QUANTITY:PRICE,
                while ($row_proid = mysql_fetch_array($result_proid)) {
                        $prodarr[] = $row_proid['ordprodid'].':'.$row_proid['ordprodqty'].':'.$row_proid['ordprodcost'];
                }
		$java_arr[] = "<script type=\"text/javascript\">
		PostAffTracker.setAccountId('Account_ID');"; // Start javascript array
		$prod_count = '1'; // Product Counter

                // Separate string by ,
                foreach ($prodarr as $value) {
                    // Split apart string by : (PRODUCTID:QUANTITY:PRICE)
                    $prod_info = explode(":", $value);

		// Not needed but here for referance
                    //$converted_code = str_ireplace('%%PRODUCT_ID'.$prod_count.'%%',$prod_info[0], $converted_code);
                    //$converted_code = str_ireplace('%%QUANTITY_ID'.$prod_count.'%%',$prod_info[1], $converted_code);

                    // Create sale code for each product x the quantity ordered
					$quantity = $prod_info[1];
					while ($quantity >= 1){
						$java_string = "
							var sale".$prod_count." = PostAffTracker.createSale();
							sale".$prod_count.".setTotalCost('".$prod_info[2]."');
							sale".$prod_count.".setOrderID('".$order['orderid']."(".$prod_count.")');
							sale".$prod_count.".setProductID('".$prod_info[0]."');
							sale".$prod_count.".setData1('".$customerid."');";

						$java_arr[] = $java_string;

						$img_arr[] = '<img src="https://URL_TO_PostAffiliatePro/scripts/sale.php?TotalCost='.$prod_info[2].'&OrderID='.$order['orderid'].'_'.$prod_count.'&ProductID='.$prod_info[0].'" width="1" height="1">';
						$prod_count++; // Increase Product Counter by 1
						$quantity = $quantity-1;
					}
                }
                // Image Loop - Returns $img as all img src created in foreach loop
                $img = implode("", $img_arr);

				// Finish off javascript code
				$java_arr[] = "
				PostAffTracker.register();
				</script>";

                // Build string from array created in for each loop
				$java = implode("", $java_arr);

                $converted_code = str_ireplace('%%JAVA%%', $java, $converted_code); // Simply Insert %%JAVA%% into affiliate tracking section of interspire
                $converted_code = str_ireplace('%%IMG_CODE%%', $img, $converted_code); // Simply Insert %%IMG_CODE%% into affiliate tracking section of interspire
                $GLOBALS['ConversionCode'] .= $converted_code;
            }
            ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            // End Edit
        }

Ora devi semplicemente salvare il file.

Sostituzione del codice (si applica alla versione 6.x di Interspire Shopping Cart)

Copia l’intero ciclo foreach e sostituiscilo con il seguente codice:

//////////////////////////////////////////////////////////////////////////////////////////////////
foreach ($this->pendingData['orders'] as $order) {
            if (strlen(GetConfig('AffiliateConversionTrackingCode')) > 0) {
                $converted_code = GetConfig('AffiliateConversionTrackingCode');
                $converted_code = str_ireplace('%%ORDER_AMOUNT%%', $order['ordsubtotal'], $converted_code);
                $converted_code = str_ireplace('%%ORDER_ID%%', $order['orderid'], $converted_code);

		//retreive customer id for the particular order in order to take use of Lifetime Commissions
		$query_custid = "SELECT ordcustid FROM ".$GLOBALS['ISC_CFG']["tablePrefix"]."orders WHERE orderid='".$order['orderid']."'";
		$result_custid = mysql_query($query_custid);
		$custid = mysql_fetch_row($result_custid);
		$customerid = $custid[0];

                //check if there was a coupon used and get it's code
                $query_coupon = 'SELECT ordcouponcode FROM '.$GLOBALS['ISC_CFG']['tablePrefix']."order_coupons WHERE ordcouporderid='".$order['orderid']."'";
                $result_coupon = mysql_query($query_coupon);
                try {
                  $couponrow = mysql_fetch_row($result_coupon);
                  $coupon = $couponrow[0];
                }
                catch (Exception $e) {
                    // no coupon found
                    $coupon = '';
                }

                $query_proid = "SELECT * FROM ".$GLOBALS['ISC_CFG']["tablePrefix"]."order_products WHERE orderorderid='".$order['orderid']."'";
                $result_proid = mysql_query($query_proid);
                $prod_data = '';
                // Setup string to look like PRODUCTID:QUANTITY:PRICE,
                while ($row_proid = mysql_fetch_array($result_proid)) {
                        $prodarr[] = $row_proid['ordprodid'].':'.$row_proid['ordprodqty'].':'.$row_proid['base_price'].':'.$this->sumDiscountAndCoupon($row_proid['applied_discounts']);
                }
		$java_arr[] = "<script type=\"text/javascript\">
		PostAffTracker.setAccountId('Account_ID');"; // Start javascript array
		$prod_count = '1'; // Product Counter

                // Separate string by ,
                foreach ($prodarr as $value) {
                    // Split apart string by : (PRODUCTID:QUANTITY:PRICE)
                    $prod_info = explode(":", $value);

		// Not needed but here for referance
                    //$converted_code = str_ireplace('%%PRODUCT_ID'.$prod_count.'%%',$prod_info[0], $converted_code);
                    //$converted_code = str_ireplace('%%QUANTITY_ID'.$prod_count.'%%',$prod_info[1], $converted_code);

                    // Create sale code for each product x the quantity ordered
                                        $totalCost = $prod_info[2]-($prod_info[3]/$prod_info[1]);
					$quantity = $prod_info[1];
					while ($quantity >= 1){
						$java_string = "
							var sale".$prod_count." = PostAffTracker.createSale();
							sale".$prod_count.".setTotalCost('".$totalCost."');
                                                        sale".$prod_count.".setOrderID('".$order['orderid']."(".$prod_count.")');
							sale".$prod_count.".setProductID('".$prod_info[0]."');
							sale".$prod_count.".setData1('".$customerid."');";
						if (!empty($coupon)) $java_string .= "sale".$prod_count.".setCoupon('$coupon');";

						$java_arr[] = $java_string;

						$img_arr[] = '<img src="https://URL_TO_PostAffiliatePro/scripts/sale.php?TotalCost='.$totalCost.'&OrderID='.$order['orderid']."_".$prod_count.'&ProductID='.$prod_info[0].'&Coupon='.$coupon.'" width="1" height="1" />';
						$prod_count++; // Increase Product Counter by 1
						$quantity = $quantity-1;
					}
                }
                // Image Loop - Returns $img as all img src created in foreach loop
                $img = implode("", $img_arr);

				// Finish off javascript code
				$java_arr[] = "
				PostAffTracker.register();
				</script>";

                // Build string from array created in for each loop
				$java = implode("", $java_arr);

                $converted_code = str_ireplace('%%JAVA%%', $java, $converted_code); // Simply Insert %%JAVA%% into affiliate tracking section of interspire
                $converted_code = str_ireplace('%%IMG_CODE%%', $img, $converted_code); // Simply Insert %%IMG_CODE%% into affiliate tracking section of interspire
                $GLOBALS['ConversionCode'] .= $converted_code;
            }
            ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            // End Edit
        }

Ora devi semplicemente salvare il file.

Aggiungere funzioni per il calcolo dello sconto (si applica alla versione 6.x di Interspire Shopping Cart)

Stai ancora modificando il file class.order.php. Aggiungi il seguente codice subito prima della linea: private function ThanksForYourOrder()

        //////////////////////////////////////////////////PAP integration functions
        //find all occurences of a needle inside a haystack
        private function strposall($haystack, $needle){
            $s=0;
            $i=0;
            while (is_integer($i)){
                $i = strpos($haystack,$needle,$s);
                if (is_integer($i)) {
                    $aStrPos[] = $i;
                    $s = $i+strlen($needle);
                }
            }
            if (isset($aStrPos)) {
                return $aStrPos;
            }
            else {
                return false;
            }
        }

        private function getDiscountFromPosition($discountsString, $position) {
            $substring = substr($discountsString, $position+2);
            return substr($discountsString, $position+2, strpos($substring, ';'));
        }

        private function sumDiscountAndCoupon($discountsString) {
            if (is_null($discountsString) || $discountsString == '' || !strstr($discountsString, 'd:')) {
                return 0;
            }
            $sum = 0;
            foreach ($this->strposall($discountsString, 'd:') as $position) {
                $sum += $this->getDiscountFromPosition($discountsString, $position);
            }
            return $sum;
        }
        /////////////////////////////////////////////////end PAP integration functions

Configurazione delle impostazioni di Interspire

Apri il tuo pannello di amministrazione in Interspire, vai su Impostazioni / Impostazioni di Affiliazione e incolla il seguente codice nella textarea:

<script id="pap_x2s6df8d" src="https://URL_TO_PostAffiliatePro/scripts/trackjs.js" type="text/javascript"></script>
%%JAVA%%

Oppure, se non vuoi usare javascript per riferire a PAP, puoi usare il tag IMG SRC sostituendo %%JAVA%% con %%IMG_CODE%%.

NOTA: Se stai utilizzando il plugin di integrazione PayPal con l’integrazione Interspire.

Non è consigliabile utilizzare l’integrazione Interpsire insieme al plugin d’integrazione di PayPal (o l’integrazione di un altro processore di pagamento supportato da Interspire). Perché questo può portare a transazioni con doppio tracciamento. È necessario impostare una protezione contro le frodi di vendita per evitarle.

Interspire gestisce tutte le transazioni (elabora tutte le transazioni indipendentemente dal metodo di pagamento) e per questo motivo, si dovrebbe utilizzare solo questa integrazione Interspire. Se questa integrazione non è adatta a te allora prova qualche altra integrazione.

Per qualsiasi domanda / commento / suggerimento si prega di inviare un’email a Dustin dmanz013@gmail.com.

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