Дмитрий

Дмитрий

Был в сети 14 января 2020, 22:48
Заказы не принимаю
Здравствуйте, Владимир!

При успешной оплате заказа в лог падают такие ошибки (заменил многоточием личные данные):

[2020-01-13 14:16:30] (ERROR @ /home/… /payment/msptinkoff.class.php: 328) [miniShop2:mspTinkoff] Init
[2020-01-13 14:16:30] (ERROR @ /home/… /payment/msptinkoff.class.php: 329) '{«TerminalKey»:"… ",«OrderId»:«2001\\/15»,«Amount»:600000,«CustomerKey»:752,«Currency»:«643»,«RedirectDueDate»:«2020-01-18T14:16:30Z»,«DATA»:{«Email»:"… "},«Receipt»:{«Items»:[{«Name»:"… ",«Price»:600000,«Quantity»:1,«Amount»:600000,«Tax»:«none»}],«Email»:"… ",«Taxation»:«osn»},«Token»:"… "}'
[2020-01-13 14:16:30] (ERROR @ /home/… /payment/msptinkoff.class.php: 328) [miniShop2:mspTinkoff] Init
[2020-01-13 14:16:30] (ERROR @ /home/… /payment/msptinkoff.class.php: 329) array (
'Success' => false,
'ErrorCode' => '8',
'Message' => 'Неверный статус транзакции.',
'Details' => 'Заказ 2001/15 был оплачен.',
)

Что может быть не так?
MODX — компьютерная система весьма приличной сложности, походу сами её создатели не всегда знают, почему она ведёт себя так или иначе. Особенно, когда система написана не одним автором, а группой. В MODX я пока новичок, но всю сознательную жизнь работал в ИТ, начиная от техподдержки 1С, SAP до магистрального телекома.

После серии эпичных факапов вначале своей ИТ-карьеры выработал простой алгоритм внесения любых глобальных изменений в железяки и программные комплексы:

1. Полный бекап системы с пометкой: дата бекапа, состояние ДО внесения таких то изменений
2. Собственно, внесение изменений
3. Полный цикл тестов работоспособности системы, как минимум, критичного функционала.
4. Полный бекап системы с пометкой: дата бекапа, состояние ПОСЛЕ внесения тех же изменений.
5. Наблюдение за боевой эксплуатацией комплекса как минимум в течение нескольких дней. Если всё ок — через неделю можно удалить бекап из п.1 — уже понятно, что в случае чего придётся чинить то, что есть, так далеко назад уже никто не даст откатиться.

Если после п.2 всё пошло через пень-колоду, всегда можно откатить систему в состояние ДО внесения изменений.

Кстати, в телекоме (Ericsson AXE-810) примерно такой алгоритм заложен аппаратно: дублированный процессор, одна сторона Executive, вторая — Stanbdby на подхвате. Изменения вносятся в сепарированную SB-Side, потом они переключаются местами, тестируем, и если всё ок — выравниваем стороны и ставим в параллельный режим. Не-ок — переключаем назад и разбираемся что к чему.

Очень не хватает такого функционала в бекофисе MODX :)
1. Ткните в пример носом! я вот прям пока совсем ламер в MODX.

2. Неа, не работает! вот что в лог падает:

[2018-03-31 19:30:18] (ERROR @ /home/d/dimonb/avto-oko.ru/core/components/pdotools/model/pdotools/pdofetch.class.php: 172) [pdoTools] Error 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '3 LEFT JOIN `modx_ms2_products` `Data` ON `msProduct`.`id` = `Data`.`id` LEFT J' at line 1
[2018-03-31 19:30:18] (ERROR @ /home/d/dimonb/avto-oko.ru/core/xpdo/om/xpdoquery.class.php: 766) Encountered empty IN condition with key id
На папки у меня везде 700 по дефолту стоит. А про установку Tickets есть замечательный мануал, в котором доступным языком всё пошагово описано: web-revenue.ru/sozdanie-bloga-na-modx-revo-pri-pomoshhi-tickets

Туда же в тему: web-revenue.ru/modx-revo-nastroyka-prav-polzovateley-dlya-tickets

А не проще будет откатиться назад с бекапа, и заново всё поставить?

Помимо автобекапа на хостинге Beget я всегда перед глобальными изменениями или установкой чего то нового всегда делаю полный бекап сайта, если что то пошло не так — просто откатываю всё назад и тестирую глюкодром отдельно на локальном Денвере.
Вот ровно такая же фигня на тестовом сайте MiniShop2.com — кликаешь по любому ресурсу, и появляется похожее сообщение:
Код: 200 OK
{«success»:false,«message»:"\u0414\u043e\u0441\u0442\u0443\u043f \u0437\u0430\u043f\u0440\u0435\u0449\u0451\u043d!",«total»:0,«data»:[],«object»:[]}

Но там это 100% связано с доступом, может и у вас тоже что то не так с текущим юзером? Врядли под встроенной админской учёткой ходите, проверьте права у учётной записи (вкладка Права доступа) — там текущий пользователь должен быть в группе Administrators, а ещё есть вкладка Дополнительные поля данных. Скорее всего недавно установленный компонент там что то вынес.
А если предложат анал или убить кого, тоже скажете платят- делаем? :)
Должны же быть принципы какие то по жизни… Есть тупорылые заказчики, которые накрутят эти настройки так, что посетителям захочется глаза себе выковырять после посещения сайта. Слава богу, есть AdBlock, только им и спасаемся.