After updating WordPress and some plugins on a combat online store (subject area - sale of auto parts, ~8-12 thousand SKU, 300-600 orders/day, peaks up to 30 orders/min), critical errors appeared in ordering and payment processing. Initial situation and environment - WordPress 6.5.x, WooCommerce 8.x - PHP 8.2, Nginx + PHP-FPM, MariaDB 10.6 - Redis object cache, Cloudflare, WP-Cron disabled - system cron is used - Payments: Stripe and local acquiring via a separate plugin (webhook + callback) - Delivery: custom tariff calculation module + integration with external API (peak timeouts) - There is a self-written must-use plugin that adds additional order fields and synchronizes statuses with 1C via REST Symptoms - Sometimes duplicate orders are created when paying by card - one in the processing status, the second pending - Stripe webhooks periodically do not change the order status, although the event was delivered to Stripe - At peak loads, some users see 500 on /checkout/ and the logs contain fatal error and deadlock/lock wait timeout when recording an order - In the WooCommerce admin sometimes the order card does not open - a white screen due to a JS error on the edit page What to do - Reproduce problems in staging, collect traces, identify root causes and fix without disabling key integrations - Troubleshoot WooCommerce version/hooks conflict with custom plugins and payment modules, eliminate double processing of payment and race events when creating an order - Fix webhooks/callback processing so that order statuses and metadata are updated exactly once, even when re-delivering events and network retries - Eliminate 500 errors on checkout, including problems with external delivery API timeouts and blocking in the database - Fix JS error on the order page in the admin panel (script/dependency conflict after update) without breaking custom metaboxes Restrictions - Work is performed with minimal changes to the theme - all edits are via child theme and/or a separate plugin, without editing the WooCommerce/WordPress core - You cannot disable Redis, Cloudflare and system cron in production - check only through staging and careful release - Accesses: staging + read-only access to production logs, changes in production via PR in Git and deployment through an existing pipeline Expected result - Fixes in the form of commits/PR with a clear description of the reasons and solutions - A set of diagnostic logs/metrics (within the available WP/Woo tools) to monitor repeated errors - Short instructions on what to monitor and how to roll back safely Acceptance criteria (measurable) 1) During 48 hours of test operation on staging during a load run, no duplicate orders arise - 0 duplicates per 1000 test payments 2) Stripe webhook/callback is idempotent - repeated delivery of the same event does not change the order more than 1 time and does not create a new one 3) During a load test on checkout (minimum 20 rps for 30 minutes), the share of 5xx is no more than 0.2%, the average TTFB of a checkout page is up to 800 ms on staging 4) The WooCommerce Orders admin error that caused the white screen has been resolved - the order card opens and is saved without JS errors in the console Additionally - I will provide Nginx/PHP-FPM logs, WooCommerce logs, access to the Git repository, a list of recent updates and 3-5 examples of problematic orders/payments.