Claim guest tickets into an account (match ticket.email) #37

Open
opened 2026-09-06 17:55:01 +00:00 by padreug · 0 comments
Owner

Guest checkout (#36) issues tickets keyed by name + email with no LNbits account; the buyer keeps them via the emailed link / QR and the on-screen return dialog. Later, a guest who creates an account (or logs in) should see those tickets in My Tickets.

Shape

  • On login / account creation with a verified email, attach every guest ticket whose email matches (UPDATE events.ticket SET user_id = :uid WHERE email = :email AND user_id IS NULL), or expose POST /api/v1/tickets/claim that does it for the current user.
  • Requires the account email to be verified (UserExtra.email_verified) — otherwise anyone could claim tickets by typing someone else's address.
  • Alternative for pre-verification: a magic link in the ticket email ("add to account") carrying a short-lived token bound to the ticket ids.

Deferred from the pure-guest decision in the guest-checkout plan; pairs with aiolabs/webapp "guest tickets in My Tickets via localStorage".

Guest checkout (#36) issues tickets keyed by `name` + `email` with no LNbits account; the buyer keeps them via the emailed link / QR and the on-screen return dialog. Later, a guest who creates an account (or logs in) should see those tickets in My Tickets. ## Shape - On login / account creation with a verified email, attach every guest ticket whose `email` matches (`UPDATE events.ticket SET user_id = :uid WHERE email = :email AND user_id IS NULL`), or expose `POST /api/v1/tickets/claim` that does it for the current user. - Requires the account email to be **verified** (`UserExtra.email_verified`) — otherwise anyone could claim tickets by typing someone else's address. - Alternative for pre-verification: a magic link in the ticket email ("add to account") carrying a short-lived token bound to the ticket ids. Deferred from the pure-guest decision in the guest-checkout plan; pairs with aiolabs/webapp "guest tickets in My Tickets via localStorage".
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
aiolabs/events#37
No description provided.