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”=>…
Integrate Ubercart seamlessly with Drupal for your online store using Post Affiliate Pro. Discover integration settings, implement thank you page codes, and optimize PayPal payment gateway for enhanced tracking and affiliate marketing success. Set up your free account today and explore the benefits Post Affiliate Pro can bring to your business!