Przyjazny dla użytkownika system dla koszyków zakupowych oparty na PHP.
Integracja z ZenCart odbywa się poprzez umieszczenie skryptu śledzenia sprzedaży na stronie potwierdzenia zamówienia.
Edycja szablonu
Aby zintegrować ZenCart należy edytować szablon potwierdzenia zamówienia. Otwórz plik includes/templates/template_default/templates/tpl_checkout_success_default.php.
Zlokalizuj miejsce integracji
Znajdź wiersz z następującym kodem, który powinien już istnieć w pliku.
<div id="checkoutSuccessOrderNumber"><?php echo TEXT_YOUR_ORDER_NUMBER . $zv_orders_id; ?></div>
Integracja
Skopiuj i wklej następujący kod do pliku, pod wierszem znalezionym powyżej:
<?php
$dbreq = $db->Execute("select * from ".TABLE_ORDERS_TOTAL." where orders_id = '".(int)$orders->fields['orders_id']."' AND class in ('ot_coupon', 'ot_gv', 'ot_subtotal', 'ot_group_pricing', 'ot_quantity_discount')");
while (!$dbreq->EOF) {
switch ($dbreq->fields['class']) {
case 'ot_subtotal': $order_subtotal = $dbreq->fields['value']; break;
case 'ot_coupon': $coupon_amount = $dbreq->fields['value']; $coupon_code = $dbreq->fields['title']; break;
case 'ot_group_pricing': $group_pricing_amount = $dbreq->fields['value']; break;
case 'ot_gv': $gv_amount = $dbreq->fields['value']; break;
case 'ot_quantity_discount': $quantity_discount_amount = $dbreq->fields['value']; break;
}
$dbreq->MoveNext();
}
$totalCost = ($order_subtotal - $gv_amount - $coupon_amount - $group_pricing_amount - $quantity_discount_amount);
$totalCost = number_format($totalCost,2,'.','');
$orderId = $dbreq->fields['orders_id'];
// ------------- coupon code --------------------------------------------------
$coupon_code = substr($coupon_code,(strpos($coupon_code,":"))+2);
$coupon_code = substr($coupon_code,0,strlen($coupon_code)-2);
// -------------products---------------------------------------------------------
$productId = "";
$dbreqa = $db->Execute("select products_id from ".TABLE_ORDERS_PRODUCTS." where orders_id = '".(int)$orders->fields['orders_id']."' ");
while (!$dbreqa->EOF) {
$productId = $dbreqa->fields['products_id'];
$dbreqa->MoveNext();
}
// ----------end products--------------------------------------------------------
print '<script id="pap_x2s6df8d" src="https://URL_TO_PostAffiliatePro/scripts/trackjs.js" type="text/javascript"></script>
<script type="text/javascript">';
print "PostAffTracker.setAccountId('Account_ID');";
print 'var sale = PostAffTracker.createSale();
sale.setTotalCost(\''.$totalCost.'\');
sale.setOrderID(\''.$orderId.'\');
sale.setProductID(\''.$productId.'\');
sale.setCoupon(\''.$coupon_code.'\');
PostAffTracker.register();
</script>';
?>
Ok, integracja została zakończona. Teraz za każdym razem, gdy nastąpi sprzedaż, sklep będzie wywoływał nasz skrypt i rejestrował prowizję za sprzedaż.
Integracja prowizji za całe życie
Jeśli chcesz zintegrować wtyczkę Lifetime commissions, to wystarczy dodać poniższy kod do kodu z kroku 3. po tym wierszu:
$orderId = $dbreq->fields['orders_id'];
$dbreq = $db->Execute("select * from ".TABLE_ORDERS_TOTAL." where orders_id = '".(int)$orders->fields['orders_id']."' ");
while (!$dbreq->EOF) {
$email = $dbreq->fields['customers_email_address'];
$dbreq->MoveNext();
}
Należy również dodać ten kod:
sale.setData1(\''.$email.'\');
zaraz po:
sale.setOrderID(\''.$orderId.'\');
W przypadku, gdy chcesz poznać nazwę metody płatności użytej w zamówieniu, możesz użyć tej zmiennej:
$orders->fields['payment_method']
zenCart + PayPal – część 1
W przypadku, gdy używasz PayPal jako bramki płatności w ZenCart, wtedy potrzebne jest inne podejście do integracji.
W ‘zenCart_installation_directory/includes/functions/html_output.php’ znajdź następujący wiersz:
$field = '<input type="hidden" name="' . zen_sanitize_string(zen_output_string($name)) . '"';
i zastąp go tym:
if ($name == 'notify_url') {
$field = '<input type="hidden" id="pap_ab78y5t4a" name="' . zen_output_string($name) . '"';
} else {
$field = '<input type="hidden" name="' . zen_output_string($name) . '"';
}
zenCart + PayPal – część 2
W ‘zenCart_installation_directory/includes/templates/template_default/common/tpl_footer.php’ dodaj następujący kod:
<!-- PAP Integration snippet -->
<script id="pap_x2s6df8d" src="https://URL_TO_PostAffiliatePro/scripts/trackjs.js" type="text/javascript"></script>
<script type="text/javascript">
PostAffTracker.setAccountId('default1');
PostAffTracker.writeCookieToCustomField('pap_ab78y5t4a', '', 'pap_custom');
</script>
<!-- /PAP Integration snippet -->
zenCart + PayPal – część 3
W ‘zenCart_installation_directory/ipn_main_handler.php’ dodaj następujący kod:
/* Post Affiliate Pro integration snippet */
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://URL_TO_PostAffiliatePro/plugins/PayPal/paypal.php?pap_custom=".$_GET['pap_custom']);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $_POST);
curl_exec($ch);
/* /Post Affiliate Pro integration snippet */
I to wszystko.
Teraz zaloguj się do panelu sprzedawcy Post Affiliate Pro (Natwork), przejdź do sekcji “Wtyczki” i aktywuj wtyczkę “Obsługa PayPal IPN“.
UWAGA: Jeśli chcesz włączyć integrację Lifetime Commission podczas korzystania z tej metody integracji ‘zenCart + PayPal’, to w konfiguracji wtyczki “Obsługa PayPal IPN” włącz opcję “Wsparcie dożywotniej prowizji”.
Nie zapomnij zintegrować swojej witryny z kodem śledzenia kliknięć, aby śledzenie sprzedaży działało poprawnie.