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.
El artículo describe cómo configurar un webhook para enviar datos a un complemento en Post Affiliate Pro y cómo seguir las ventas por pedido o por producto en ThriveCart. Se proporciona código PHP para ambas opciones y también se explica cómo utilizar variables personalizadas y un complemento integrado para realizar un seguimiento de las ventas mediante ThriveCart. También se destaca la importancia de integrar el sitio con el código de seguimiento de clics.
El texto trata sobre una integración de formularios y activación de plugin en Post Affiliate Pro para realizar pagos en línea con CommerceGate. Se explican los pasos necesarios para integrar el formulario de pago y activar el plugin, así como la configuración de las notificaciones y retrollamadas en el panel de administración de CommerceGate. También se mencionan otros recursos relacionados y se destaca la sencillez de la integración con CommerceGate.
El texto presenta información sobre un programa llamado Post Affiliate Pro, que permite crear subdominios personalizados y realizar seguimiento de clics y ventas en sitios de comercio electrónico. La integración con el software Fortune3 se realiza a través de la inserción de códigos de seguimiento en la aplicación. Se proporcionan instrucciones detalladas para la configuración y se mencionan otras integraciones disponibles en la plataforma. También se ofrece una opción gratuita de prueba sin compromisos.
El texto habla sobre la plataforma de comercio electrónico Shopware y su integración con el software de gestión de afiliados Post Affiliate Pro mediante un plugin. El plugin permite realizar un seguimiento de las comisiones por producto y del correo electrónico del cliente para comisiones de por vida. Se puede descargar el plugin para las versiones 5 y 6 de Shopware y se explica cómo instalarlo en el FTP de la tienda. Además, se ofrece la opción de crear una cuenta gratuita y se proporcionan recursos relacionados con otras plataformas de comercio electrónico.