seams
Where two vendors meet and docs go quiet.
Each page starts with the exact error you paste into Google. Answer first. Env-var matrix you can screenshot. Fix you can paste.
- stripe → supabaseStripe webhook fires before Supabase row exists checkout session
Two event sources, one race. Make the Stripe webhook idempotent and upsert — don't assume the client write landed first.
- clerk → supabaseWhy auth.uid() returns null in Supabase RLS when using Clerk
Clerk JWTs aren't Supabase JWTs. auth.uid() is null until you bridge the session correctly.