Virtue Mart integration
Bezpłatne rozwiązanie dla e-commerce.
Integracja z Virtue Mart odbywa się poprzez umieszczenie skryptu śledzenia sprzedaży na stronie potwierdzenia.
Edycja szablonu
Znajdź i otwórz plik checkout.thankyou.php.
Powinno znajdować się w ‘administrator/components/com_virtuemart/html/‘.
Integracja
Wymień ostatni:
?>
z następującym kodem:
$q = "SELECT * FROM #__{vm}_user_info WHERE user_id='$user_id'";
$db->query( $q );
$pap_user_email = $db->f('user_email');
$q = "SELECT * FROM #__{vm}_orders WHERE order_id='$order_id'";
$db->query( $q );
$pap_order_subtotal = $db->f('order_subtotal' );
$pap_coupon_code = $db->f("coupon_code");
$pap_coupon_discount = $db->f("coupon_discount");
if (!is_null($pap_coupon_discount) && $pap_coupon_discount != '') {
$pap_order_total = $pap_order_subtotal - $pap_coupon_discount;
} else {
$pap_order_total = $pap_order_subtotal;
}
$q = "SELECT * FROM #__{vm}_order_item WHERE order_id='$order_id'";
$db->query( $q );
$pap_product_id = $db->f('product_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');var sale = PostAffTracker.createSale();
sale.setTotalCost('<?php echo $pap_order_total ?>');
sale.setOrderID('<?php echo $order_id ?>');
sale.setProductID('<?php echo $pap_product_id ?>');
sale.setData1('<?php echo $pap_user_email ?>');
sale.setCoupon('<?php echo $pap_coupon_code ?>');
PostAffTracker.register();
</script>
Ten kod będzie śledził sumę cząstkową ceny (z rabatem kuponu). Jeśli chcesz śledzić coś innego, możesz użyć jednej z tych zmiennych:
order_total, order_subtotal, order_tax, order_shipping, order_shipping_tax, coupon_discount, order_discount, order_status, customer_note
Użyj go w taki sposób, jak pokazano w kodzie powyżej w trzecim wersie.
Produkty rozdzielone
Istnieje również możliwość wygenerowania w PAP unikalnej transakcji dla każdego typu produktu. Dzięki temu będzie można edytować poszczególne typy produktów w ramach jednego zamówienia. Jest to przydatne w przypadku wystąpienia zwrotu pieniędzy. Wówczas zmniejszy się tylko jedna transakcja (prowizja) przypisana do typu produktu, który został zwrócony.
W tym przypadku proszę użyć tego kodu integracji zamiast kodu powyżej:
$q = "SELECT * FROM #__{vm}_user_info WHERE user_id='$user_id'";
$db->query( $q );
$pap_user_email = $db->f('user_email');
$q = "SELECT * FROM `#__{vm}_orders` WHERE `order_id`='$order_id'";
$db->query( $q );
$pap_coupon_code = $db->f('coupon_code');
$pap_coupon_discount = $db->f('coupon_discount');
$pap_order_subtotal = $db->f('order_subtotal');
$q = "SELECT * FROM #__{vm}_order_item WHERE order_id='$order_id'";
$number_of_items = @ mysql_fetch_array ($q);
$db->query( $q );
$i='0';
while ($db->next_record()) {
$pap_product_id[$i] = $db->f('product_id');
$pap_item_price[$i] = $db->f('product_final_price');
$pap_item_quantity[$i] = $db->f('product_quantity');
$i++;
}
?>
<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=0; $j<=$i; $j++){
$pap_final_price[$j] = ($pap_order_subtotal - $pap_coupon_discount) * $pap_item_price[$j] * $pap_item_quantity[$j] / $pap_order_subtotal;
echo "var sale".$j." = PostAffTracker.createSale();\n".
"sale".$j.".setTotalCost('". $pap_final_price[$j]."');\n".
"sale".$j.".setOrderID('".$order_id."');\n".
"sale".$j.".setData1('".$pap_user_email."');\n".
"sale".$j.".setCoupon('".$pap_coupon_code."');\n".
"sale".$j.".setProductID('".$pap_product_id[$j]."');\n\n";
}
?>
PostAffTracker.register();
</script>
Jeśli chcesz zobaczyć nazwę pozycji zamiast numeru pozycji użyj w tej linii zmiennej ‘order_item_name‘ zamiast ‘product_id‘:
$pap_product_id[$i] = $d
Gotowe!
Koniec integracji. Za każdym razem, gdy klient wejdzie na stronę potwierdzenia zamówienia, wywoływany będzie kod śledzenia, który zarejestruje sprzedaż dla partnera polecającego.
Wersja 1.4
Wygląda na to, że wersja 1.4 wymaga edycji innego pliku – checkout.result.php
Jest to sugestia jednego z naszych klientów, nie testowaliśmy tego.
Virtue Mart z PayPal
W przypadku, gdy używasz VirtueMart z PayPal w Joomla, musisz wykonać kilka specjalnych kroków, aby integracja działała.
Najpierw w administrator/components/com_virtuemart/notify.php (na Twoim serwerze) dodaj wers poniżej z kodem: if ($_POST) {
/* PAP integration */
$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);
/* end of PAP integration */
Teraz zapisz plik i zaloguj się do Joomla.
VirtueMart z PayPal
Przejdź do Components> VirtueMart> Store> List Payment Methods> PayPal> Configuration> Payment Extra Info i dodaj w tych wersach:
"custom" => 'Account_ID'$_COOKIE['PAPVisitorId'], // for version of PAP 4.4.x.x and higher
lub (w zależności od wersji PAP):
"custom" => $_COOKIE['PAPCookie_Sale'], // for version of PAP 4.3.x.x and lower
Wstaw go poniżej wersu z “notify_url”=>…
Discover seamless integration solutions with Post Affiliate Pro, the leading affiliate marketing software. Effortlessly connect with platforms like Authorize.net, Calendly, FormAssembly, and more to enhance your e-commerce and reporting capabilities. Enjoy free trials, 24/7 support, and maximize your marketing ROI with advanced tracking and flexible commission options. Visit now to revolutionize your affiliate marketing strategy!