System Documentation

Membership Checkout System

Complete reference for the embedded membership checkout flow — covering the user journey, component architecture, plan configuration, and developer detail.

01 — System Overview

How it all connects

Replaces OfficerRnD GrowthHub (12% transaction fee) with a custom pipeline: Webflow collects the form, a Cloudflare Worker creates the Stripe customer and payment, Stripe fires a webhook, and Zapier provisions the member in OfficerRnD.

🌐WebflowMembership pages + checkout form
Cloudflare WorkerCreates customer + payment intent
💳StripeProcesses charge, fires webhook
🏢OfficerRnDMember record + plan assigned
ZapierCatches webhook, provisions member
💳Stripeinvoice.paid webhook
Key benefit:
This is some text inside of a div block.
02 — User Flow

From page visit to active member

Nine steps take a visitor from landing on a membership page to being fully provisioned as a member in OfficerRnD.

1
User lands on a membership page

Visitor browses to a membership page (e.g. /memberships/all-access). Each page is a Webflow CMS item with a unique plan-slug field.

Webflow CMS
2
User fills out the checkout form

Form collects: first name, last name, email, phone, company, referral source, and optional notes. Stripe Payment Element also renders on the page.

Embed HTML
3
User clicks Join Now

Site script runs window._validate(). If any required fields are missing, they are highlighted and submission stops.

Site Script
03 — Components

What each service does

Five services work together to power the checkout. Webflow handles the frontend, a Cloudflare Worker acts as the backend API, Stripe processes payments, Zapier automates provisioning, and OfficerRnD is the member database.

04 — Membership Plans

Current plan configuration

Seven plans are live. Each plan slug must match exactly between Webflow CMS, the Worker's PLANS map, and Stripe.

05 — Technical Detail

Architecture decisions & patterns

Key technical choices that explain why the system is built the way it is — including the deferred intent flow, the 2,000-character script limit workaround, and the window._S bridge pattern.

06 — Troubleshooting

Common issues & fixes

Most issues fall into one of these categories. Check the browser DevTools console and Network tab first.