Остатки в магазине и смена статуса заказа

Всем привет!

Попал я тут в логический тупик. Прошу совета.
Так вот, представим ситуацию: человек заказывает товар/ы, долго не оплачивает, статус заказа висит как «Новый».
Потом оплачивает его, метод 'recieve' класса оплаты меняет статус на «Оплачен» и… тут выясняется, что оплаченного товара уже нет — кончился. Другие покупатели успели оплатить раньше.

Какие есть варианты выхода из такой ситуации? Статус заказа уже не поменять — он «фиксирует» заказ.
Какая-то процедура возврата средств? Но каким образом?
Ведь оплата может быть через paypal/почту/rbk-money/что угодно.
Если да, то как потом этот возврат средств отразить в самом заказе?

Честно говоря, пока не представляю как выходить из этой ситуации.
Алексей Карташов
14 августа 2013, 04:27
modx.pro
1
1 702
0

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

Василий Наумкин
14 августа 2013, 08:55
0
Очень просто — завести новый метод «Отменен» и проверять заказы по крону.
Например, отменять заказы через 1 день, или проверять наличие товара и отменять тогда, когда их нет.

Попробую добавить это в новую версию, из коробки.
    Алексей Карташов
    14 августа 2013, 09:11
    0
    Блин, точно!
    Самый верняк — это на msOnChangeOrderStatus проверять, если только что оплаченный заказанный товар кончился, отменять другие заказы с этим товаром. Отлично, спасибо!
    Но тогда надо уведомить как-то об этом покупателя. Можно заюзать поле «Комментарий», но, по логике, оно ведь предназначено для менеджеров, в письмах и чанках не отображается, да и комментарий этот никак со статусом не связан — он всегда останется таким, каким его написали, даже при смене статуса.
    Но так-то пофиг, можно использовать и его.
      Василий Наумкин
      14 августа 2013, 09:15
      0
      Ну так ты можешь же и вручную письмо создать и отправить, через modMail.

      К сожалению, ваш заказ отменен, бла-бла-бла...
    Алексей Карташов
    14 августа 2013, 09:14
    0
    А чтобы из коробки это работало и настраивалось, по ходу надо какую-то настройку, в которой указывать id заказа, при смене на который надо делать эту проверку.
    Sergey Leleko
    12 октября 2014, 10:09
    0
    А было ли это добавлено в итоге в minishop2?
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      6