Virtue Mart integration
Una solución de comercio electrónico gratuita.
La integración con Virtue Mart se realiza colocando un script de seguimiento de ventas en la página de confirmación.
Editar plantilla
Busca y abre el archivo checkout.thankyou.php .
Debería estar en ‘administrator/components/com_virtuemart/html/‘.
Integración
Reemplazar último:
?>
con el siguiente código:
$q = "SELECT * FROM #__{vm}_user_info WHERE user_id='$user_id'";
$db->query( $q );
$pap_user_email = $db->f('user_email');
$q = "SELECT * FROM #__{vm}_orders WHERE order_id='$order_id'";
$db->query( $q );
$pap_order_subtotal = $db->f('order_subtotal' );
$pap_coupon_code = $db->f("coupon_code");
$pap_coupon_discount = $db->f("coupon_discount");
if (!is_null($pap_coupon_discount) && $pap_coupon_discount != '') {
$pap_order_total = $pap_order_subtotal - $pap_coupon_discount;
} else {
$pap_order_total = $pap_order_subtotal;
}
$q = "SELECT * FROM #__{vm}_order_item WHERE order_id='$order_id'";
$db->query( $q );
$pap_product_id = $db->f('product_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');var sale = PostAffTracker.createSale();
sale.setTotalCost('<?php echo $pap_order_total ?>');
sale.setOrderID('<?php echo $order_id ?>');
sale.setProductID('<?php echo $pap_product_id ?>');
sale.setData1('<?php echo $pap_user_email ?>');
sale.setCoupon('<?php echo $pap_coupon_code ?>');
PostAffTracker.register();
</script>
Este código rastreará el subtotal del precio (con cupón de descuento). Si deseas realizar un seguimiento de otra cosa, puedes utilizar una de estas variables: order_total, order_subtotal, order_tax, order_shipping, order_shipping_tax, coupon_discount, order_discount, order_status, customer_note
Úselo de la forma que se muestra en el código anterior en la tercera línea.
Productos separados
También existe la posibilidad de generar transacciones únicas en PAP para cada tipo de producto. Con esto, tendrás la capacidad de editar tipos de productos separados dentro de un pedido. Es útil si se produce algún reembolso. Luego, rechazarás solo una transacción (comisión) asignada al tipo de producto reembolsado.
En este caso, utiliza este código de integración en lugar del código anterior:
$q = "SELECT * FROM #__{vm}_user_info WHERE user_id='$user_id'";
$db->query( $q );
$pap_user_email = $db->f('user_email');
$q = "SELECT * FROM `#__{vm}_orders` WHERE `order_id`='$order_id'";
$db->query( $q );
$pap_coupon_code = $db->f('coupon_code');
$pap_coupon_discount = $db->f('coupon_discount');
$pap_order_subtotal = $db->f('order_subtotal');
$q = "SELECT * FROM #__{vm}_order_item WHERE order_id='$order_id'";
$number_of_items = @ mysql_fetch_array ($q);
$db->query( $q );
$i='0';
while ($db->next_record()) {
$pap_product_id[$i] = $db->f('product_id');
$pap_item_price[$i] = $db->f('product_final_price');
$pap_item_quantity[$i] = $db->f('product_quantity');
$i++;
}
?>
<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=0; $j<=$i; $j++){
$pap_final_price[$j] = ($pap_order_subtotal - $pap_coupon_discount) * $pap_item_price[$j] * $pap_item_quantity[$j] / $pap_order_subtotal;
echo "var sale".$j." = PostAffTracker.createSale();\n".
"sale".$j.".setTotalCost('". $pap_final_price[$j]."');\n".
"sale".$j.".setOrderID('".$order_id."');\n".
"sale".$j.".setData1('".$pap_user_email."');\n".
"sale".$j.".setCoupon('".$pap_coupon_code."');\n".
"sale".$j.".setProductID('".$pap_product_id[$j]."');\n\n";
}
?>
PostAffTracker.register();
</script>
Si deseas ver el nombre del artículo en lugar del número de artículo, utiliza la variable ‘ order_item_name ‘ en lugar de ‘ product_id ‘en esta línea:
$pap_product_id[$i] = $d
Finalizado
Ahora está integrado. Cada vez que el cliente ingresa a la página de confirmación del pedido, se llama al código de seguimiento y se registrará una venta para referirse al afiliado.
Version 1.4
Parece que la versión 1.4 necesita editar otro archivo – checkout.result.php
Es una sugerencia de uno de nuestros clientes, no la probamos.
Virtue Mart con PayPal
En caso de que estés utilizando VirtueMart con PayPal en tu Joomla, debes seguir algunos pasos especiales para que la integración funcione.
Primero, en administrator/components/com_virtuemart/notify.php (en tu servidor) agrega líneas debajo de la línea con el código: if ($ _POST) {
/* PAP integration */
$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);
/* end of PAP integration */
Ahora guarda el archivo e inicia sesión en tu Joomla.
VirtueMart con PayPal
Ve a Componentes > VirtueMart > Tienda > Mostrar métodos de pago > PayPal > Configuración > Información adicional de pago y agrega una de estas líneas:
"custom" => 'Account_ID'$_COOKIE['PAPVisitorId'], // for version of PAP 4.4.x.x and higher
o (dependiendo de tu versión PAP):
"custom" => $_COOKIE['PAPCookie_Sale'], // for version of PAP 4.3.x.x and lower
Insértalo debajo de la línea con “notify_url” =>…