DocumentationProFee watchdog
Fee watchdogPro
The watchdog checks your recent orders once a day and warns you when one was paid with a fee-configured method but carries no fee. A plugin conflict or an update can stop the fee being added, and nothing else tells you. Pro.
What the fee watchdog checks
Once a day it samples up to 25 orders per fee-configured method from the last 7 days. Only orders placed through the classic or block checkout count, in the processing, on-hold or completed status.
Each one is re-priced through the same guard chain, rule selection and fee engine that charged it. An order is a miss only when today’s settings would charge it and no fee line is there.
What it does not flag
Accuracy over heuristics. None of these is a miss:
- a rule whose conditions did not match the order
- a free-shipping order on a method with “don’t charge when shipping is free”
- a fee that came out at zero
- an order created in the admin or paid through a pay-for-order link — those have their own rules and are not sampled
- orders older than the current configuration’s first sighting — a fee added yesterday cannot flag last week’s orders
A watchdog that cries wolf gets switched off, so this one only speaks when the numbers are real.
The notice
A dismissible admin notice, naming each gateway, the period and the counts — “Cash on delivery — 4 of 12 recent orders are missing the configured payment fee” — with a Review fee settings link. It also offers to stop warning about the current configuration, for a fee you know is meant to be missing.
Silencing it
This is expected — don’t warn again for this configuration. The snooze is tied to a hash of the current fee settings: change anything and the watchdog re-arms, so a snooze cannot outlive the situation it was given for.
When it runs
Daily, through Action Scheduler (WooCommerce’s own background queue), falling
back to WP-Cron on a store without it. The hook is pay4payment_fee_watchdog;
the run is unscheduled when the plugin is deactivated. Developers can raise the
threshold with the pay4payment_watchdog_min_missing filter — see the
hooks list.
What to do with a hit
Open one of the orders. The troubleshooting page is the list of usual suspects, and the first three cover most cases: another plugin recalculating totals after this one, the Checkout block moved into a template part, and a fee switched off by mistake.
The watchdog is Pro. It is the feature nobody asks for and everybody is glad of the first time it fires.
See pricing