ZenCart integration
Un sistema de carrito de compras basado en PHP fácil de usar.
La integración con ZenCart se realiza colocando un script de seguimiento de ventas en la página de confirmación del pedido.
Editar plantilla
Para integrar ZenCart, debes editar la plantilla de confirmación del pedido. Abre el archivo includes / templates / template_default / templates / tpl_checkout_success_default.php .
Localizar el lugar de integración
Busca la línea con el siguiente código que ya debería existir en el archivo.
<div id="checkoutSuccessOrderNumber"><?php echo TEXT_YOUR_ORDER_NUMBER . $zv_orders_id; ?></div>
Integración
Copia y pega el siguiente código en el archivo, debajo de la línea que se encuentra arriba:
<?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, la integración está terminada. Ahora, cada vez que se produzca una venta, la tienda llamará a nuestro script y registrará la comisión de venta.
Integración de comisiones de por vida
Si deseas integrar el complemento de comisiones de por vida, simplemente agrega el código a continuación en el código del paso 3 después de esta línea:
$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();
}
También necesitas agregar este código:
sale.setData1(\''.$email.'\');
justo después de:
sale.setOrderID(\''.$orderId.'\');
En caso de que desees conocer el nombre del método de pago utilizado en el pedido, puedes utilizar esta variable:
$orders->fields['payment_method']
zenCart + PayPal – parte 1
En caso de que utilices PayPal como pasarela de pago en ZenCart, se necesita un enfoque de integración diferente.
En ‘ zenCart_installation_directory / includes / functions / html_output.php ‘ busca la siguiente línea:
$field = '<input type="hidden" name="' . zen_sanitize_string(zen_output_string($name)) . '"';
y reemplázalo con esta:
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 – parte 2
En ‘ zenCart_installation_directory / includes / templates / template_default / common / tpl_footer.php ‘ agrega el siguiente código:
<!-- 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 – parte 3
En ‘ zenCart_installation_directory / ipn_main_handler.php ‘ agrega el siguiente código:
/* 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 */
Eso es todo.
Ahora, inicia sesión en el panel de comerciantes de Post Affiliate Pro (Red), navega hasta la sección “ Complementos ” y activa el complemento “ Manejo de IPN de PayPal “.
NOTA: Si deseas habilitar la integración de la Comisión de por vida al utilizar este método de integración ‘ zenCart + PayPal ‘, en la configuración del complemento “ Manejo de IPN de PayPal ” activa la ‘ Opción Soporte de comisión de por vida ‘.
No olvides integrar fu sitio con el código de seguimiento de clics para que el seguimiento de ventas funcione correctamente.
Software de gestión de afiliados
Post Affiliate Pro es un software de gestión de afiliados de última generación que puede ayudarle a optimizar su marketing y mejorar sus ganancias.