Explore: collect buyer email at ticket purchase (needs LNbits email/SMTP server) #118

Open
opened 2026-06-17 17:14:05 +00:00 by padreug · 1 comment
Owner

From the 17 Jun design review.

The webapp could let a buyer enter an email address at ticket purchase (confirmation, reminders, cancellation notices), in addition to the Nostr identity.

Dependency to explore

The aiolabs/events extension already supports email (CreateTicket.email, email_notifications, email_notification_sent), but actually sending mail requires LNbits to have a working email/SMTP server configured — which we don't currently run. So this is mainly an infra exploration:

  • Stand up / configure an SMTP sender for LNbits (deploy side), or an external mail provider.
  • Verify the events extension's email-notification path works end-to-end.
  • Then the webapp adds an optional email field to the purchase flow (today app purchases send user_id only, no email — see CreateTicket.validate_identifiers).

Scope

Exploration / spike — decide the mail transport, then split into infra + events + webapp work.

From the 2026-06-17 webapp design review.

From the 17 Jun design review. The webapp could let a buyer enter an **email address** at ticket purchase (confirmation, reminders, cancellation notices), in addition to the Nostr identity. ## Dependency to explore The `aiolabs/events` extension already supports email (`CreateTicket.email`, `email_notifications`, `email_notification_sent`), but actually *sending* mail requires **LNbits to have a working email/SMTP server configured** — which we don't currently run. So this is mainly an **infra exploration**: - Stand up / configure an SMTP sender for LNbits (deploy side), or an external mail provider. - Verify the events extension's email-notification path works end-to-end. - Then the webapp adds an optional email field to the purchase flow (today app purchases send `user_id` only, no email — see `CreateTicket.validate_identifiers`). ## Scope Exploration / spike — decide the mail transport, then split into infra + events + webapp work. _From the 2026-06-17 webapp design review._
Author
Owner

Resolved by #144 + aiolabs/events#36 (+ aiolabs/lnbits#66):

  • The purchase dialog now collects email + confirm-email for everyone (prefilled from the account for logged-in buyers; name + email identity for guests).
  • The extension stores it on the ticket and emails a multipart text+HTML ticket with the QR embedded; the same address is passed to Stripe as customer_email.
  • SMTP: test@ariege.io via mail.ariege.io:587 is configured on lnbits.demo.aiolabs.dev (verified); cfaun gets its own mailbox at cutover.

Close once #144 and events#36 are deployed to aio-demo and a guest purchase email has been received end-to-end.

Resolved by #144 + aiolabs/events#36 (+ aiolabs/lnbits#66): - The purchase dialog now collects email + confirm-email for everyone (prefilled from the account for logged-in buyers; name + email identity for guests). - The extension stores it on the ticket and emails a multipart text+HTML ticket with the QR embedded; the same address is passed to Stripe as `customer_email`. - SMTP: `test@ariege.io` via `mail.ariege.io:587` is configured on lnbits.demo.aiolabs.dev (verified); cfaun gets its own mailbox at cutover. Close once #144 and events#36 are deployed to aio-demo and a guest purchase email has been received end-to-end.
Sign in to join this conversation.
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/webapp#118
No description provided.