Interspire Shopping Cart integration
Um software de carrinho de compras rico em recursos que inclui tudo o que você precisa para iniciar, executar e promover sua loja online. Este método de integração da By Dustin Holdiman o ajudará a integrar o PAP ao Interspire Shopping Cart 5.0+.
Para que serve este roteiro?
Esta configuração foi criada para rastrear cada produto e quantidade de produtos encomendados no Interspire Shopping Cart. O que esse script faz é postar cada produto encomendado como uma venda separada para o PAP. Dessa forma, se um usuário comprar 3 produtos diferentes e 2 de cada um desses produtos, 6 vendas serão registradas no PAP e você saberá a comissão correta a pagar ao afiliado.
Como integrar o PostAffiliatePro com o Interspire Shopping Cart
Primeiro você precisa criar uma campanha para CADA item que deve ter uma comissão diferente. Por exemplo, o Produto A recebe uma comissão de USD 10, o Produto B é USD 12 e o Produto C é USD 8. Vou criar 3 campanhas e para atribuir o ID do produto a cada campanha que for definida pelo Interspire. Por padrão, você pode encontrar essas informações no banco de dados consultando a tabela isc_products e verificando a célula productid. Depois de configurar suas campanhas, é tudo o que você precisa fazer com o PAP para continuar.
Como configurar o Interspire Shopping Cart
Você precisa editar o arquivo class.order.php. Este script é encontrado no diretório de instalação do Interspire em includes/classes/class.order.php. Role o arquivo até a linha 178. Você está procurando o loop foreach que está comentado. Este é o código:
// Include the conversion tracking code for affiliates
foreach ($this->pendingData['orders'] as $order) {
if (strlen(GetConfig('AffiliateConversionTrackingCode')) > 0) {
......
......
}
Substituindo o código (aplica-se à versão 5.x do Interspire Shopping Cart)
Copie todo o loop foreach e substitua ele pelo seguinte 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
}
Agora é só salvar o arquivo.
Substituindo o código (aplica-se à versão 6.x do Interspire Shopping Cart)
Copie todo o loop foreach e substitua ele pelo seguinte 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
}
Agora é só salvar o arquivo.
Adicionar funções para cálculo de desconto (aplica-se à versão 6.x do Interspire Shopping Cart)
Você ainda está editando o arquivo class.order.php. Adicione o seguinte código antes da linha: private function ThanksForYourOrder()
//////////////////////////////////////////////////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
Configurando as configurações do Interspire
Abra seu painel de administração no Interspire, vá para Configurações/Configurações de afiliados e cole o seguinte código na textarea:
<script id="pap_x2s6df8d" src="https://URL_TO_PostAffiliatePro/scripts/trackjs.js" type="text/javascript"></script>
%%JAVA%%
Ou se você não deseja usar javascript para reportar ao PAP, você pode usar a tag IMG SRC substituindo %%JAVA%% por %%IMG_CODE%%.
OBSERVAÇÃO: Usando o plugin de integração do PayPal com a integração do Interspire.
Não é recomendado usar a integração do Interspire junto com o plugin de integração do PayPal (ou integração de outro processador de pagamento suportado pelo Interspire). Isso pode levar a transações de rastreamento duplo. Você precisa configurar uma proteção contra fraudes de vendas para evitá-las.
O Interspire está lidando com todas as transações (processa todas as transações, independentemente do método de pagamento) e, por isso, você deve usar apenas esta Integração do Interspire. Se esta integração não for adequada para você, tente uma alternativa.
Qualquer dúvida/comentário/sugestão envie um e-mail para Dustin dmanz013@gmail.com.

O que é o Interspire Shopping Cart?
O Interspire Shopping Cart era uma plataforma de e-commerce abrangente, projetada para capacitar empresas com uma solução robusta de vendas online. Desenvolvido com recursos fáceis de usar e focado em pequenas e médias empresas, ele oferecia ferramentas para configurar, gerenciar e promover lojas online. Embora a plataforma tenha sido descontinuada, seu legado oferece insights valiosos sobre o desenvolvimento de e-commerce e a evolução das soluções de varejo online.
O Interspire Shopping Cart surgiu como um produto da Interspire, uma empresa conhecida por suas soluções de software baseadas na web. Lançado para atender à crescente demanda por plataformas de e-commerce acessíveis, ele rapidamente ganhou popularidade entre empresas que buscavam um sistema de carrinho de compras tudo-em-um. Ao longo dos anos, evoluiu ao integrar novos recursos e responder ao feedback dos usuários. No entanto, com o surgimento de concorrentes mais avançados e mudanças nas demandas do mercado, a Interspire eventualmente encerrou o desenvolvimento do software Shopping Cart, redirecionando seu foco para outros projetos.
O Interspire Shopping Cart foi desenvolvido para pequenas e médias empresas que desejam estabelecer ou aprimorar sua presença online. Sua interface intuitiva e recursos abrangentes o tornaram atraente para empreendedores sem grande expertise técnica. Varejistas, atacadistas e vendedores de nicho encontraram na plataforma uma solução especialmente vantajosa para lançar lojas online de forma rápida e eficiente.
Principais Recursos do Interspire Shopping Cart
A plataforma possuía um conjunto rico de recursos projetados para simplificar as operações de e-commerce:
Administração Amigável: Painel de controle fácil de navegar para gerenciar produtos, pedidos e clientes.
Vitrines Personalizáveis: Uma variedade de modelos e temas que permitem às empresas personalizar a aparência e a experiência de suas lojas online.
Gestão de Estoque: Ferramentas para acompanhar os níveis de estoque, configurar alertas de estoque e gerenciar opções de produtos.
Ferramentas de Marketing e SEO: Recursos integrados para otimização de mecanismos de busca, integrações de marketing por e-mail e ferramentas promocionais como cupons e descontos.
Múltiplas Formas de Pagamento: Suporte para várias opções de pagamento, incluindo cartões de crédito, PayPal e mais.
Suporte Internacional: Capacidades multilíngues e multimoeda para atender a uma base de clientes global.
Relatórios e Análises: Relatórios detalhados sobre vendas, comportamento dos clientes e desempenho da loja para orientar decisões de negócios.
Precificação do Interspire Shopping Cart
O Interspire Shopping Cart oferecia planos de preços escalonados para atender às diferentes necessidades e orçamentos das empresas. A estrutura de preços geralmente incluía:
Planos Iniciais: Para iniciantes com requisitos básicos, oferecendo recursos essenciais a um custo menor.
Planos Profissionais: Opções intermediárias com recursos avançados, adequadas para empresas em crescimento.
Planos Empresariais: Pacotes abrangentes com acesso completo a recursos, suporte prioritário e opções de personalização.
Como a plataforma foi descontinuada, esses planos de preços não estão mais disponíveis. Empresas interessadas em soluções semelhantes podem explorar as ofertas atuais do mercado com estruturas de preços comparáveis.
Percepções do Usuário sobre o Interspire Shopping Cart
Os usuários do Interspire Shopping Cart apreciavam sua facilidade de uso e a ampla gama de recursos oferecidos. O feedback positivo frequentemente destacava:
Simplicidade: O processo de configuração direto e a curva de aprendizado acessível.
Ferramentas Abrangentes: Inclusão de funcionalidades essenciais de e-commerce sem a necessidade de plugins adicionais.
Suporte ao Cliente: Assistência responsiva durante seu período de operação.
Alguns usuários, no entanto, mencionaram limitações, como:
Restrições de Personalização: Desafios ao personalizar além dos modelos fornecidos sem conhecimento técnico.
Problemas de Escalabilidade: Dificuldades em acomodar um crescimento significativo dos negócios ou altos volumes de tráfego.
Falta de Atualizações: Preocupações com atualizações de software e manutenção antes de sua descontinuação.
Alternativas ao Interspire Shopping Cart
Com o Interspire Shopping Cart não estando mais em operação, as empresas passaram a recorrer a plataformas de e-commerce alternativas que oferecem recursos modernos e suporte contínuo:
Shopify: Uma plataforma amplamente utilizada, conhecida por sua facilidade de uso, ampla loja de aplicativos e escalabilidade.
WooCommerce: Um plugin de código aberto para usuários do WordPress que buscam recursos personalizáveis para lojas online.
Magento (Adobe Commerce): Oferecendo recursos avançados e personalização para empresas maiores que necessitam de soluções robustas.
BigCommerce: Oferecendo um equilíbrio entre usabilidade e recursos abrangentes, adequado para diversos tamanhos de empresas.
Squarespace Commerce: Ideal para empresas que valorizam design e estética junto com funcionalidade de comércio eletrônico.