Billing flow

Subscription billing

Block-composed plan, payment, paginated invoice, cancellation, outcome, and mobile billing states.

Subscription billing

Plans, card replacement, paginated invoice records, cancellation safeguards, outcomes, and pressure states.

Invoices

Dense invoice history retains native records plus a final-page boundary and omitted pagination range.

ViewportFull width
Rubytest/dummy/app/components/gallery/flows/billing_page.rb
div(
  data: {
    gallery: "flow-surface",
    gallery_flow: "billing",
    gallery_mobile: state == "mobile" ? "true" : nil
  }.compact
) do
  render NitroKit::Container.new(size: :xl, id: "gallery-billing-container") do
    render NitroKit::Flex.new(dir: :col, gap: 6, align: :stretch, id: "gallery-billing-stack") do
      turbo_frame_tag("gallery-billing-frame") { render_screen }
    end
  end
end