django_program.registration.views_terminal

Staff-facing JSON API views for Stripe Terminal point-of-sale operations.

These views power the on-site POS UI used by registration desk staff. All endpoints require staff or superuser authentication and are scoped to a conference via the conference_slug URL kwarg.

Classes

CancelPaymentView

Cancel a terminal payment in progress.

CapturePaymentView

Capture a previously authorized terminal PaymentIntent.

CartOperationsView

Handle cart operations for the terminal POS.

ConnectionTokenView

Create a Stripe Terminal connection token for the JS SDK.

CreatePaymentIntentView

Create a PaymentIntent and send it to a Stripe Terminal reader.

FetchAttendeeView

Look up an attendee by access code for the POS terminal.

FetchInventoryView

Return available ticket types and add-ons for the conference.

ListReadersView

List available Stripe Terminal readers for the conference.

class django_program.registration.views_terminal.ConnectionTokenView[source]

Bases: StaffRequiredMixin, View

Create a Stripe Terminal connection token for the JS SDK.

The frontend calls this endpoint to initialize the Stripe Terminal SDK with a short-lived connection token scoped to the conference’s Stripe account.

class django_program.registration.views_terminal.CreatePaymentIntentView[source]

Bases: StaffRequiredMixin, View

Create a PaymentIntent and send it to a Stripe Terminal reader.

Supports two modes: - Order-linked: provide order_id to pay for an existing order. - Walk-up sale: provide amount directly for ad-hoc charges.

Both modes require a reader_id to dispatch the payment to a physical reader.

class django_program.registration.views_terminal.CapturePaymentView[source]

Bases: StaffRequiredMixin, View

Capture a previously authorized terminal PaymentIntent.

After the cardholder taps/inserts their card and the payment is authorized, this endpoint captures the funds and marks the order as paid.

class django_program.registration.views_terminal.CancelPaymentView[source]

Bases: StaffRequiredMixin, View

Cancel a terminal payment in progress.

Cancels the reader action and the PaymentIntent, then marks the local records as failed/cancelled.

class django_program.registration.views_terminal.FetchAttendeeView[source]

Bases: StaffRequiredMixin, View

Look up an attendee by access code for the POS terminal.

Returns attendee info, order status, and available store credits so the registration desk can identify walk-up attendees and apply credits to new purchases.

class django_program.registration.views_terminal.FetchInventoryView[source]

Bases: StaffRequiredMixin, View

Return available ticket types and add-ons for the conference.

Filters to active items currently within their availability window and includes remaining quantity information for the POS display.

class django_program.registration.views_terminal.CartOperationsView[source]

Bases: StaffRequiredMixin, View

Handle cart operations for the terminal POS.

Supports two actions via JSON body: - update: create or update cart items for an attendee. - checkout: convert the cart into an order.

class django_program.registration.views_terminal.ListReadersView[source]

Bases: StaffRequiredMixin, View

List available Stripe Terminal readers for the conference.

Optionally filtered by Stripe location ID via the location query parameter.