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

  • Intégrations
  • Interspire Shopping Cart (en particulier pour Google Checkout)

Interspire Shopping Cart (en particulier pour Google Checkout)

Un logiciel de panier d’achat riche en fonctionnalités qui comprend tout ce dont vous avez besoin pour lancer, gérer et promouvoir votre boutique en ligne.

Cette méthode d’intégration vous aidera à intégrer Post Affiliate Pro avec Interspire Shopping Cart 6.0+ dans le cas où les clients ne sont pas renvoyés sur la page de remerciement d’Interspire après un paiement avec Google Checkout.

A quoi sert ce script ?

Cette configuration a été créée pour suivre les produits commandés dans Interspire Shopping Cart et payés avec Google Checkout. Ce script affiche chaque produit commandé comme une vente distincte dans PAP4 ou dans le panier entier comme une seule vente. Pour le suivi des ventes, on utilise le suivi PAP API.

Ajout du champ visitorId dans le modèle ProductAddToCart

Éditez le fichier /templates/__master/Snippets/ProductAddToCart.html (si vous l’avez modifié dans votre propre modèle, il se trouve dans le répertoire : /templates/[used template]/Snippets/)

Ajoutez cette ligne dans le formulaire :

<input value="" name="product-private-data" type="hidden" id="pap_dx8vc2s5">

après la ligne :

<input type="hidden" name="currency_id" value="" />

et après la balise de fin de formulaire “” ajoutez :

<script id="pap_x2s6df8d" src="https://URL_TO_PostAffiliatePro/scripts/notifysale.php" type="text/javascript">
</script>

Le code ci-dessous montre le fichier ProductAddToCart.html dans son intégralité après les modifications :

%%GLOBAL_AddToCartButtonControlScript%%
<form method="post" action="%%GLOBAL_CartLink%%" onsubmit="return check_add_to_cart(this, %%GLOBAL_ProductOptionRequired%%)"  enctype="multipart/form-data">
	<input type="hidden" name="action" value="add" />
	<input type="hidden" name="product_id" value="%%GLOBAL_ProductId%%" />
	<input type="hidden" name="variation_id" class="CartVariationId" value="" />
	<input type="hidden" name="currency_id" value="" />
	<input value="" name="product-private-data" type="hidden" id="pap_dx8vc2s5">
	<div class="ProductDetailsGrid ProductAddToCart">
		%%SNIPPET_ProductFieldsList%%
		<div class="ProductOptionList">
			%%SNIPPET_VariationList%%
		</div>
		%%SNIPPET_EventDate%%
		<div class="DetailRow" style="display: %%GLOBAL_DisplayAdd%%">
			<div class="Label QuantityInput" style="display: %%GLOBAL_DisplayAddQty%%">%%LNG_QuantityFull%%:</div>
			<div class="Value AddCartButton">
				<span class="FloatLeft" style="display: %%GLOBAL_DisplayAddQty%%;">
					%%GLOBAL_AddToCartQty%%
				</span>
				<div class="BulkDiscount">
					%%GLOBAL_AddToCartButtonOptimizerScriptTag%%
						<input type="image" src="%%GLOBAL_IMG_PATH%%/%%GLOBAL_SiteColor%%/AddCartButton.gif" alt="Interspire Shopping Cart (en particulier pour Google Checkout)"/>
					%%GLOBAL_AddToCartButtonOptimizerNoScriptTag%%
					<div class="BulkDiscountLink" style="display: %%GLOBAL_HideBulkDiscountLink%%;">
						<a href="#" onclick="$.iModal({data: $('#ProductDetailsBulkDiscountThickBox').html(), width: 600}); return false;">
							%%LNG_BulkDiscountLink%%
						</a>
					</div>
				</div>
			</div>
		</div>
	</div>
</form>

<script id="pap_x2s6df8d" src="https://URL_TO_PostAffiliatePro/scripts/notifysale.php" type="text/javascript">
</script>

<div class="OutOfStockMessage">
	%%SNIPPET_SideAddItemSoldOut%%
</div>

%%GLOBAL_ProductBulkDiscountThickBox%%

<script type="text/javascript">
lang.OptionMessage = "%%GLOBAL_OptionMessage%%";
lang.VariationSoldOutMessage = "%%LNG_VariationSoldOutMessage%%";
lang.InvalidQuantity = "%%LNG_InvalidQuantity%%";
lang.EnterRequiredField = "%%LNG_EnterRequiredField%%";
lang.InvalidFileTypeJS = "%%LNG_InvalidFileTypeJS%%";
var ShowAddToCartQtyBox = "%%GLOBAL_ShowAddToCartQtyBox%%";
</script>
%%GLOBAL_EventDateJavascript%%

Ajout du paramètre visitorId dans les liens Ajout au panier

Modifiez tous les fichiers template où est utilisé le lien d’ajout au panier. Ajoutez l’attribut id=”affCookieLinkId” dans la balise <a> dans <div class=”ProductActionAdd”>

Et dans le code de suivi des clics, ajoutez :

PostAffTracker.writeCookieToLink('affCookieLinkId', 'product-private-data');

après la ligne :

PostAffTracker.track();

Le code ci-dessous illustre les changements effectués :

<div class="ProductActionAdd" style="display:%%GLOBAL_HideActionAdd%%;">
		<a href="%%GLOBAL_ProductURL%%" id="affCookieLinkId">%%GLOBAL_ProductAddText%%</a>
</div>

Liste des fichiers que vous devez éditer dans la section directory /templates/__master/Snippets/:

  • BrandProductsItem.html
  • CategoryProductsItem.html
  • HomeFeaturedProductsItem.html
  • HomeNewProductsItem.html
  • HomeSaleProductsItem.html
  • ProductVendorsOtherProductsItem.html
  • SearchResultProductGrid.html
  • SideCategoryNewProducts.html
  • SideCategoryPopularProducts.html
  • SideCategoryTopSellers.html
  • SideNewProducts.html
  • SideRecentlyViewedProducts.html
  • SideTopSellers.html
  • SideTopSellersFirst.html
  • TagProductsItem.html
  • VendorFeaturedItemsItem.html
  • VendorProductsItem.html

Edition du fichier class.cart.api.php

Editez le fichier/includes/classes/class.cart.api.php.

Recherchez la ligne :

public function AddItem

et ajoutez à la fin des paramètres un nouveau paramètre $productPrivateData=null

Cela ressemblera à :

public function AddItem($productId, $quantity=1, $variationDetails=null, $configurableOptions=array(), $cartItemId=null, $options=array(), $parentId=null, $reorder=false, $productPrivateData=null)

Trouvez ensuite le tableau cartProduct (ligne 1319) :

    $cartProduct = array(
            'product_id' => $productId,
            'variation_id' => $variation,
            'options' => $variationOptions,
            'quantity' => $quantity,
            'product_name' => $product['prodname'],
            'product_code' => $productCode,
            'product_price' => $productPrice,
            'original_price' => $originalPrice,
            'default_currency' => $defaultCurrency['currencyid'],
            'customer_group' => $customerGroup,
        );

ajoutez-y :

product_private_data' => $productPrivateData

cela ressemblera à :

$cartProduct = array(
            'product_id' => $productId,
            'variation_id' => $variation,
            'options' => $variationOptions,
            'quantity' => $quantity,
            'product_name' => $product['prodname'],
            'product_code' => $productCode,
            'product_price' => $productPrice,
            'original_price' => $originalPrice,
            'default_currency' => $defaultCurrency['currencyid'],
            'customer_group' => $customerGroup,
            'product_private_data' => $productPrivateData
        );

Edition du fichier class.cart.php

Éditez le fichier /includes/classes/class.cart.php.

Recherchez la ligne :

$cartItemId = $this->api->AddItem($product_id, $qty, $variation, $configurableFields, null, $options, null, false);

changez-la en :

$cartItemId = $this->api->AddItem($product_id, $qty, $variation, $configurableFields, null, $options, null, false, $productPrivateData);

Et ajoutez ceci avant :

  $productPrivateData = '';
            if(isset($_REQUEST['product-private-data'])) {
                $productPrivateData = $_REQUEST['product-private-data'];
            }

Vous obtiendrez ceci après les changements:

                        ...
                        ...
				$options['EventName'] = $eventName;
			}

			$productPrivateData = '';
			if(isset($_REQUEST['product-private-data'])) {
				$productPrivateData = $_REQUEST['product-private-data'];
			}

			// Actually add the product to the cart
			$cartItemId = $this->api->AddItem($product_id, $qty, $variation, $configurableFields, null, $options, null, false, $productPrivateData);
			$this->newCartItem = $cartItemId;

			if($cartItemId === false) {
                        ...
                        ...

Ajoutez le code de suivi des ventes dans le fichier class.handler.php dans la méthode googlecheckout

Éditez le fichier /modules/checkout/googlecheckout/class.handler.php

Trouvez ce code autour de la ligne 925 :

	if (!$completed) {
			$GLOBALS['ISC_CLASS_LOG']->LogSystemError($this->logtype, sprintf(GetLang('GoogleCheckoutCantCompleteOrder'), isc_html_escape($pendingToken), isc_html_escape(var_export($completed, true))));
			return;
		}

ajoutez le code suivant juste en dessous :

		include 'PapApi.class.php';
		$saleTracker = new Pap_Api_SaleTracker('URL_TO_PostAffiliatePro/scripts/sale.php');
		$prod_count = '1'; // Product Counter

		foreach($cartContent[$vendorId][0] as $cartItemId => $product) {
		    $productid = $product['data']['productid'];
		    $productPrivateData = $product['product_private_data'];

		    $price = $product['quantity'] * $product['product_price'];

		    if (strlen($productPrivateData) == 40) {
			  $accountId = substr($productPrivateData, 0, 8);
			  $visitorId = substr($productPrivateData, 8, 32);
		    } else {
			  $visitorId = $productPrivateData;
			  $accountId = 'default1';
		    }

		    $saleTracker->setAccountId($accountId);
		    $saleTracker->setCookieValue($visitorId);

		    $sale = $saleTracker->createSale();
		    $sale->setTotalCost($price);
		    $sale->setOrderID($order['orderid'] . "($prod_count)");
		    $sale->setProductID($productid);
		    $saleTracker->register();
		    $prod_count++;
		}

Cette méthode de suivi utilise l’API PAP. Par conséquent, vous devez disposer de votre fichier PapApi.class.php actuel dans le répertoire /modules/checkout/googlecheckout/.

(Vous pouvez le télécharger à partir de votre panneau marchand > démarrer > outils > intégration > intégration api > Télécharger PAP API)

Retour à Intégrations Créer un compte GRATUITEMENT
Vous souhaitez améliorer davantage votre logiciel d'affiliation ? Découvrez l'intégration du panier d'achat Interspire pour Post Affiliate Pro.

Interspire Shopping Cart

Vous souhaitez améliorer davantage votre logiciel d'affiliation ? Découvrez l'intégration du panier d'achat Interspire pour Post Affiliate Pro.

Vous souhaitez améliorer davantage votre logiciel d'affiliation ? Découvrez l'intégration de Volusion pour Post Affiliate Pro.

Volusion

Le texte fournit des instructions détaillées pour l'intégration de scripts de suivi dans une boutique en ligne Volusion et comment ajouter un code de suivi pour les ventes. Le lecteur est également invité à créer un compte gratuit avec une solution de gestion des commissions de Post Affiliate Pro.

Vous souhaitez améliorer davantage votre logiciel d'affiliation ? Découvrez le CommerceGate pour Post Affiliate Pro.

CommerceGate

Le texte parle de l'intégration du plugin CommerceGate dans Post Affiliate Pro pour permettre des solutions de facturation en ligne. Les étapes incluent l'intégration du formulaire de paiement, l'activation du plugin, la configuration des notifications et le suivi des clics. CommerceGate est une société de traitement des paiements en ligne établie en Europe depuis 2006.

Vous souhaitez améliorer davantage votre logiciel d'affiliation ? Découvrez l'intégration Shopware pour Post Affiliate Pro.

Shopware

Le texte parle de l'intégration d'une solution de commerce électronique appelée Shopware. Cette solution est décrite comme étant complète et adaptée aux novices et aux experts. L'intégration est facile grâce à un plugin qui ajoute automatiquement le code de suivi des clics et des ventes. Le plugin est disponible pour la version 5 et 6 de Shopware et permet de suivre les commissions par produit et les emails des clients pour les commissions à vie. Le texte inclut également des instructions pour télécharger et installer le plugin. Enfin, quelques ressources connexes sont mentionnées.

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