Troubleshooting, Veldform · vanrossum.dev    

       vanrossum.dev 

Troubleshooting, Veldform
=========================

  vanrossum.dev  

  [      vanrossum.dev ](https://vanrossum.dev)                      

 [home](https://vanrossum.dev) / [veldform](https://vanrossum.dev/products/veldform) / docs 

 [Veldform](https://vanrossum.dev/products/veldform)  / Docs  · WordPress plugin

 Troubleshooting
================

- [The log](#the-log)
- [Common issues](#common-issues)
- ["Security check failed. Please reload and try again."](#security-check-failed-please-reload-and-try-again)
- [Submissions seem to disappear](#submissions-seem-to-disappear)
- ["The spam check could not verify your submission."](#the-spam-check-could-not-verify-your-submission)
- ["We could not complete your submission. Please try again."](#we-could-not-complete-your-submission-please-try-again)
- [Notifications don't arrive](#notifications-dont-arrive)
- [A payment is stuck on "Awaiting payment"](#a-payment-is-stuck-on-awaiting-payment)
- [Forms don't submit at all](#forms-dont-submit-at-all)
- [The form works without styling, or JS features don't work](#the-form-works-without-styling-or-js-features-dont-work)
- [Updates don't show up](#updates-dont-show-up)

The log
-------

Before anything else: check the log. Veldform keeps an activity log of everything that happens, actions that ran, were skipped or failed, API requests that errored, captcha failures and payment updates. You'll find it under `Veldform` -&gt; `Log`, and a per-entry version in each entry's timeline.

Log entries are kept for 30 days (adjustable with the `veldform/log/retention_days` filter). Sensitive values are never logged.

Common issues
-------------

### "Security check failed. Please reload and try again."

The security token of the form expired. The usual culprit is page caching: a cached page serves an old token. Exclude pages with forms from full-page caching, or lower the cache lifetime, WordPress tokens are valid up to 24 hours.

### Submissions seem to disappear

If a test submission shows a success message but no entry or notification appears, you most likely tripped the [anti-spam protection](/products/veldform/docs/anti-spam), bots (and admins testing very quickly) get a fake success on purpose. Wait a few seconds between loading the page and submitting.

Also check the form's `Settings` -&gt; `Entries`: when `Store submissions as entries` is off, submissions only run actions and are not stored.

### "The spam check could not verify your submission."

The captcha check failed. Verify the site key and secret key under `Veldform` -&gt; `Settings` -&gt; `Spam protection` match your provider's dashboard. With reCAPTCHA v3, real users with a low score can be affected, you can lower the threshold via the `veldform/captcha/recaptcha_min_score` filter.

### "We could not complete your submission. Please try again."

An action marked as `Required` failed. Open the log, you'll find an `action.failed` event with the details (for API actions, including the request and response).

### Notifications don't arrive

Notifications are sent through `wp_mail()`, like all WordPress email. First confirm the action actually ran (check the log). If it did, the problem is email delivery: many hosts have poor deliverability out of the box. Install an SMTP plugin or a transactional mail service, and make sure your From address uses your own domain.

### A payment is stuck on "Awaiting payment"

Payment confirmation comes from the provider's webhook. If entries stay on `Awaiting payment` even though the payment succeeded, the webhook isn't reaching your site, check that your site is publicly reachable and that no security plugin blocks `/wp-json/`. Abandoned checkouts are automatically marked expired after 24 hours.

### Forms don't submit at all

Submissions go through the WordPress REST API. If a security plugin, firewall or CDN blocks `/wp-json/`, submissions will fail. Make sure the `veldform/v1` namespace is reachable.

### The form works without styling, or JS features don't work

The form is built with progressive enhancement: it submits fine without JavaScript, but live validation, conditional logic, captcha and dynamic dropdowns need the `veldform.js` script. Check for JavaScript errors in the browser console, and for optimization plugins that exclude or defer the script incorrectly. If the styling is missing, check whether something is dequeuing the `veldform` stylesheet (or whether the `veldform/render/styles` filter is in play).

### Updates don't show up

Plugin updates require an active license. Check your license key under `Veldform` -&gt; `Settings`, see [Installation](/products/veldform/docs/installation).

Stuck?

Feel free to reach out.

 [get in touch →](https://vanrossum.dev/contact) 

   © 2026 Jeffrey van Rossum 

  vanrossum.dev vanrossum.dev
