SupportICEPAY HomepageDeveloper NetworkForum
Language
 
Home>Knowledge Base>ICEPAY>Virtuemart>Fatal error: Class 'ps_icepayclass' not found
User Login
Username
Password
 
 Login
Information
Article ID47
Created On2/15/2010
Modified2/15/2010
Share With Others

Fatal error: Class 'ps_icepayclass' not found


Error:
Fatal error: Class 'ps_icepayclass' not found in \components\com_virtuemart\themes\default\templates\pages\account.order_details.tpl.php(56) : eval()'d code on line 1

Happens in:
ICEPAY Virtuemart plugin modules up to 2.1.1

On page:
User account order details if ICEPAY default status settings are altered.

Reason:
The order_details page shows the "extra information" of the payment module if the payment status is "P", de standard Virtuemar "Pending" status. ICEPAY uses the "extra information" to start a payment, therefore this creates an error. 

Fix:
It is recommended to use the default ICEPAY status codes, because there is no "P" status code, this error will not occur.

Otherwise there are 2 possible fixes:
1) Change the Pending "P" status to a different letter. Ensure all the status codes are unique and don't forget to set the new status code in the ICEPAY module configuration. You can change the status codes in: Administrator > Components > Virtuemart > Orders > List Order Status Types

OR

2) Change the code in \components\com_virtuemart\themes\default\templates\pages\account.order_details.tpl.php, make sure to change the "default" theme in the correct theme folder.

Line 55-58
Find:

        ifeval('?>' . $dbpm->f("payment_extrainfo") . '<?php ') === false ) {  
            echo vmCommonHTML::getErrorField( "Error: The code of the payment method ".$dbpm->f( 'payment_method_name').' ('.$dbpm->f('payment_method_code').') ' 
            .'contains a Parse Error!<br />Please correct that first' );  
        } 

Change into:
        /*if( eval('?>' . $dbpm->f("payment_extrainfo") . '<?php ') === false ) {
            echo vmCommonHTML::getErrorField( "Error: The code of the payment method ".$dbpm->f( 'payment_method_name').' ('.$dbpm->f('payment_method_code').') '
            .'contains a Parse Error!<br />Please correct that first' );
        }*/