Interspire Shopping Cart integration
Un software de carrito de la compra rico en funciones que incluye todo lo que necesitas para iniciar, ejecutar y promover tu tienda en línea. Este método de integración de By Dustin Holdiman te ayudará a integrar PAP con Interspire Shopping Cart 5.0+.
¿Para qué sirve este script?
Esta configuración se creó para hacer un seguimiento de cada producto y de la cantidad de productos pedidos en el carro de la compra de Interspire. Lo que hace este script es contabilizar cada producto pedido como una venta independiente en PAP. De esta manera, si un usuario compra 3 productos diferentes y 2 de cada uno de esos productos, se registrarán 6 ventas en PAP y sabrás la comisión correcta que debes pagar al afiliado.
Cómo integrar PostAffiliatePro con Interspire Shopping Cart
Primero tienes que crear una campaña para CADA artículo que debe tener una comisión diferente. Así, por ejemplo, el Producto A tiene una comisión de 10$, el Producto B de 12$ y el Producto C de 8$. Voy a crear 3 campañas y a asignar a cada una de ellas el ID de producto que establece Interspire. Por defecto puedes encontrar esta información en la base de datos buscando en la tabla isc_products y comprobando la celda productid. Una vez que hayas configurado tus campañas, eso es todo lo que tienes que hacer con PAP para continuar.
Cómo configurar el carrito de compra de Interspire
Tienes que editar el archivo class.order.php. Este script se encuentra en tu directorio de instalación de Interspire en includes/classes/class.order.php. Desplázate por el archivo hasta la línea 178 aproximadamente. Estás buscando el bucle foreach que está comentado. Este es el código:
// Include the conversion tracking code for affiliates
foreach ($this->pendingData['orders'] as $order) {
if (strlen(GetConfig('AffiliateConversionTrackingCode')) > 0) {
......
......
}
Sustitución del código (se aplica a la versión 5.x de Interspire Shopping Cart)
Copia todo el bucle foreach y sustitúyelo por el siguiente código:
//////////////////////////////////////////////////////////////////////////////////////////////////
foreach ($this->pendingData['orders'] as $order) {
if (strlen(GetConfig('AffiliateConversionTrackingCode')) > 0) {
$converted_code = GetConfig('AffiliateConversionTrackingCode');
$converted_code = str_ireplace('%%ORDER_AMOUNT%%', $order['ordsubtotal'], $converted_code);
$converted_code = str_ireplace('%%ORDER_ID%%', $order['orderid'], $converted_code);
//retreive customer id for the particular order in order to take use of Lifetime Commissions
$query_custid = "SELECT ordcustid FROM isc_orders WHERE orderid='".$order['orderid']."'";
$result_custid = mysql_query($query_custid);
$custid = mysql_fetch_row($result_custid);
$customerid = $custid[0];
$query_proid = "SELECT * FROM isc_order_products WHERE orderorderid='".$order['orderid']."'";
$result_proid = mysql_query($query_proid);
$prod_data = '';
// Setup string to look like PRODUCTID:QUANTITY:PRICE,
while ($row_proid = mysql_fetch_array($result_proid)) {
$prodarr[] = $row_proid['ordprodid'].':'.$row_proid['ordprodqty'].':'.$row_proid['ordprodcost'];
}
$java_arr[] = "<script type=\"text/javascript\">
PostAffTracker.setAccountId('Account_ID');"; // Start javascript array
$prod_count = '1'; // Product Counter
// Separate string by ,
foreach ($prodarr as $value) {
// Split apart string by : (PRODUCTID:QUANTITY:PRICE)
$prod_info = explode(":", $value);
// Not needed but here for referance
//$converted_code = str_ireplace('%%PRODUCT_ID'.$prod_count.'%%',$prod_info[0], $converted_code);
//$converted_code = str_ireplace('%%QUANTITY_ID'.$prod_count.'%%',$prod_info[1], $converted_code);
// Create sale code for each product x the quantity ordered
$quantity = $prod_info[1];
while ($quantity >= 1){
$java_string = "
var sale".$prod_count." = PostAffTracker.createSale();
sale".$prod_count.".setTotalCost('".$prod_info[2]."');
sale".$prod_count.".setOrderID('".$order['orderid']."(".$prod_count.")');
sale".$prod_count.".setProductID('".$prod_info[0]."');
sale".$prod_count.".setData1('".$customerid."');";
$java_arr[] = $java_string;
$img_arr[] = '<img src="https://URL_TO_PostAffiliatePro/scripts/sale.php?TotalCost='.$prod_info[2].'&OrderID='.$order['orderid'].'_'.$prod_count.'&ProductID='.$prod_info[0].'" width="1" height="1">';
$prod_count++; // Increase Product Counter by 1
$quantity = $quantity-1;
}
}
// Image Loop - Returns $img as all img src created in foreach loop
$img = implode("", $img_arr);
// Finish off javascript code
$java_arr[] = "
PostAffTracker.register();
</script>";
// Build string from array created in for each loop
$java = implode("", $java_arr);
$converted_code = str_ireplace('%%JAVA%%', $java, $converted_code); // Simply Insert %%JAVA%% into affiliate tracking section of interspire
$converted_code = str_ireplace('%%IMG_CODE%%', $img, $converted_code); // Simply Insert %%IMG_CODE%% into affiliate tracking section of interspire
$GLOBALS['ConversionCode'] .= $converted_code;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// End Edit
}
Ahora simplemente guarda el archivo.
Sustitución del código (se aplica a la versión 6.x de Interspire Shopping Cart)
Copia todo el bucle foreach y sustitúyelo por el siguiente código:
//////////////////////////////////////////////////////////////////////////////////////////////////
foreach ($this->pendingData['orders'] as $order) {
if (strlen(GetConfig('AffiliateConversionTrackingCode')) > 0) {
$converted_code = GetConfig('AffiliateConversionTrackingCode');
$converted_code = str_ireplace('%%ORDER_AMOUNT%%', $order['ordsubtotal'], $converted_code);
$converted_code = str_ireplace('%%ORDER_ID%%', $order['orderid'], $converted_code);
//retreive customer id for the particular order in order to take use of Lifetime Commissions
$query_custid = "SELECT ordcustid FROM ".$GLOBALS['ISC_CFG']["tablePrefix"]."orders WHERE orderid='".$order['orderid']."'";
$result_custid = mysql_query($query_custid);
$custid = mysql_fetch_row($result_custid);
$customerid = $custid[0];
//check if there was a coupon used and get it's code
$query_coupon = 'SELECT ordcouponcode FROM '.$GLOBALS['ISC_CFG']['tablePrefix']."order_coupons WHERE ordcouporderid='".$order['orderid']."'";
$result_coupon = mysql_query($query_coupon);
try {
$couponrow = mysql_fetch_row($result_coupon);
$coupon = $couponrow[0];
}
catch (Exception $e) {
// no coupon found
$coupon = '';
}
$query_proid = "SELECT * FROM ".$GLOBALS['ISC_CFG']["tablePrefix"]."order_products WHERE orderorderid='".$order['orderid']."'";
$result_proid = mysql_query($query_proid);
$prod_data = '';
// Setup string to look like PRODUCTID:QUANTITY:PRICE,
while ($row_proid = mysql_fetch_array($result_proid)) {
$prodarr[] = $row_proid['ordprodid'].':'.$row_proid['ordprodqty'].':'.$row_proid['base_price'].':'.$this->sumDiscountAndCoupon($row_proid['applied_discounts']);
}
$java_arr[] = "<script type=\"text/javascript\">
PostAffTracker.setAccountId('Account_ID');"; // Start javascript array
$prod_count = '1'; // Product Counter
// Separate string by ,
foreach ($prodarr as $value) {
// Split apart string by : (PRODUCTID:QUANTITY:PRICE)
$prod_info = explode(":", $value);
// Not needed but here for referance
//$converted_code = str_ireplace('%%PRODUCT_ID'.$prod_count.'%%',$prod_info[0], $converted_code);
//$converted_code = str_ireplace('%%QUANTITY_ID'.$prod_count.'%%',$prod_info[1], $converted_code);
// Create sale code for each product x the quantity ordered
$totalCost = $prod_info[2]-($prod_info[3]/$prod_info[1]);
$quantity = $prod_info[1];
while ($quantity >= 1){
$java_string = "
var sale".$prod_count." = PostAffTracker.createSale();
sale".$prod_count.".setTotalCost('".$totalCost."');
sale".$prod_count.".setOrderID('".$order['orderid']."(".$prod_count.")');
sale".$prod_count.".setProductID('".$prod_info[0]."');
sale".$prod_count.".setData1('".$customerid."');";
if (!empty($coupon)) $java_string .= "sale".$prod_count.".setCoupon('$coupon');";
$java_arr[] = $java_string;
$img_arr[] = '<img src="https://URL_TO_PostAffiliatePro/scripts/sale.php?TotalCost='.$totalCost.'&OrderID='.$order['orderid']."_".$prod_count.'&ProductID='.$prod_info[0].'&Coupon='.$coupon.'" width="1" height="1" />';
$prod_count++; // Increase Product Counter by 1
$quantity = $quantity-1;
}
}
// Image Loop - Returns $img as all img src created in foreach loop
$img = implode("", $img_arr);
// Finish off javascript code
$java_arr[] = "
PostAffTracker.register();
</script>";
// Build string from array created in for each loop
$java = implode("", $java_arr);
$converted_code = str_ireplace('%%JAVA%%', $java, $converted_code); // Simply Insert %%JAVA%% into affiliate tracking section of interspire
$converted_code = str_ireplace('%%IMG_CODE%%', $img, $converted_code); // Simply Insert %%IMG_CODE%% into affiliate tracking section of interspire
$GLOBALS['ConversionCode'] .= $converted_code;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// End Edit
}
Ahora simplemente guarda el archivo.
Añadir funciones para calcular el descuento (se aplica a la versión 6.x de Interspire Shopping Cart)
Estás editando el archivo class.order.php todavía. Añade el siguiente código justo antes de la línea: función privada GraciasPorSuOrden()
//////////////////////////////////////////////////PAP integration functions
//find all occurences of a needle inside a haystack
private function strposall($haystack, $needle){
$s=0;
$i=0;
while (is_integer($i)){
$i = strpos($haystack,$needle,$s);
if (is_integer($i)) {
$aStrPos[] = $i;
$s = $i+strlen($needle);
}
}
if (isset($aStrPos)) {
return $aStrPos;
}
else {
return false;
}
}
private function getDiscountFromPosition($discountsString, $position) {
$substring = substr($discountsString, $position+2);
return substr($discountsString, $position+2, strpos($substring, ';'));
}
private function sumDiscountAndCoupon($discountsString) {
if (is_null($discountsString) || $discountsString == '' || !strstr($discountsString, 'd:')) {
return 0;
}
$sum = 0;
foreach ($this->strposall($discountsString, 'd:') as $position) {
$sum += $this->getDiscountFromPosition($discountsString, $position);
}
return $sum;
}
/////////////////////////////////////////////////end PAP integration functions
Configurar los ajustes de Interspire
Abre tu panel de administración en Interspire, ve a Configuración / Configuración de Afiliados y pega el siguiente código en el área de texto:
<script id="pap_x2s6df8d" src="https://URL_TO_PostAffiliatePro/scripts/trackjs.js" type="text/javascript"></script>
%%JAVA%%
O si no quieres utilizar javascript para informar a PAP, puedes utilizar la etiqueta IMG SRC sustituyendo %%JAVA%% por %%IMG_CODE%%.
NOTA: Uso del plugin de integración de PayPal con la integración de Interspire.
No se recomienda utilizar la integración de Interpsire junto con el plugin de integración de PayPal (o la integración de otro procesador de pagos compatible con Interspire). Esto puede dar lugar a transacciones con doble seguimiento. Debes configurar una protección contra el fraude en las ventas para evitarlas.
Interspire se encarga de todas las transacciones (procesa todas las transacciones independientemente del método de pago) por sí mismo y, por ello, debes utilizar únicamente esta integración de Interspire. Si esta integración no es adecuada para ti, prueba otra alternativa.
Si tienes alguna pregunta/comentario/sugerencia, envía un correo electrónico a Dustin dmanz013@gmail.com.

¿Qué es Interspire Shopping Cart?
Interspire Shopping Cart fue una plataforma de comercio electrónico integral diseñada para empoderar a las empresas con una solución sólida para la venta en línea. Desarrollada con funciones fáciles de usar y enfocada en pequeñas y medianas empresas, proporcionaba herramientas para configurar, gestionar y promocionar tiendas en línea. Aunque la plataforma ha sido descontinuada, su legado ofrece valiosas perspectivas sobre el desarrollo del comercio electrónico y la evolución de las soluciones de venta en línea.
Interspire Shopping Cart surgió como un producto de Interspire, una empresa conocida por sus soluciones de software basadas en la web. Lanzado para atender la creciente necesidad de plataformas de comercio electrónico accesibles, rápidamente ganó popularidad entre las empresas que buscaban un sistema de carrito de compras todo en uno. Con el tiempo, evolucionó integrando nuevas funciones y respondiendo a los comentarios de los usuarios. Sin embargo, con el auge de competidores más avanzados y las cambiantes demandas del mercado, Interspire finalmente dejó de desarrollar el software de Shopping Cart, redirigiendo su enfoque hacia otros proyectos.
El carrito de compras de Interspire fue diseñado para pequeñas y medianas empresas que buscaban establecer o mejorar su presencia en línea. Su interfaz intuitiva y características completas lo hacían atractivo para emprendedores sin amplios conocimientos técnicos. Minoristas, mayoristas y vendedores de mercados de nicho encontraron la plataforma especialmente beneficiosa para lanzar tiendas en línea de manera rápida y eficiente.
Características principales de Interspire Shopping Cart
La plataforma contaba con un conjunto rico de funciones diseñadas para simplificar las operaciones de comercio electrónico:
Administración Amigable: Panel de control fácil de navegar para gestionar productos, pedidos y clientes.
Escaparates Personalizables: Una variedad de plantillas y temas que permitían a las empresas personalizar la apariencia y el diseño de sus tiendas en línea.
Gestión de Inventario: Herramientas para rastrear niveles de existencias, configurar alertas de inventario y gestionar opciones de productos.
Herramientas de Marketing y SEO: Funciones integradas para la optimización de motores de búsqueda, integraciones de marketing por correo electrónico y herramientas promocionales como cupones y descuentos.
Múltiples Pasarelas de Pago: Soporte para diversas opciones de pago, incluidas tarjetas de crédito, PayPal y más.
Soporte Internacional: Capacidades multimoneda y multilingües para atender a una base de clientes global.
Informes y Análisis: Informes detallados sobre ventas, comportamiento de los clientes y rendimiento de la tienda para informar las decisiones empresariales.
Precios de Interspire Shopping Cart
El carrito de compras de Interspire ofrecía planes de precios escalonados para adaptarse a diferentes necesidades comerciales y presupuestos. La estructura de precios generalmente incluía:
Planes Iniciales: Para principiantes con requisitos básicos, que ofrecen funciones esenciales a un costo menor.
Planes Profesionales: Opciones de nivel medio con funciones avanzadas adecuadas para negocios en crecimiento.
Planes Empresariales: Paquetes integrales con acceso completo a todas las funciones, soporte prioritario y opciones de personalización.
Dado que la plataforma ha sido descontinuada, estos planes de precios ya no están disponibles. Las empresas interesadas en soluciones similares pueden explorar las ofertas actuales del mercado con estructuras de precios comparables.
Información de los usuarios sobre Interspire Shopping Cart
Los usuarios de Interspire Shopping Cart apreciaron su facilidad de uso y la amplitud de funciones ofrecidas. Los comentarios positivos a menudo destacaron:
Simplicidad: El proceso de configuración sencillo y la curva de aprendizaje manejable.
Herramientas Integrales: Inclusión de funcionalidades esenciales de comercio electrónico sin la necesidad de complementos adicionales.
Soporte al Cliente: Asistencia receptiva durante su período operativo.
Algunos usuarios, sin embargo, mencionaron limitaciones como:
Restricciones de Personalización: Desafíos al personalizar más allá de las plantillas proporcionadas sin conocimientos técnicos.
Problemas de Escalabilidad: Dificultades para adaptarse a un crecimiento significativo del negocio o a altos volúmenes de tráfico.
Falta de actualizaciones: Preocupaciones sobre las actualizaciones de software y el mantenimiento antes de su descontinuación.
Alternativas a Interspire Shopping Cart
Con Interspire Shopping Cart ya no en funcionamiento, las empresas han recurrido a plataformas de comercio electrónico alternativas que ofrecen características modernas y soporte continuo:
Shopify: Una plataforma ampliamente utilizada, conocida por su facilidad de uso, su extensa tienda de aplicaciones y su escalabilidad.
WooCommerce: Un complemento de código abierto para usuarios de WordPress que buscan capacidades personalizables para tiendas en línea.
Magento (Adobe Commerce): Ofreciendo funciones avanzadas y personalización para empresas más grandes que necesitan soluciones robustas.
BigCommerce: Ofreciendo un equilibrio entre facilidad de uso y características completas adecuadas para diversos tamaños de negocios.
Squarespace Commerce: Ideal para negocios que destacan el diseño y la estética junto con la funcionalidad de comercio electrónico.