J2Store (Joomla! Extension)

A shopping cart and e-commerce extension that extends articles as products and lets you to turn articles into full fledged products.

J2 Store is a simple shopping cart application for Joomla.This integration method integrates offline sales and sales processed by PayPal.


Offline sale

Open file plugins/j2store/payment_offline/payment_offline.php and find function _postPayment and this line within it:
if ($orderpayment->save()) {

Add this code right above the line:

$vars->order_id = $orderpayment->order_id;
$vars->total_cost = $orderpayment->order_subtotal;

Save your work. Now open file plugins/j2store/payment_offline/payment_offline/tmpl/postpayment.php and add this code to the end of the file:

<script id="pap_x2s6df8d" src="http://URL_TO_PostAffiliatePro/scripts/trackjs.js" type="text/javascript"></script>
 <script type="text/javascript">
  var sale = PostAffTracker.createSale();
  sale.setTotalCost('<?php echo $vars->total_cost; ?>');
  sale.setOrderID('<?php echo $vars->order_id; ?>');


Save your work. This will create a pending commission for each offline transaction. You will have to approve or decline it manually later - based on the original transaction.


PayPal step 1

Find file plugins/j2store/payment_paypal/payment_paypal/tmpl/prepayment.php and find the notify_url input field. It looks something like this:
<input type="hidden" name="notify_url" value="<?php echo JRoute::_( $vars->notify_url ); ?>" />

and into that field add:

The updated field is supposed to look like this:
<input id='pap_ab78y5t4a' type="hidden" name="notify_url" value="<?php echo JRoute::_( $vars->notify_url ); ?>" />

Right under that notify_url input field (so right under that line of code) place this code below:

<!-- Post Affiliate Pro Integration snippet -->
<script id="pap_x2s6df8d" src="http://URL_TO_PostAffiliatePro/scripts/trackjs.js" type="text/javascript"></script>
<script type="text/javascript">
PostAffTracker.writeCookieToCustomField('pap_ab78y5t4a', '', 'pap_custom');
<!-- /Post Affiliate Pro Integration snippet -->


PayPal step 2

Open file plugins/j2store/payment_paypal/payment_paypal.php and find function _process() and this line within it:
$data = $app->input->getArray($_POST);

Now add this code below right above that line:

 /* Post Affiliate Pro integration snippet */
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "http://URL_TO_PostAffiliatePro/plugins/PayPal/paypal.php?pap_custom=".@$_GET['pap_custom']);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $_POST);
  /* /Post Affiliate Pro integration snippet */

Do not forget to integrate you Joomla with the click tracking code and to activate the PayPal IPN Handling plugin in your installation of Post Affiliate Pro.