osCommerce integration
Un programa de tienda online gratuito con historial de pedidos, carros de la compra, capacidad de búsqueda completa, reseñas de productos, transacciones seguras, listas de los más vendidos y artículos relacionados.
La integración con osCommerce se realiza colocando el script de seguimiento de la venta en la página de confirmación. Para obtener los valores de OrderID y TotalSale, el snippet se conecta a la base de datos de osCommerce y recupera los valores desde allí.
Busca el archivo checkout_success.php
Busca y abre el archivo checkout_success.php en los archivos fuente de osCommerce.
Localiza el lugar adecuado para la integración
Dentro del archivo encuentra esta línea:
if ($global['global\_product\_notifications'] != '1') {...
debe estar en algún lugar después de esta línea:
<! DOCTYPE ........>
Añade el código de integración
Inserta el siguiente código justo encima de esa línea:
//--------------------------------------------------------------------------
// integration code
//--------------------------------------------------------------------------
// get order id
$sql = "select orders_id from ".TABLE_ORDERS.
" where customers_id='".(int)$customer_id.
"' order by date_purchased desc limit 1";
$pap_orders_query = tep_db_query($sql);
$pap_orders = tep_db_fetch_array($pap_orders_query);
$pap_order_id = $pap_orders['orders_id'];
// get total amount of order
$sql = "select value from ".TABLE_ORDERS_TOTAL.
" where orders_id='".(int)$pap_order_id.
"' and class='ot_subtotal'";
$pap_orders_total_query = tep_db_query($sql);
$pap_orders_total = tep_db_fetch_array($pap_orders_total_query);
$pap_total_value = $pap_orders_total['value'];
//get product ids
$sql = "select products_id from " .TABLE_ORDERS_PRODUCTS.
" where orders_id=".(int)$pap_order_id;
$pap_orders_products_query = tep_db_query($sql);
$pap_orders_products = '';
while ($row = tep_db_fetch_array($pap_orders_products_query)) {
$pap_orders_products .= $row['products_id'] . ',';
}
$pap_orders_products = substr($pap_orders_products, 0, -1);
// draw invisible image to register sale
if($pap_total_value != "" && $pap_order_id != "")
{
print '<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('$pap_total_value');
sale.setOrderID('$pap_order_id');
sale.setProductID('$pap_orders_products');
PostAffTracker.register();
</script>";
}
//--------------------------------------------------------------------------
// END of integration code
//--------------------------------------------------------------------------
La integración está terminada
Ahora está integrado. Cada vez que el cliente entra en la página de confirmación del pedido, se llama al código de seguimiento y se registra una venta para el afiliado remitente.
Otra integración
Si piensas dividir los productos en más campañas, probablemente necesitarás otra integración, que dividirá toda la venta en ventas de productos individuales.
//--------------------------------------------------------------------------
// integration code
//--------------------------------------------------------------------------
// get order id
$sql = "select orders_id from ".TABLE_ORDERS.
" where customers_id='".(int)$customer_id.
"' order by date_purchased desc limit 1";
$pap_orders_query = tep_db_query($sql);
$pap_orders = tep_db_fetch_array($pap_orders_query);
$pap_order_id = $pap_orders['orders_id'];
//get variables for script
$sql = "select products_id,products_price,products_quantity from " .TABLE_ORDERS_PRODUCTS.
" where orders_id=".(int)$pap_order_id;
$pap_products_total_query = tep_db_query($sql);
$k = 0;
while ($row = tep_db_fetch_array($pap_products_total_query)) {
$pap_products_total[$k+1] = $row['products_price'] * $row['products_quantity'];
$pap_products[$k+1] = $row['products_id'];
$k++;
}
// draw invisible image to register sale
if($pap_order_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'); <?php
for ($j=1; $j<=$k; $j++){
echo "var sale".$j." = PostAffTracker.createSale();\n".
"sale".$j.".setTotalCost('". $pap_products_total[$j]."');\n".
"sale".$j.".setOrderID('".$pap_order_id."');\n".
"sale".$j.".setProductID('".$pap_products[$j]."');\n\n";
}
?>
PostAffTracker.register();
</script>;
<?php
}
//--------------------------------------------------------------------------
// END of integration code
//--------------------------------------------------------------------------
Integración directa de PayPal con osCommerce
Si quieres confiar en el IPN de PayPal (ya que es seguro y 100% seguro que la transacción será registrada), puedes editar directamente la plantilla del botón de PayPal en osCommerce. Accede a tu FTP y navega hasta catalog/includes/modules/payment/ y edita el archivo paypal_standard.php.
Busca la función process_button y desplázate hasta el final de la misma. Deberías encontrar este bloque de código:
} else {
reset($parameters);
while (list($key, $value) = each($parameters)) {
$process_button_string .= tep_draw_hidden_field($key, $value);
}
}
return $process_button_string;
// --------------------------------------------
// change this whole block of code to this block:
} else {
reset($parameters);
while (list($key, $value) = each($parameters)) {
if ($key == "custom") {
$tofix = tep_draw_hidden_field($key, $value);
$process_button_string .= substr($tofix,0,-1) .' id="pap_ab78y5t4a" >';
}
else {
$process_button_string .= tep_draw_hidden_field($key, $value);
}
}
}
$process_button_string .= '<script type="text/javascript">';
$process_button_string .= 'document.write(unescape("%3Cscript id=%27pap_x2s6df8d%27 src=%27" + (("https:" == document.location.protocol) ? "https://" : "http://") + "URL_TO_PostAffiliatePro/scripts/trackjs.js%27 type=%27text/javascript%27%3E%3C/script%3E"));';
$process_button_string .= '</script><script type="text/javascript">PostAffTracker.setAccountId(\'default1\');';
$process_button_string .= 'PostAffTracker.setAppendValuesToField(\'||\');';
$process_button_string .= 'PostAffTracker.writeCookieToCustomField(\'pap_ab78y5t4a\');</script>';
return $process_button_string;
Esto añadirá el script de seguimiento directamente al botón de paypal e insertará el valor adecuado en el parámetro personalizado.
Ahora, tienes que reenviar el IPN desde osCommerce a PAP también. Consulta el siguiente paso.
Redirección de PayPal a PAP
Cuando hay una venta, PayPal envía el IPN a tu osCommerce. Tienes que reenviarlo a PAP para guardar la transacción. Navega hasta catalog/ext/modules/paypal/ en tu FTP y modifica el archivo standard_ipn.php . Inserta el siguiente código al principio del archivo:
$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);
El último paso es modificar el ID de cliente guardado en el campo personalizado, al valor sin ID de visitante de PAP. Encuentra la línea:
if ($result == 'VERIFIED') {
y agrega el siguiente código encima de la línea:
$separator = '||';
if ($_POST['custom'] != '') {
$explodedCustomValue = explode($separator, $_POST['custom'], 2);
if (count($explodedCustomValue) == 2) {
$_REQUEST['custom'] = $_POST['custom'] = $explodedCustomValue[0];
$HTTP_POST_VARS['custom'] = $explodedCustomValue[0];
}
}
No olvides integrar tu sitio web con el código de seguimiento de clics.
Descubre cómo integrar AmeriCommerce con Post Affiliate Pro para potenciar tu e-commerce con múltiples escaparates, analíticas integradas y marketing online. Aprende a configurar el rastreador de ventas y la integración por producto. Mejora tu flujo de trabajo hoy mismo. ¡Visita para más detalles y crea tu cuenta GRATIS!
Descubre las múltiples integraciones de Post Affiliate Pro para mejorar tu negocio de comercio electrónico. Desde plataformas como 1&1 E-Shop hasta herramientas de pago como AlertPay, estas integraciones ofrecen soluciones eficientes y detalladas para rastrear comisiones, gestionar ventas y optimizar tu marketing de afiliados. Visita y encuentra la integración perfecta para impulsar tus ventas online.
Descubre cómo integrar Post Affiliate Pro con tu carrito de compras OpenCart de código abierto. Aprende a rastrear pedidos, comisiones, y cupones a través de pasos detallados para modificar archivos cruciales como confirm.php y success.php. Optimiza tus transacciones, ya sea por carrito completo o por producto. Mejora tu e-commerce con esta poderosa integración.