Магазин отдаёт 200 OK, а денег нет: как проверять приём заказов изнутри WooCommerce
Классический мониторинг отвечает на вопрос «открылась ли страница». Магазин со сломанным приёмом заказов отвечает на него уверенное «да»: витрина рендерится, корзина считает, 200 OK, сертификат валиден. Не работает только одно — деньги не проходят. Шлюз остался в тест-режиме после работ, обновление сломало оформление, растёт доля сорвавшихся оплат — снаружи всё зелёное.Разбираем, как проверять приём заказов изнутри WooCommerce: три сигнала из статистики заказов с порогами, нормированными на собственную норму магазина (чтобы не будить владельца двух заказов в неделю), и суточный smoke-прогон конвейера заказа — создать скрытый виртуальный товар, провести заказ по статусам, удалить всё за собой. Без единого письма, без следов в отчётности, без реальных платежей.Плюс две грабли, на которых мы посидели: письма WooCommerce не глушатся фильтром woocommerce_email_classes (к моменту cron хуки уже развешаны на init — бить надо в woocommerce_email_enabled_{id}), а finally не спасает от PHP-фатала, из-за чего в чужом магазине остаётся висеть служебный заказ. И почему headless-браузер — это отдельный уровень, а не замена этому. Читать далее