Rhapsody Posted March 20, 2011 Share Posted March 20, 2011 I just upgraded from 1.3.7.0 to 1.4.0.17. There is a problem when I submit a test order at the last step (either OPC or 5-step process). If I select "Cheque" as the payment method it returns with "fatal error" in the middle of an otherwise normal shop page with the url in the address bar .../modules/cheque/validation.phpWhen I try this with PayPal, the PayPal transaction gets processed for the payment amount on PayPal, but no record in the BO because PayPal also results in "fatal error" when returning to the shop.I did modify some files and my theme. I thought maybe it was my modification problem. I restored all the original 1.4.0.17 files and used the stock prestashop them - same problem.Any ideas on how to troubleshoot and fix this? Link to comment Share on other sites More sharing options...
x1 Posted March 21, 2011 Share Posted March 21, 2011 Hi, I don't know if it can help you, but I had fatal errors messages with paiement modules (paypal and cheque with prestashop v1.3.5). I solved the problem by removing the soColissimo carrier module. I had searched the solution for many weeks.... Good luck Link to comment Share on other sites More sharing options...
Rhapsody Posted March 22, 2011 Author Share Posted March 22, 2011 I deleted that carrier module and still have the same problem. Link to comment Share on other sites More sharing options...
Rhapsody Posted March 22, 2011 Author Share Posted March 22, 2011 More debug information - I do not get the fatal error for orders placed by new customers added after th upgrade, only customers that were transferred as part of the upgrade process. Link to comment Share on other sites More sharing options...
Gorets Posted March 23, 2011 Share Posted March 23, 2011 I was have this problem - go to tab PDF and try change font and coding/(you install anothe font in previos presta?) Link to comment Share on other sites More sharing options...
Rhapsody Posted March 25, 2011 Author Share Posted March 25, 2011 I tried the PDF changes - no difference. Link to comment Share on other sites More sharing options...
Gorets Posted March 25, 2011 Share Posted March 25, 2011 Then look apache log. i have too this error - beackose custom template was have link to image /users.png, and thete no was this file. Link to comment Share on other sites More sharing options...
Rhapsody Posted March 27, 2011 Author Share Posted March 27, 2011 I enable debug in defines.inc.phpHere is the debug info on the screen. Can anyone tell what the problem is from this? Array ( [0] => Array ( [file] => /home/chnycus/public_html/shop14/classes/PaymentModule.php [line] => 101 [function] => displayError [class] => ToolsCore [type] => :: [args] => Array ( ) ) [1] => Array ( [file] => /home/chnycus/public_html/shop14/modules/cheque/validation.php [line] => 50 [function] => validateOrder [class] => PaymentModuleCore [object] => Cheque Object ( [_html:private] => [_postErrors:private] => Array ( ) [chequeName] => CHNYC [address] => Address Goes Here [currentOrder] => [currencies] => 1 [currencies_mode] => checkbox [id] => 46 [version] => 2.3 [name] => cheque [displayName] => Check [description] => Module for accepting payments by check. [author] => PrestaShop [tab] => payments_gateways [active] => 1 [_lang:protected] => Array ( ) [_path:protected] => /shop14/modules/cheque/ [warning] => [beforeUninstall] => [_errors] => [table:protected] => module [identifier:protected] => id_module [confirmUninstall] => Are you sure you want to delete your details ? ) [type] => -> [args] => Array ( [0] => 80 [1] => 1 [2] => 5 [3] => Check [4] => [5] => Array ( [{cheque_name}] => CHNYC [{cheque_address}] => Address Goes Here [{cheque_address_html}] => Address Goes Here ) [6] => 2 [7] => [8] => 7064c2f5742f5ab2adb7ab6ff108dae3 ) ) ) Link to comment Share on other sites More sharing options...
Rhapsody Posted March 27, 2011 Author Share Posted March 27, 2011 Some more debug work - I commented out some lines in classes/payment.php near line 100 and made things work. Not sure what the impact is if this were used on a live shop. public function validateOrder($id_cart, $id_order_state, $amountPaid, $paymentMethod = 'Unknown', $message = NULL, $extraVars = array(), $currency_special = NULL, $dont_touch_amount = false, $secure_key = false) { global $cart; $cart = new Cart((int)($id_cart)); // Does order already exists ? if (Validate::isLoadedObject($cart) AND $cart->OrderExists() === 0) { // if ($secure_key !== false AND $secure_key != $cart->secure_key) - commented out for testing // die(Tools::displayError()); - commented out for testing Link to comment Share on other sites More sharing options...
shokinro Posted March 28, 2011 Share Posted March 28, 2011 thanks for sharing the information.I guess something went wrong with secure_key of cart/customer at the data migration.Or maybe the secure key generating method is changed some way in 1.4 Link to comment Share on other sites More sharing options...
fifa3601 Posted March 29, 2011 Share Posted March 29, 2011 I have never seen this kind of situation.. Link to comment Share on other sites More sharing options...
Rhapsody Posted March 29, 2011 Author Share Posted March 29, 2011 thanks for sharing the information.I guess something went wrong with secure_key of cart/customer at the data migration.Or maybe the secure key generating method is changed some way in 1.4 Is there a way that I could regenerate the secure keys for the migrated customers so that this problem could be fixed without commenting out the lines above? Perhaps a script that could be run through phpmyadmin Link to comment Share on other sites More sharing options...
shokinro Posted March 29, 2011 Share Posted March 29, 2011 I think PrestaShop is using MD5 (PHP) to generate secure key.and there is also same function MD5() of MySQL to generate same hash.maybe you can have try, I suggest test it at some test environment first, then apply it to your store databaseFor your reference, here is PHP code in PrestaShop to generate customer key.You can find this in /classes/Customer.php $this->secure_key = md5(uniqid(rand(), true)); Link to comment Share on other sites More sharing options...
doigro Posted March 30, 2011 Share Posted March 30, 2011 I have the same problem. A new created client can finalize orders but an old one can not. Any solution? Link to comment Share on other sites More sharing options...
cbjarnson Posted April 4, 2011 Share Posted April 4, 2011 Same issue here. Old clients are having to reregister to checkout. Link to comment Share on other sites More sharing options...
Rhapsody Posted April 4, 2011 Author Share Posted April 4, 2011 See my post #8 above as a work around. I've done this mod to classes/payment.php near line 100 and it is working on a live shop. I posted the problem 30 March 2011 in the bug tracker, but it still hasn't been assigned to anyone. Link to comment Share on other sites More sharing options...
Stefand Posted April 7, 2011 Share Posted April 7, 2011 Hmm, I'm not happy with some updated shops to 1.4I have also this bug, fatal error for old registered customers.I have use the rhapsody work around.I think it's solved right now.But it's not the right solution I think ? Link to comment Share on other sites More sharing options...
shokinro Posted April 7, 2011 Share Posted April 7, 2011 public function validateOrder($id_cart, $id_order_state, $amountPaid, $paymentMethod = 'Unknown', $message = NULL, $extraVars = array(), $currency_special = NULL, $dont_touch_amount = false, $secure_key = false) The above function has been changed from 1.4A new parameter (the last one) $secure_key is added, This function is called from payment modules.So if the payment module does not pass this parameter or pass parameter as false, it should be OK. Link to comment Share on other sites More sharing options...
Rhapsody Posted April 10, 2011 Author Share Posted April 10, 2011 I did some checking in the mysql database and it appears that many of the migrated customers have a blank in the secure_key filed in the table ps_customerI'm thinking this is what is causing the fatal error. Anyone else seeing the same thing? Link to comment Share on other sites More sharing options...
shokinro Posted April 12, 2011 Share Posted April 12, 2011 I did some checking in the mysql database and it appears that many of the migrated customers have a blank in the secure_key filed in the table ps_customer If that is the case, then you can solve the problem by copy secure_key from old database if you have backup copy. Link to comment Share on other sites More sharing options...
greekairsoft Posted April 30, 2011 Share Posted April 30, 2011 it is not a prestashop bug, this error is from core email templates, must replace the backup emails in your lang emails with the new templates Link to comment Share on other sites More sharing options...
shokinro Posted April 30, 2011 Share Posted April 30, 2011 this error is from core email templates, must replace the backup emails in your lang emails with the new templates I think this is just one of the multiple cases the cause the fatal error.During order validation, there are multiple scenarios will cause the same fatal error. It depends.Here are some of them- secure key - email template - generate invoice ...... Link to comment Share on other sites More sharing options...
greekairsoft Posted April 30, 2011 Share Posted April 30, 2011 probably in other cases to blame something else, but in my case that I had this problem after several days of groping and fatigue was solved by this Link to comment Share on other sites More sharing options...
shokinro Posted April 30, 2011 Share Posted April 30, 2011 thanks for sharing, I am sure it is one of the scenario. Link to comment Share on other sites More sharing options...
WW Posted July 2, 2011 Share Posted July 2, 2011 same problem here using prestashop ver 1.4.1I’ve placed some order for testing several times with paypal but the last page of order is always same blank page with this error msg ;Fatal error: Cannot access empty property in /home/domain/public_html/classes/PaymentModule.php on line 494BUT paypal payment go through so that I can see the listed order on ‘orders’ tap.BUT there shows another error msg when I trying to generate invoice of that order ;Fatal error: Cannot access empty property in /home/domain/public_html/classes/PDF.php on line 468Any solutions or technical support of this issue?Thx Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now