The Diagnostics tab
Start here whenever a customer reports a problem with checkout. The Diagnostics tab lists recent checkout-failure alerts from the last 14 days. Each entry shows you what happened, in which mode, when it happened, and how many times it has happened.
If everything is healthy, you will see a simple No Checkout Problems message. There is nothing to do.
If there are alerts, read the context on each one to understand what went wrong. Once you have looked into them, you can clear the list with the Dismiss all link.
Maintenance tools
A couple of small tools on the Settings tab help you keep things tidy and confirm your setup is connected.
Clear blocked checkouts
Clear blocked checkouts is a link on the Settings tab. Sometimes a customer starts a checkout but never finishes it. That unfinished checkout can leave a listing package looking unavailable to everyone else, even though no real purchase happened.
Clicking this link frees up those listing packages that got stuck behind abandoned or unfinished checkouts. Use it whenever a package seems unavailable because someone started but never completed a checkout.
Stripe webhook status
If you use Stripe, the Webhook status indicator in the Stripe webhook settings is a quick way to confirm your connection. It is read-only, and it tells you when properly signed Stripe events are arriving at your site. If it shows that events are coming through, you know the webhook link is working.
Debug logging
If you cannot work out why something is failing, you can switch on detailed logging to capture exactly what the plugin is doing behind the scenes.
Debug logging debug_logging
A toggle on the Settings tab. Turning it on asks you to confirm a modal dialog first. When enabled, it writes detailed lifecycle logs to wp-content/debug.log (or to the path set by WP_DEBUG_LOG). Secrets and tokens are redacted, but order, listing, user, and subscription IDs may appear in the log. Turn it off again once you have finished diagnosing.
Payment grace period
A failed renewal does not have to mean a listing disappears instantly. The grace period gives a customer a short window to fix their payment before access is removed.
Payment grace period grace_days
How many days a listing stays live after a failed renewal before access is revoked. The default is 3 days, and you can set anything from 0 to 90. A value of 0 means access is revoked immediately.
Common problems
Here are the issues that come up most often, what usually causes them, and how to fix each one.
| Problem | Likely cause | Fix |
|---|---|---|
| Customer paid but did not get access | The webhook is not set up, the webhook secret is wrong, or you are in the wrong test or live mode. | Re-check the webhook URL and signing secret for the active mode. See the provider setup pages: Stripe, Paddle, Polar, or Dodo Payments. |
| Webhook events fail verification | The signing secret is wrong, or the server clock is off by more than 5 minutes. Webhook signatures are time-checked with a 5 minute tolerance. | Fix the signing secret, and make sure your server time is correct. |
| Cannot save settings / Save button disabled | The license is not active. | Activate your license on the License tab. |
| Checkout will not start | A missing or wrong provider price or product ID on the package, or a mismatch between the active provider and the price IDs entered. | Add the correct ID for the active provider and mode. See Products & packages. |
| Package shows as unavailable | It is stuck behind an abandoned checkout. | Use Clear blocked checkouts on the Settings tab. |
Requirements
The plugin needs WooCommerce and Listeo Core (minimum version 2.0.48). If either is missing or out of date, an admin notice will appear to tell you. Install or update them, and the notice clears.


