Після оновлення Magento 2.4.6-p3 (PHP 8.2) на продакшені інтернет-магазину (B2C, ~15 тис. SKU, 800-1200 замовлень/день) з’явилися збої в оформленні замовлення та розсинхрон оплати. Частина клієнтів отримує помилку на кроці оплати або замовлення створюється без транзакції, а інколи - дублюється. У логах є суміш 500/502, timeouts, повідомлення про deadlock у MySQL та винятки в custom модулі інтеграції з ERP. Паралельно помічено, що Stripe webhooks інколи не підтверджуються, а PayPal IPN приходить двічі. Потрібно локалізувати першопричини та виправити помилки так, щоб checkout стабільно проходив під навантаженням. Технічне середовище: Magento Open Source 2.4.6-p3, Nginx, PHP-FPM 8.2, MySQL 8.0, Redis (sessions+cache), Varnish, Elasticsearch/OpenSearch, RabbitMQ. Деплой через GitLab CI, є staging, доступ по SSH. Є APM (New Relic) та централізовані логи (ELK). Є кілька кастомних модулів: інтеграція з ERP (REST), промо-логіка, кастомізація checkout. Платежі: Stripe (PaymentIntents + webhooks) і PayPal. Очікуваний результат: виправлені причини помилок checkout, коректна обробка вебхуків/нотифікацій, відсутність дублювання замовлень/транзакцій, стабільна робота під навантаженням. Потрібен набір змін у коді та конфігах, плюс короткий технічний звіт що було зламано і як перевірено. Обмеження: зупинка продакшену заборонена, дозволене лише коротке вікно на реліз 10-15 хв. Зміни мають бути сумісні з поточними кастомними модулями. Не можна вимикати Varnish/Redis на продакшені, можна робити точкові налаштування. Дані клієнтів не можна вивантажувати за межі сервера. Етапи робіт: 1) Діагностика: аналіз логів (Magento/system/exception, Nginx, PHP-FPM), New Relic traces, пов’язаних cron/queue, відтворення на staging з увімкненим profiler, пошук race conditions у place order, перевірка idempotency для Stripe/PayPal. 2) Виправлення: правки в кастомному checkout/ERP модулі (транзакційність, ретраї, блокування/унікальні ключі), корекція обробки webhooks (підпис, повтори, порядок подій, idempotency key), усунення deadlock причин (індекси/порядок записів), налаштування timeouts/fastcgi, оптимізація конкретних повільних SQL/consumer. 3) Перевірка: навантажувальне тестування на staging (k6/JMeter) для сценаріїв checkout 3DS/non-3DS, симуляція повторних webhook, перевірка відсутності дублювання, регресія промокодів/доставки/податків. 4) Реліз: підготовка MR, інструкція деплою, план відкату, супровід релізу та моніторинг 24 години за метриками. Критерії приймання (вимірювані): - На staging при 50 віртуальних користувачах checkout має успішність не нижче 99% за 30 хв тесту без 500/502 на кроці оплати. - На продакшені протягом 24 год після релізу: частка помилок place order <0.2% (за New Relic), відсутні дублікати замовлень з однаковим payment_intent_id/PayPal txn_id. - Webhooks Stripe обробляються з підтвердженням 2xx у 99.9% випадків, повторні події не створюють нових інвойсів/шипментів. - В репозиторії є MR з описом змін та короткий звіт (1-2 сторінки) з першопричинами і посиланнями на логи/метрики. Доступи і матеріали надам: SSH до staging/prod, доступ до GitLab, New Relic, приклади проблемних order/payment IDs, часові вікна інцидентів.