Falat error при оплате электронного товара через PayPal (v.4.11.4 - 4.12)

Где возникла проблема:

При оплате электронного товара через Paypal пользователь получает такую ошибку
Argument 1 passed to fn_get_edp_notification_rules() must be of the type array, bool given, called in public_html/app/functions/fn.cart.php on line 2636

Суть проблемы:
Функция fn_get_edp_notification_rules ожидает массив а не bool значение

Решение:

File:app/addons/paypal/payments/paypal.php
Line:170
Function:fn_change_order_status

Было fn_change_order_status($order_id, 'O', '', false);
Стало fn_change_order_status($order_id, 'O', '', array());

File:app/addons/paypal/payments/paypal.php
Line:178
Function:fn_change_order_status

Было fn_change_order_status($order_id, 'O', '', false);
Стало fn_change_order_status($order_id, 'O', '', array());
  1. И можно еще тут

File app/functions/fn.cart.php
line: 2636

Перед строкой
$notification_rules = fn_get_edp_notification_rules($force_notification, $edp_data);

поставить
if(!is_array($force_notification)){ $force_notification = []; }

3 лайка

Здравствуйте, @sweetcode.

Спасибо за репорт, проблему воспроизвели.

Проблему починили, исправление войдет в CS-Cart и Multi-Vendor v.4.12.2.
Для исправления проблемы своими силами можно использовать следующий патч:

О том, как его применить, можно почитать в нашей документации: https://www.cs-cart.ru/docs/latest/upgrade/apply_diff_file.html

А может вы скажите когда 4.12.2 выйдет а то в ветки 4.12.1 не отвечают на этот вопрос.

Планируем в этом месяце выпустить.