minishop2 4.0.0 - beta и PayPal 1.0.1 + небольшая рекомендация авторам платежных систем

Всем привет. Тихо без анонса мы выложили для скачивания и обновления MiniShop2 4.0.0 — beta.
Уже почти 100 скачиваний, практически без жалоб. На данный момент пофиксили всего одну проблему.

Стабильность и отсутствие проблем при обновлении это хорошо. Значит можно переводить проект из стадии Beta в стабильный релиз.

Кроме того у команды уже готов список улучшений для версии 4.1. Приступили к реализации.


Напомню, что в текущей версии miniShop2 4.0.0 были добавлены системные настройки, позволяющие гибче работать со статусами заказа.

Представьте, что вы добавили свой собственный статус Проверен и оплачен.
Каким образом заставить вашу платежную систему в процессе оплаты менять статус на нужный вам, а не на ID 2?

Да, можно залезть в исходники платежки и поменять в коде вшитый туда статус. И проделывать это заново, при каждом обновлении компонента.

Новые системные настройки позволяют указать какие ID использовать в различных случаях, без правки исходников.

  • ms2_status_draft
  • ms2_status_new
  • ms2_status_paid
Я уже внес правки в два своих платежных компонента Robokassa и PayPal. На этом примере покажу как пользоваться упомянутыми настройками.

Во всех без исключения платежках есть метод receive.
Чтобы пометить заказ оплаченным стандартный случай следующий
//  Зашитый намертво статус с ID 2
$this->ms2->changeOrderStatus($order->get('id'), 2); // Set status "paid"

Меняем его на такой код
// Забираем системную настройку ms2_status_paid - если такой нет, по умолчанию ID = 2
 $status_paid = $this->modx->getOption('ms2_status_paid', null, 2);
 $this->ms2->changeOrderStatus($order->get('id'), $status_paid); // Set status "paid"
Для отмены заказа
$status_canceled = $this->modx->getOption('ms2_status_canceled', null, 4);
 $this->ms2->changeOrderStatus($order->get('id'), $status_canceled); // Set status "cancelled"

Рекомендую авторам действующих платежных систем вносить правки в компоненты, для их актуальности. Всем спасибо за внимание.

Вы всегда можете поддержать и ускорить подобные инициативы через финансовую поддержку

Развитие MiniShop происходит исключительно благодаря Вам друзья!
Финансовая поддержка с вашей стороны, позволяет выделять больше времени на развитие сообщества и обновлять наши проекты, которые в свою очередь приносят пользу и вам.

Поддержать нас можно, используя следующие каналы для доната:
Огромное спасибо, всем кто поддерживает!
Николай Савин
09 декабря 2022, 22:51
modx.pro
716
+18
Поблагодарить автора Отправить деньги

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

Константин Ильин
10 декабря 2022, 13:07
0
Николай, подскажите пожалуйста, это же какой-то левый плагин пытается email в адрес засунуть?
disk.yandex.ru/i/Gb2fOHZpN-edAg

Причем возникает как через корзину заказ, так и через сниппет в 1 клик
disk.yandex.ru/i/sBmSnoLg4PLkaQ
    Николай Савин
    10 декабря 2022, 15:01
    +1
    Нет, поле email было добавлено в таблицу адреса, еще, по моему в версии 3.0.0
    Так что с одной стороны все идет по плану.
    С другой стороны у вас почему-то это поле не создалось. Рекомендую руками добавить
      Константин Ильин
      10 декабря 2022, 16:46
      0
      Помогло! еще несколько полей тоже не создались.
        Николай Савин
        10 декабря 2022, 17:02
        +1
        Еще как вариант можно переустановить просто минишоп. В этом случае совершенно точно все поля окажутся на месте.
      des1gner
      27 декабря 2022, 15:59
      0
      А вот эта ошибка похоже то же перекачивала в эту версию
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      6