/contact page. Submissions are stored in the Payload contact-submissions collection and are read-only in the admin. This page covers how the captcha works, where to view submissions, and how to extend the form.
How the form works
When a shopper fills out the contact form, the storefront sends the data to Payload. Each submission creates a document in thecontact-submissions collection.
Math captcha
The form is protected by a math challenge served atGET /api/contact/captcha. The endpoint returns a problem and a token signed with HMAC using PAYLOAD_SECRET. The shopper must solve the problem and post the answer along with the signed token. The server verifies the signature before accepting the submission.
If you rotate
PAYLOAD_SECRET, in-flight captcha tokens will invalidate. That is expected behavior. Shoppers can refresh the page to get a new challenge.View submissions
To read contact submissions:- Open the Payload admin at
localhost:3000/adminin dev (or your live admin URL). - Navigate to Contact Submissions in the sidebar.
- Open any submission to see the name, email, message, and timestamp.
Extending the form
You can add fields to the contact form by editing the Payload collection config forcontact-submissions. For guidance on customizing Payload collections, see /customize/payload-schema and the Payload collections docs.
Payload Schema
Customize Payload collections, globals, and fields for your Vulpy storefront.
Content
Manage pages, posts, and media with Payload CMS in Vulpy Commerce.