WooCommerce, like WordPress, is built on actions: named moments at which it calls every function registered for them. woocommerce_before_checkout_form fires as the checkout page is drawn. woocommerce_checkout_process fires while the submitted checkout fields are validated, before the order exists. woocommerce_checkout_order_processed fires once the order has been created from the classic checkout, and woocommerce_payment_complete when a payment is marked complete. Stores on the block-based checkout create orders through the Store API instead, which fires its own order-processed action; the search below includes it.
A callback on these actions runs as the site, on the server, with access to everything the request carries: billing name, address, email and phone, the order, the customer account, and any field the checkout posts to the server. Malicious code uses that access in one of two ways. It copies the submitted data — to a remote server, an email address, or a file in uploads that someone collects later — or it prints a script or a fake form into the checkout page, which turns a server-side foothold into browser-side skimming.
Because the code runs on the server and the checkout behaves normally, a visitor sees nothing and a browser-based check finds nothing. The rogue callback is usually small, often hidden in a must-use plugin, a theme’s functions.php, or an extra file inside a real plugin’s folder, and it frequently encodes what it sends so that log lines and outbound requests do not read as order data.