Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.spairehq.com/llms.txt

Use this file to discover all available pages before exploring further.

Every sale on Spaire produces at least one order. Recurring products also create a subscription that drives the billing cycle. This page explains how these objects relate, where to find them, and what their states mean.

Orders

An order is the record of a single charge. Every completed checkout creates one. For subscriptions, a new order is created at each renewal.

Order statuses

StatusMeaning
pendingCharge initiated, awaiting confirmation
paidPayment confirmed
refundedFully refunded
partially_refundedPartially refunded

Billing reasons

The billing_reason field on an order tells you why the charge occurred:
ReasonWhen
purchaseOne-time product purchase
subscription_createFirst charge when a subscription activates
subscription_cycleRenewal at the start of a new billing period
subscription_updateProration charge when switching products or adding seats
client_invoiceManually created invoice

View orders

Go to Sales → Orders to see all orders with filters for customer, product, and status.

Subscriptions

A subscription tracks a recurring billing relationship between a customer and a product. Spaire manages the full lifecycle: trial, activation, renewal, upgrades, cancellation, and final billing.

Subscription statuses

StatusMeaning
incompleteCreated but initial payment not yet confirmed
incomplete_expiredNever completed, no longer actionable
trialingIn a free trial period — no charges yet
activePaid and current
past_duePayment failed, in retry / grace period
canceledScheduled to end at period end, or already ended
unpaidFinal payment failed, access revoked
Active states: trialing, active Revoked states: canceled, unpaid

Key subscription fields

FieldDescription
current_period_startStart of the current billing period
current_period_endEnd of the current billing period — next charge date
started_atWhen the subscription first went active
ends_atWhen the subscription is scheduled to end
cancel_at_period_endtrue if the customer has canceled but access continues until period end
seatsNumber of seats (seat-based products only)
metersUsage data for any metered prices

Upgrade and downgrade

To move a subscriber to a different product, update the subscription’s product via the API or the dashboard. You control whether to apply prorations immediately or at the next renewal.

Cancel at period end

When a customer cancels, the subscription by default remains active until current_period_end. The subscription stays in active status, cancel_at_period_end becomes true, and no further renewals are scheduled. You can reverse a cancellation before the period ends. After the period ends, the subscription moves to canceled.

Revoke immediately

To end a subscription right away — no grace period — revoke it directly. Access is removed immediately and the subscription moves to canceled.

Checkout sessions view

Go to Sales → Checkouts to see all checkout sessions and filter by customer, status, or product. Checkout statuses:
StatusMeaning
openWaiting for the customer to complete payment
confirmedCustomer clicked Pay — payment is processing
succeededPayment succeeded, order created
expiredSession timed out — a new session must be created
Click any checkout to see payment attempts and failure reasons.

What’s next

Trials

Offer free trials on subscription products.

Seat-Based Pricing

Sell team subscriptions with per-seat billing and tiered pricing.

Usage-Based Billing

Charge customers based on events ingested from your application.

Refunds

Issue full or partial refunds on any order.