01 Address before launch
- Where
src/routes/confirmation.tsx(no webhook server route or edge function configured)- Finding
- Order creation only runs when the customer’s browser loads the confirmation route after checkout.
- Why it matters
- If a customer pays and closes their browser—or loses mobile signal before the redirect finishes—their card is charged, but no order is created in your database.
- Recommended next step
- Move order creation out of the confirmation page and into a server-side webhook (a TanStack Start server route or Supabase Edge Function) triggered directly by the payment provider. Verify the webhook signature and ignore duplicate events.