Не очищать корзину до подтверждения оплаты от шлюза

Приветствую!

Minishop2 4.3.0

Работа по умолчанию: после формирования заказа корзина очищается.
Что требуется: очищать корзину только после того, как шлюз пришлет post запрос об успешной оплате.

Зачем: если человек сформировал заказ, перешел на страницу шлюза для оплаты, а потом вдруг вернулся назад/закрыл страницу и вернулся в корзину для оплаты, чтобы заново провести процесс, товары должны быть в корзине.

Мысли:
/core/components/minishop2/handlers/msorderhandler.class.php в функции submit
есть фрагмент
if ($this->storage === 'session') {
            $this->ms2->cart->clean();
    $this->clean();
}
Планирую расширить класс, в новом убрать данный фрагмент, а в классе платежного агрегатора добавить очистку корзины после обработки положительного post-ответа.

Вопрос: в верно направлении думаю? Стоит ли ждать нарушения в работе ms2 при от такой модификации? Советы?
Скаут
17 августа 2024, 17:23
modx.pro
172
0

Комментарии: 1

Артур Шевченко
22 августа 2024, 09:34
0
Про расширение класса верно, а вот очистку я бы сделал в плагине на смену статуса на Оплачен.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    1