Ошибка в статусе заказа для цифрового товара в php 8.0

Где возникла проблема: Multi-Vendor 4.18.3.

я перешла на версию php 8.0 и возникла ошибка со статусами заказа после оплаты цифрового товара.

в чем проблема: $v[‘amount’] (количество товара) — где-то стал строкой (например, '1' вместо 1 ), а PHP 8+ не позволяет умножать строку на int без приведения типов.

получается надо функцию как-то поменять в ядре?

foreach ($order_info[‘products’] as $v) {
if (isset($v[‘amount’])) {
$v[‘amount’] = (int)$v[‘amount’];
}

}
из-за этого даже админ не может менять статусы заказов, статус всегда стоит как “неподтвержденный” даже если платежная система написала, что заказ подтвержден и на другой не меняется.

Пока вернулась обратно на 7.4, там всё работает. Подскажите в чём именно проблема?

1 лайк