Known Issues - Reward Points

I had set up Earning rule, but points calculations does not include tax

This issue can appear due either to wrong rule setup, or Magento's tax calculation details.

Solution:

  • Make sure, that you're using Cart type for the earning rule. Only this type can calculate points from actually paid amount;
  • Make sure, that tax is applied before discount. This option is set at System -> Configuration -> Sales -> Tax -> Calculation Settings -> Apply Customer Tax. If there's After discount value, then our extension will not include tax to points calculation.

On adding products to the Cart or/and proceeding to Cart and Checkout grand total turns to zero

This issue can appear, when you use third-party extension, which alters total recalculation or quote saving event and thus conflicting with our extension.

Solution:

Go to Reward Points -> Settings -> Advanced. This section contains options, which allow to disable points recalculation on Magento events, and enable it through observer functions.

In most cases you need to set these options:

  • Refresh points on cart and checkout to Yes.
  • Disable Points Refreshing at Stages to Frontend quote save or/and Order Completion.

This will disable points refreshing on Magento's events, and make points refresh only on Cart and Checkout stage.

If this will not help, try to experiment with disabling refreshing for different stages. One of these combinations will resolve the conflict.

See also next issue, that also can apply.


I had installed POS (Point-of-Sales) extension, and orders from POS turned to zero

This issue can appear due to custom shopping cart or custom quote, that POS uses for their order creation. Our extension uses standard ones, therefore, also can conflict.

Solution:

Typically Points-of-Sales extensions features their own URI space with easily-recognized pattern.

So in most cases it is enough to exclude these using Reward Points -> Settings -> Advanced -> Exclude points refresh, when URI request has pattern option.

If Point of Sales extension also modifies cart events, you might also need to disable points refresh at Backend quote save at Reward Points -> Settings -> Advanced -> Disable Points Refreshing at Stages.

Note: Although this option shall contain a regular expression, it also can contain a regular string. If POS URI space has very simple pattern - for example, /pos/ or PointOfSales_PointOfSales - just enter it to that field, it will also properly filter POS pages and requests.


IDEV Onepage Checkout (version <= 4.x) does not show correctly the points value

For example, it should show '100 Reward points', but it shows '$100' on the checkout page.

Solution:

  1. Open a file /app/design/frontend/[your theme]/template/onestepcheckout/summary.phtml.
  2. Find the line with <?php echo $this->helper('checkout')->formatPrice($value); ?>.
  3. Replace that line by the following code:
    <?php if ($code == 'rewards_earn' || $code == 'rewards_spend'): ?>
    <?php echo Mage::helper('rewards')->formatPoints($value) ?>
    <?php else: ?>
    <?php echo $this->helper('checkout')->formatPrice($value); ?>
    <?php endif;?>

New Order notification email, when contains Reward Points discount, has untranslated keywords

For example, email subtotal section contains row "Discount (100 Mukafat Xallari)", while should be "Endirim (100 Mukafat Xallari)".

Solution:

  1. Open a file app/locale/[your locale]/Mage_Sales.csv.
  2. Find appropriate keyword and give it proper translation.

When I try to filter grid at your extension (Reward Points -> Referrals for example), it crushes with SQL dump.

Check your SQL dump, it shall resemble the following:

a:5:{i:0;s:712:"SQLSTATE[42S22]: Column not found: 1054 Unknown column 'CONCAT(`ce1`.`value`, ' ',`ce2`.`value`)' in 'where clause', query was: SELECT COUNT(*) FROM `m_rewards_referral` AS `main_table`
LEFT JOIN `customer_entity_varchar` AS `ce1` ON ce1.entity_id=main_table.customer_id
LEFT JOIN `customer_entity_varchar` AS `ce2` ON ce2.entity_id=main_table.customer_id
LEFT JOIN `customer_entity_varchar` AS `ce3` ON ce3.entity_id=main_table.new_customer_id AND ce3.attribute_id=5
LEFT JOIN `customer_entity_varchar` AS `ce4` ON ce4.entity_id=main_table.new_customer_id AND ce4.attribute_id=7 WHERE (ce1.attribute_id=5) AND (ce2.attribute_id=7) AND (`CONCAT(``ce1```.```value``, ' ',``ce2```.```value``)` LIKE '%arnold%')";i:1;s:6043:"#0 /home/ipet/public_html/includes/src/Varien_Db_Statement_Pdo_Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array)

This issue appears, when used third-party extension BL Custom Grid for Grid customization.

Solution:

Unfortunately, this conflict can not be resolved from our side. BL Custom Grid operates on top of our extension, and therefore, overrides our classes.

Moreover, this extension is old and abandoned, so the best solution in this case would be either disabling BL Custom Grid, or customizing its code to fit Mirasvit extension.

Reward Points