I have done my homework and I know what the problem is with my website, but I don't know how to solve it

The Symptoms

When a new user clicks on place order, he receives an empty error message preventing him from proceeding. see the image below

enter image description here

The fact that it happens only to new users tells me that this is a recent problem but I don't remember what has changed since.

The Error

The error that I see in the apache log after this happens is the following:

PHP Fatal error:  Uncaught Error: Call to a member function getCarrier() on boolean in /var/www/public/vendor/magento/module-checkout/Model/PaymentInformationManagement.php:119
Stack trace:
#0 /var/www/public/vendor/magento/framework/Interception/Interceptor.php(58): Magento\\Checkout\\Model\\PaymentInformationManagement->savePaymentInformation(1, Object(Magento\\Quote\\Model\\Quote\\Payment\\Interceptor), Object(Magento\\Quote\\Model\\Quote\\Address\\Interceptor))
#1 /var/www/public/vendor/magento/framework/Interception/Interceptor.php(138): Magento\\Checkout\\Model\\PaymentInformationManagement\\Interceptor->___callParent('savePaymentInfo...', Array)
#2 /var/www/public/vendor/magento/framework/Interception/Interceptor.php(153): Magento\\Checkout\\Model\\PaymentInformationManagement\\Interceptor->Magento\\Framework\\Interception\\{closure}(1, Object(Magento\\Quote\\Model\\Quote\\Payment\\Interceptor), Object(Magento\\Quote\\Model\\Quote\\Address\\Interceptor))
#3 /var/www/public/generated/code/Magento/Checkout/Model/PaymentInformationManagement/Interceptor.ph in /var/www/public/vendor/magento/module-checkout/Model/PaymentInformationManagement.php on line 119

The Problem

After extensive debugging, I have identified the problem as that Magento 2 is no longer saving new rows to the table quote_shipping_rate. That's why existing customers who already have their records saved in this table are able to checkout with no problem. But for new customers (or guests) this problem occurs.

I don't know where Magento 2 is supposed to insert new records in this table even after debugging (I'm using XDebug) and I don't know what causes it to stop inserting the new records.

Any Help will be highly appreciated.

The list of all modules and extensions I have can be found here: https://pastebin.com/u1uigaSL

(Magento version is 2.2.8)


The problem has been solved.

It turned out that the problem was due to an extension that I was using. Specifically, Magestore_StorePickup

After disabling it, the problem went away.

  • Hi @Hassan Al-Jeshi. I'm currently experiencing a similar issue (question 284537) but I do not have the same module as you did installed. Would you be able to let me know how you found which module was causing the problem or provide any other advice about how to fix the issue? Thanks – CJNotts Aug 6 '19 at 8:34
  • 1
    @CJNotts I have just disabled the extensions one by one and see what fixed the issue. After each extension I disable, I clear cache and deploy static content – Hassan Al-Jeshi Aug 7 '19 at 9:30
  • Thanks I'll get onto that. I've got an idea which one it is now. – CJNotts Aug 7 '19 at 10:13
  • In case the extension was "Shipping Table Rates" by Amasty. Thanks for your help. – CJNotts Aug 12 '19 at 11:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.