Overview
PayPress is designed so public donation and fundraising pages can remain cacheable while dynamic campaign state stays fresh.
Requirements
- Current PayPress donation/fundraising architecture.
- REST requests not blocked.
- Launcher/no-JavaScript routes not cached.
Steps
- Place a fundraising shortcode on a public page.
- Allow your normal page cache to cache the page.
- Complete a donation.
- Visit the page as a logged-out visitor.
- Confirm metrics and donation controls update through hydration.
Expected Result
The page can load from cache, then PayPress updates campaign metrics and controls using current campaign state.
Important Notes
Cached HTML should not be the source of truth for donation availability. PayPress validates amount and campaign state again when checkout is launched.
Troubleshooting
If stale values remain visible, check browser console errors, REST endpoint access, CDN rules, and security plugins. Do not cache launcher endpoints, webhook endpoints, success pages, or no-JavaScript donation routes.