Common Problems‎ > ‎

3rd Party modules

Klarna compatibility problem
When SagePay payments are enabled Klarna will not show as an option.
This happens because we both extend the same helper class and Magento does not know how to handle it.
The solution: Make Klarna helper (app/code/community/Klarna/Payments/Helper/Data.php) extend to ours changing the class declaration from "class Klarna_Payments_Helper_Data extends Mage_Payment_Helper_Data" to "class Klarna_Payments_Helper_Data extends Ebizmarts_SagePaySuite_Helper_Payment_Data"

Aitoc Checkout
Aitcheckout extension package usually contains readme.txt file with the following contents:

For the instructions, please refer to the help guide named "Making the extension compatible with Sage Pay Suite CE (Pro)" available at Dosc & Help tab on the extension page.
Here's also a direct URL for downloading the help guide: Once the archive is downloaded, please refer to the Readme.txt contained within the archive.

There are known problems when calling quote methods if this module is enabled.
If the integration used is SERVER:
open up app/code/local/Ebizmarts/SagePaySuite/Model/SagePayServer.php and comment $quoteObj->setTotalsCollectedFlag(false)->collectTotals();

open up app/code/local/Ebizmarts/SagePaySuite/Model/Api/Payment.php
$this->_getQuote()->reserveOrderId()->save(); to $this->_getQuote()->reserveOrderId();

In order to solve the problem where attributes are not saved you should do this.
Open app/code/local/Amasty/Customerattr/Model/Rewrite/Customer.php change line 49 to
        if (!$customerAttributes && ('checkout' == Mage::app()->getRequest()->getModuleName() || 'sgps' == Mage::app()->getRequest()->getModuleName()))

Ecomdev Checkitout
The guys from Ecomdev have provided a patch for our module to make it work with Ecomdev's Checkitout, you can view the patch here and apply.

Templates Monster - Firecheckout
Open up app/design/frontend/base/default/layout/sagepaysuite.xml and add <firecheckout_index_index> node with the same contents that node <checkout_onepage_index> has. Clear magentos cache and try again.

A conflict exists with this module because both the SUITE and Unirgy's module overwrite Magento's core Helper 
In order to solve this conflict you need to open up app/code/local/Ebizmarts/SagePaySuite/Helper/Payment/Data.php and change class Ebizmarts_SagePaySuite_Helper_Payment_Data extends Mage_Payment_Helper_Data to classEbizmarts_SagePaySuite_Helper_Payment_Data extends  Unirgy_Giftcert_Helper_Payment 
If you still face the issue, you have to undo what you did and edit app/code/community/Unirgy/Giftcert/Helper/Payment.php and change class Unirgy_Giftcert_Helper_Payment extends Mage_Payment_Helper_Data to classUnirgy_Giftcert_Helper_Payment extends Ebizmarts_SagePaySuite_Helper_Payment_Data

If you get this error message: This customer email already exists, the guys from OSC support added a double check for this problem, make sure you are running the latest release of their module. The fix is present in 4.* series and is turned on dependant of registration mode set from System > Configuration > Sales > OneStepCheckout . You can force this to be always on if you edit app/code/local/Idev/OneStepCheckout/Helper/Checkout.php and set the line 121 to return true all the time.

It should be something like this:
protected function _isLoggedIn()
       //$helper = Mage::helper(‘customer’);
       //if($helper->isLoggedIn() )    {
           return true;

       //return false;

Payment has failed, please reload checkout page and try again. Your card has not been charged. (ONLY ON IE BROWSERS)
Open up app/design/frontend/base/default/template/onestepcheckout/checkout.phtml, search for /* Submit the form */ and replace $('onestepcheckout-form').submit(); with 

    $('onestepcheckout-form').action = SuiteConfig.getConfig('global', 'sgps_saveorder_url');                            
    var suiteConfigCheckout = new EbizmartsSagePaySuite.Checkout(
            'osc': $('onestepcheckout-place-order'),
            'oscFrm': $('onestepcheckout-form')

Tinybrick full page cache (light speed)
Add these two statements

if (preg_match('/\/sgps(\/|$)/', $_SERVER['REQUEST_URI'])) {

                throw new Exception("sage pay suite frontend");


if (preg_match('/\/sgpsSecure(\/|$)/', $_SERVER['REQUEST_URI'])) {

                throw new Exception("sage pay suite backend");