A2A Fall 2026 · Whop × The Uncommon Business

A2A Purchase Pipeline

The purchase infrastructure Whop is building for the fall launch — the checkout flow, quantities, tags, workflow IDs, the metadata every payment carries, and how ClarityPay comes through. Every workflow, page, and link below is clickable.

Prepared by Parisa (Whop) · 1 Sep 2026 · the Copy button grabs this whole document as Markdown for pasting into an AI model or doc

1The flow, start to finish

Buyer lands on a GHL checkout page
"A2A Fall 2026 | Warm" funnel on go.theuncommonbusiness.co — each page carries a two-line snippet; everything else renders from one Cloudflare Worker. Prices are decided server-side; a browser can never set an amount.
Step 1 — contact info → "Continue to Payment"
The Continue click creates/updates the GHL contact and applies the a2afall26_lead tag. This is the abandoned-cart trigger (W2) — a deliberate click, never a partial form fill.
Step 2 — payment
The Whop payment element (card / Apple Pay / PayPal), or the ClarityPay application on the hidden financing page. The Whop payment record is created here, carrying the full metadata contract (§4).
Whop webhook → Worker fulfilment
Whop's company webhook fires on payment.succeeded; the Worker fans out:
→ GHL — purchase tags applied (additively), contact entered into the right workflow by API call, never by tag trigger
→ n8n → Supabase — powers the live dashboard and TubConnect access (§7)

2The checkout pages — live URLs & editors

Click-through previews: interactive preview of every checkout — switch between the pages, add team seats, flip payment schedules, and walk both steps exactly as a buyer will.

PageSellsQtyLinks
Founder publicPrimary $8,997 + team seats $1,500/ea · Pay in Full / 3-Pay $3,199/mo / 5-Pay $1,957/mo0–10live · edit
Team Seats Only hiddenSeats only, for buyers who already own a primary. Company name required.1–10live
Alumni hidden$5,997 pay in full onlylive
ClarityPay hidden · sales$9,970 financed — the only 10-pay path; buyer picks the term in ClarityPay's applicationlive Whop checkout
Internal 10-Pay hidden · fallback10 × $997 on Whop rails — the ClarityPay-decline destinationGHL page TBD
ConfirmationReceipt card per arrival state (paid / in-review / processing / declined)live

Installments are Whop-native split-pay: the saved card is charged monthly and billing stops automatically after the final cycle. More than 10 seats goes through a sales rep's custom invoice, not the checkout.

3Quantities

4The metadata contract

Every field rides payment.metadata on the Whop record and arrives in the webhook payload verbatim.

KeyExampleMeaning
sourcea2a-checkoutwhich surface created it (a2a-claritypay for financing)
offera2afall26-mainpage identity: -main, -seats, -alumni, -tenpay; ClarityPay = a2a-claritypay
pagemainsame, bare
schedulefullfull · 3pay · 5pay · 10pay · claritypay
quantity"3"team seats purchased (string; primary not included)
companyAcme Roofingpresent when seats are in the cart
email / first_name / last_name / full_name / phonewhat the buyer typed at step 1
ghl_contact_idabc123…the GHL contact created at step 1 — no lookup needed downstream
amount_cents"1349700"charged today, minor units (installments: first cycle only)
plan_total_cents"1349700"full plan value across all cycles
tagsthe GHL tags this purchase applies (§6)

5ClarityPay — exactly how it comes through

Verified against Whop's codebase, 1 Sep:

SignalMeaning
payment.succeededenrolled cards, wallets, PayPal, every installment cycle, and ClarityPay at funding
payment.pending + schedule: claritypayenrolled approved application, finalizing for up to 24h
status: open + substatus: faileddeclined — never a terminal status on Whop
contact exists, no paymentabandoned cart — GHL W2 follows up

6GHL — tags & workflows

Tag convention a2afall26_{action}-{detail}, applied additively by the worker; GHL never derives them. Location: REIO | The Uncommon Business (TL6J90dhkW0GGz8sogzu).

TagWhen
a2afall26_lead (+ -{page})step 1 Continue — before any payment
a2afall26_purchasedevery successful purchase
a2afall26_plan-{schedule}payment plan used — comped purchases ride this too; no separate free workflow
a2afall26_purchased-{alumni|seats|tenpay}non-main pages, for Alumni/W1A routing
a2afall26_team-seats-purchasedseats ≥ 1 — flips the welcome copy to "add your team in TubConnect"

Workflows — Abs's fall builds (31 Aug, currently drafts) in the fall workflow folder. Contacts enter by API call, never tag trigger, so no NOT-filters are needed anywhere.

WorkflowID
W1 — Purchase + Tags, Regulardf4909ad-b375-43ff-8142-3a16d8d54523open
W1A — Purchase + Tags, Alumni226eede0-3606-41cd-b9fe-cc3abf10daceopen
W2 — Abandoned Carte0a6428c-1258-4b42-bd11-13227df19937open
W3 — Team Activation8fa253ad-a7bf-4682-833f-a67b13a52e78open

7n8n → Supabase

Decided architecture (31 Aug call): the worker feeds GHL for tagging and workflows, and n8n → Supabase powers the live dashboard and TubConnect access. What n8n receives is the Whop webhook payload — payment id, status, amounts, buyer, and the full §4 metadata — so Supabase rows carry quantity, company, schedule, and ghl_contact_id with no lookups.

De-duplication lives in Supabase and GHL (per the 31 Aug spec): the same email must not re-trigger onboarding — installment cycles 2–N and later seat top-ups are new payments from an already-onboarded buyer. Uniqueness on the Whop payment id (processor, processor_ref) keeps a replayed webhook from double-inserting.

8Infrastructure links

ThingWhere
Cloudflare Worker (serves every page + webhook)aieb-fall26-checkout on Cloudflare · runtime: aieb-fall26-checkout.aieb-fall26-checkout.workers.dev
Code + paste snippetsThe-Uncommon-Business/mktg-aieb-checkout — page snippets in docs/pages/a2a-*.html, this doc at docs/PORTAL-INTEGRATION.md
Fall funnel (editor)A2A Fall 2026 | Warm
Whop product + plans"A2A Fall 2026" prod_2OMe7eErbDmS7 (hidden) on biz_j8oij1SVi5Tt1M; ClarityPay plan plan_SYmjXJxcQwLZI ($9,970); 3/5/10-pay split plans created at pricing sign-off
Checkout structure specA2A Fall '26 Onboarding & Checkout Structure (Notion)

Questions → Parisa (Whop). The repo copy of this doc updates with the code that implements it.