docs: guest checkout contract, upstream-candidates log; bump 1.6.1-aio.8
Some checks failed
lint.yml / docs: guest checkout contract, upstream-candidates log; bump 1.6.1-aio.8 (pull_request) Failing after 0s
Some checks failed
lint.yml / docs: guest checkout contract, upstream-candidates log; bump 1.6.1-aio.8 (pull_request) Failing after 0s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EYwoAkZZmXMMmaBp4WGUBo
This commit is contained in:
parent
c2d9a96239
commit
a67c6faff3
3 changed files with 43 additions and 3 deletions
27
README.md
27
README.md
|
|
@ -23,7 +23,6 @@ Events includes a shareable ticket scanner, which can be used to register attend
|
|||
1. Create an event\
|
||||

|
||||
2. Fill out the event information:
|
||||
|
||||
- event name
|
||||
- wallet (normally there's only one)
|
||||
- event information
|
||||
|
|
@ -34,7 +33,6 @@ Events includes a shareable ticket scanner, which can be used to register attend
|
|||
|
||||
3. Share the event registration link\
|
||||

|
||||
|
||||
- ticket example\
|
||||

|
||||
|
||||
|
|
@ -44,6 +42,31 @@ Events includes a shareable ticket scanner, which can be used to register attend
|
|||
4. Use the built-in ticket scanner to validate registered, and paid, attendees\
|
||||

|
||||
|
||||
## Guest checkout, card payments and email delivery (aio fork)
|
||||
|
||||
- **Identity.** `POST /events/api/v1/tickets/{event_id}` accepts either an
|
||||
LNbits `user_id` or a guest `name` + `email`; a `user_id` ticket may also
|
||||
carry an `email` so logged-in buyers get their ticket mailed.
|
||||
- **Payment methods.** `extra.payment_methods` (`lightning`, `fiat`) lists the
|
||||
rails an event accepts; an empty list keeps the legacy rule (Lightning always,
|
||||
fiat when `allow_fiat`). The effective list is published on the NIP-52 event
|
||||
as `tickets_payment_methods` and enforced at purchase.
|
||||
- **Return to the calling app.** A client may send `frontend_url` (its app
|
||||
root, e.g. `https://app.example/events`). Its origin must be one of
|
||||
`LNBITS_CORS_ALLOWED_ORIGINS`, the LNbits base URL or
|
||||
`LNBITS_CUSTOM_FRONTEND_URL`, otherwise the request is refused. Under that
|
||||
root the extension builds the Stripe `success_url`
|
||||
(`/events/{event_id}?checkout=success&tickets=<id,id>`), `cancel_url`
|
||||
(`/events/{event_id}?checkout=cancelled`) and the emailed ticket link
|
||||
(`/events/ticket/{ticket_id}`). Absent, the LNbits host is used as before.
|
||||
- **Stripe session.** The buyer's email is passed as `customer_email`
|
||||
(prefilled and locked on the hosted page); the line item is named after the
|
||||
event; `event_id`, `quantity` and `ticket_ids` ride along as metadata.
|
||||
- **Email.** Multipart text + HTML with the ticket QR embedded from
|
||||
`GET /events/api/v1/qr/{ticket_id}` (PNG, branded with the instance QR logo).
|
||||
`POST /events/api/v1/tickets/{ticket_id}/resend-email` returns a
|
||||
`TicketResendResult` with per-channel outcome.
|
||||
|
||||
## Powered by LNbits
|
||||
|
||||
[LNbits](https://lnbits.com) is a free and open-source lightning accounts system.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue