0
0

Ошибка при подтверждении заказа в Opencart 2.3


Ошибка при подтверждении заказа в Opencart 2.3

При подтверждении заказа в Opencart 2.3 может возникать ошибка 500, клиенту не показывается сообщение об успешном заказе, но при этом заказ сохраняется. 

Если посмотреть в консоль браузера (F12) то в панели разработчика на вкладке "Сеть" можно увидеть ошибку в запросе confirm к платежному модулю, например:

 

 

index.php?route=extension/payment/cheque/confirm&_=**** - ошибка 500
index.php?route=extension/payment/bank_transfer/confirm&_=****  - ошибка 500
index.php?route=extension/payment/cheque/cod&_=**** - HTTP 500
index.php?route=extension/payment/cheque/free_checkout&_=**** - ошибка 500

Если же у вас включен вывод ошибок на экран, тогда вы увидите ошибку

Fatal error: Call to a member function check() on a non-object in /catalog/model/checkout/order.php on line 267

Эти ошибки бывают из-за того, что в сборке Opencart 2.3 есть один баг (ошибка) в процессе заказа, если у вас включен какой-то модуль из раздела "Защита от мошенничества", например "Защита от мошенничества по IP".

Это решается очень просто, нужно открыть файл 
/catalog/model/checkout/order.php

найти там строку
$fraud_status_id = $this->{'model_fraud_' . $extension['code']}->check($order_info);
и заменить на
$fraud_status_id = $this->{'model_extension_fraud_' . $extension['code']}->check($order_info);

Сохранить файл и обновить модификации в админке на всякий случай.



Комментарии

Написать комментарий

Ваш e-mail не будет опубликован.
Внимание: HTML не поддерживается! Используйте обычный текст!
Captcha

Подпишись на рассылку и получай скидки до 90%