Skip to content

Payments

Metrognome uses Stripe as its payment platform. All charges are created on Metrognome's platform account and revenue is transferred to each location's connected Stripe account. The system supports card, ACH (bank transfer), and credits as payment methods.

Payment Methods

Card — standard credit/debit card payment. Charges settle immediately. Higher processing fee than ACH, with an additional flat per-transaction fee. Apple Pay and Google Pay are available through the Stripe Payment Element and behave as card payments.

ACH (bank transfer) — lower fees than card, no flat fee. Bank transfers take 2-3 days to clear. For lockouts and waitlist deposits, members receive access optimistically before the transfer completes.

Cash App — available for monthly lockout and organization dedicated room subscriptions only. Not available for hourly bookings, credits, or waitlist deposits.

Credits — Metrognome's internal currency. One credit equals one dollar. Credits are purchased in packages (one-time or subscription), stored as balances, and spent on hourly reservations. Credits do not flow through Stripe at spend time — only the initial purchase does. See Credits.

Stripe Connect

Metrognome operates as a Stripe platform. Each location has its own connected Stripe account. When a charge succeeds, the system transfers funds to the location:

  • Lockout charges — Stripe's processing fee is deducted first (by Stripe), then the platform billing surcharge is deducted, and the remainder is transferred to the location. The billing surcharge is Metrognome's revenue on lockout subscriptions.
  • Hourly charges — the full net (after Stripe processing fees) is transferred to the location. No platform fee is retained.
  • Credit redemptions — when credits are spent at a location, 90% of the credit value is transferred to the location and 10% is retained as a platform fee.
  • Waitlist deposits — the net amount (after Stripe processing fees) is transferred to the location when the member converts to a lockout. No platform fee.

Each charge generates exactly one transfer — duplicates are prevented automatically. Customer balance credits applied to an invoice are transferred separately.

Platform-absorbed fees

The platform Stripe balance carries Metrognome's accumulated platform P&L — revenue retained from the billing surcharge and credit redemption fee, minus Stripe fees that Metrognome absorbs:

  • Stripe Billing (subscription processing) — Stripe charges 0.7% of invoice billing volume. The lockout billing surcharge is sized to match this, but sales tax on the billing fee is absorbed by Metrognome (typically ~9% of the billing fee itself).
  • Connections Verification — quarterly Stripe fee for verifying connected location accounts. Absorbed by Metrognome; not offset by any per-charge fee.
  • Sigma analytics — monthly Stripe fee for running analytics queries. Absorbed.
  • Invoicing — per-invoice flat fees on specific invoicing workflows. Absorbed.

These fees accumulate against Metrognome's retained margin over time.

Transactions

Every financial event creates a transaction record. Transactions have a type (debit or credit), an amount, a unit (USD cents or credits), a reason, and optional notes. Transactions capture both Stripe-backed events (a paid invoice, a refund) and purely internal ledger entries that have no Stripe counterpart (a credit grant, a credit consumption, a credit restoration).

The reason is a standardized label — one of a fixed set of values — and is what appears in the staff ledger and account dashboard. Common reasons include:

Reason What It Represents
Reservation purchase Hourly reservation paid by card or ACH
Lockout initial purchase First payment when a lockout starts
Lockout monthly renewal Recurring subscription charge for a lockout
Lockout proration Mid-cycle charge from adding insurance or transferring rooms
Credit purchase One-time credit package bought
Credit subscription renewal Recurring monthly credit subscription charge
Credit usage Credits spent on an hourly reservation
Credit grant Credits issued at purchase (subscription)
Credit grant (renewal) Credits issued on a subscription renewal
Credit restoration Credits returned on a cancelled reservation
Promo redemption Credits from a promotional code
Cancellation refund Stripe customer balance credit issued on cancellation
Refund Other refund
Staff adjustment Manual ledger correction
Waitlist deposit Deposit paid when joining the waitlist
Organization dedicated room Organization dedicated room subscription charge
Completion credit Credit applied at end of period

Notes carry any supplemental free-form context (for example, the reason a staff adjustment was made).

Checkout Initialization

Payment records are created up front, before Stripe charges. When a member commits to a purchase — hourly booking, lockout, credit package, waitlist deposit, or organization dedicated room — the system creates the business entity (reservation, credit purchase, waitlist entry) and a Pending payment record in a single database transaction. The Stripe charge is sent last. See Checkout for the full initialization flow.

Payment Records

Every Stripe payment event has a corresponding payment record, regardless of what was purchased. A payment record tracks:

  • Status — Pending, Retrying, Failed, or Paid
  • Amount — what the member is charged
  • Billing date — when the charge is scheduled
  • Purchase link — exactly one of: a reservation, a credit balance purchase, or a waitlist deposit

Payment records are created at checkout initialization in Pending status, before Stripe attempts the charge. When Stripe confirms the charge, the record transitions to Paid and a transaction is attached. If the charge fails, the record transitions to Failed or Retrying.

Status meanings:

  • Pending — charge created but not yet confirmed (future-dated lockouts, ACH waiting to clear, subscriptions awaiting first invoice, credit purchases awaiting payment)
  • Retrying — charge failed but Stripe will retry (dunning in progress)
  • Failed — all retry attempts exhausted, or the underlying subscription has been cancelled by Stripe
  • Paid — charge succeeded

For monthly lockouts and other subscriptions, each billing cycle creates a new payment record. Payment records accumulate over the life of the tenancy while the reservation itself persists with the same identity.

Payment Failure and Dunning

Dunning (retry logic for failed payments) is handled entirely by Stripe. The system observes outcomes and updates payment records accordingly. No dunning emails are sent from the application — Stripe communicates directly with the member.

For monthly lockouts, physical access is not revoked during Stripe's retry cycle — the member keeps access through the retry window. When Stripe exhausts retries and the subscription enters a terminal failed state, the payment record is marked Failed, staff receive a notification, access is revoked, and the lockout is ended. See Physical Access.

For hourly reservations, a failed payment cancels the reservation and revokes the access code for that booking. For credit purchases, a failed payment leaves the balance ungranted (credits are never issued on a failed charge).

Refund Rules

Refund behavior depends on reservation type:

Hourly reservations — refundable if cancelled at least 24 hours before start time. The refund is issued as a Stripe customer balance credit (not a direct refund to the original payment method), applied to future charges. Within 24 hours of start time, no refund is issued.

Credit-paid hourly reservations — credits are restored to the original credit balance on cancellation.

Monthly lockouts — no per-payment refund on cancellation. The subscription is cancelled at Stripe (immediately or at period end). Proration credits from mid-cycle changes are handled by Stripe's proration system.

Tours — always free, no refund applicable.

Waitlist deposits — refunded as a Stripe customer balance credit on cancellation. If the deposit was already transferred to the location, a transfer reversal is attempted (failure does not block the refund).

Idempotency

Stripe payment notifications are processed exactly once — duplicate deliveries are automatically detected and ignored. Post-payment actions (access code provisioning, emails, calendar syncing) run in the background after the payment is recorded.

Invoice Lifecycle

Invoices are generated by Stripe for subscription payments (lockouts, organization dedicated rooms, recurring credit packages):

  • Finalized — triggers activation of future-dated reservations whose billing period has begun
  • Paid — records a Paid payment for the billing cycle and, for new subscriptions, runs fulfillment (lockout access, credit balance creation)
  • Failed — marks the payment as Retrying or Failed depending on whether Stripe will retry again