• Виправлення критичних помилок у checkout і вебхуках на Magento 2 після оновлення - Stripe/PayPal - Redis/Varnish

    5 годин тому
    • Бажаний бюджет до 900.74 USD
    • Очікує виконавця...
  • Після оновлення 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, часові вікна інцидентів.
  • Як ви оцінюєте це завдання?

    Увійдіть в обліковий запис, щоб залишити свою оцінку.

    Усього оцінок: 0

Ваша пропозиція

Ви ще не залишили пропозицію до цього замовлення.
Натисніть «Запропонувати послугу», щоб надіслати свою пропозицію.

Потрібне схоже завдання?

Якщо завдання схоже на ваше, можна переглянути готові послуги в категорії або створити власне завдання з потрібним бюджетом, строками та вимогами.

Завдання «Виправлення критичних помилок у checkout і вебхуках на Magento 2 після оновлення - Stripe/PayPal - Redis/Varnish» можна використати як орієнтир для свого брифа: що потрібно зробити, який результат потрібен і який бюджет вказати.