Для подобной задачи я вешался на хук
woocommerce_checkout_order_processed
Он вызывается в аккурат, когда заказ оформлен. Причем, если оплата по безналу, то он вызывается до проведения оплаты, но когда покупатель уже нажал кнопку перехода к оплате. Таким образом можно отловить неудавшуюся оплату и показать менеджеру, который может быстро связаться с покупателем и помочь в решении.
А за отправку заказа на почту отвечает класс
WC_Email_New_Order. Можно посмотреть хуки к которым он подключается по его обработчику
trigger