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.

Payment-validation

Invalid card, expiry, email, and address values connect errors to their controls.

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