Handling Payments From a Static Site Safely
A practitioner’s guide to static site payments: Stripe Checkout from plain HTML, webhook fulfilment, idempotency, PCI DSS 4.0.1 scripts and where no-backend
Guides, tutorials and opinions on Forms & Webhooks from the team behind Canvas.
A practitioner’s guide to static site payments: Stripe Checkout from plain HTML, webhook fulfilment, idempotency, PCI DSS 4.0.1 scripts and where no-backend
Zapier vs Make vs custom code in 2026: real pricing math, polling limits, error handling, and the hybrid pattern we ship on client automation layers.
Webhooks explained by developers who ship them: what is a webhook, webhook vs API, signature verification, idempotency, retries and when polling still wins.
Why inline webhook handlers break under load, and how to build a webhook queue with Postgres SKIP LOCKED, idempotency keys, backoff and dead letter handling.
How to build a multi step form that cuts form abandonment without dark patterns: honest step boundaries, sessionStorage drafts, per-step analytics and a11y
A practitioner’s guide to the GDPR contact form: why consent checkboxes are usually wrong, which legal basis to use, retention periods that hold up, and what
How to build an HTML form without a backend in 2026: form endpoints, honeypot spam defence, accessible validation, no-JS fallbacks and real code you can
How agencies should build lead capture: one payload contract, one endpoint, and a billing proxy that fans out to email, CRM, Slack and your archive safely.
How to build a booking form that gets timezones, DST, slot generation and confirmations right: UTC storage, Postgres exclusion constraints and valid ICS
How to design a feedback widget people actually finish: accessible NPS form markup, partial submissions, branched follow-ups, trigger rules and real code.
How to build a newsletter signup form that converts: scroll and return-visit triggers, accessible markup, honeypot spam blocking, consent and real