Skip to pattern guide
Morten A. Giraffe

Pattern 11-05-checkout-summary / Pricing & Conversion / public

Checkout summary

A purchase confirmation that makes money and consequences explicit.

Use when
A subscription, purchase, deposit or upgrade is being paid.
Avoid when
Charges would appear only after CTA click.
11 / 05Structure, not styling
01Understand the pattern

What this pattern must solve

Help a person understand price, tradeoffs, and commitment before the conversion action. For this pattern, the practical fit is: A subscription, purchase, deposit or upgrade is being paid.

Avoid forcing it into the product when charges would appear only after cta click. A recognizable pattern is only useful when it reduces work or uncertainty for the person using it.

Information anatomy

Start with these relationships before choosing layout treatment. Their order may change with the task, but each one needs an explicit place.

  1. Price and billing basis
  2. Meaningful differences
  3. Terms and consequences
  4. Decision action

States the screenshot will not show

A polished default view is incomplete. Design and verify these states so the implementation stays useful when data, permissions, timing, or connectivity change.

  1. Default plan
  2. Billing-period change
  3. Usage change
  4. Unavailable plan
  5. Checkout failure

Responsive and accessible behavior

Preserve price, key differences, terms, and the action together; do not rely on side-by-side comparison alone.

  1. Announce dynamic price changes
  2. Label recommended options truthfully
  3. Keep terms available before action

UI/UX and public-page checks

The pattern prompt carries these implementation checks into the task. Apply only the public-page checks that match the route and content.

  1. 02 Hierarchy
  2. 09 Choice
  3. 10 Chunking
  4. 12 Feedback
  5. 13 Recovery
  6. 17 Trust
  7. 18 Measure
  8. 09 Rendering
  9. 10 Titles/snippets
  10. 11 Structured data truth
  11. 15 Mobile/accessibility
  12. 17 AI search

Full implementation prompt

This combines the shared inspection contract, the pattern-specific task, fit guidance, verification requirements, and a visible source link. Replace bracketed context with real product details before using it.

You are designing or repairing a real interface inside an existing product. Do not start by decorating it.

FIRST, establish the screen job in one sentence: “This screen helps [specific user] understand/do [specific thing] so they can [specific next action].” Inspect the current repository, `design.md`, existing components, tokens, routes, data flow, accessibility behavior, tests, and any supplied reference screenshot before editing. Preserve working product behavior and the project’s existing brand language unless the task explicitly replaces it.

Use the Morten A. Giraffe UI/UX field-guide principles as constraints: purpose before polish, visible hierarchy, relationship-driven spacing, meaningful contrast, clear proximity, behavioral consistency, familiar interaction patterns, reachable targets, structured choice, chunking, progressive disclosure, immediate feedback, recoverable errors, accessibility, responsive purpose, deliberate sequence, trust near doubt, and outcome-based measurement.

ANTI-AI-SLOPE RULES: do not default to generic SaaS composition, random gradients, glow effects, glassmorphism, oversized rounded cards, cards-inside-cards, decorative icon circles, fake stats, fake testimonials, meaningless bento grids, excessive pills, filler copy, giant empty spacing, or animation that does not explain state. Do not invent proof, customer names, metrics, security claims, reviews, or product capabilities.

SPECIFIC TASK — CHECKOUT SUMMARY

Show exact item/plan, quantity/seats, subtotal, discounts, taxes/fees when known, recurring cadence, due-now total, next charge and key cancellation/refund terms. Keep edit/back available, prevent duplicate charges and design processing/success/failure states.

Use when: A subscription, purchase, deposit or upgrade is being paid.

Avoid when: Charges would appear only after CTA click.

IMPLEMENTATION CONTRACT
- Use semantic HTML and the project’s existing accessible primitives before creating new ones.
- Keep one clear primary action; visually subordinate secondary and tertiary actions.
- Design the complete state model where relevant: idle, hover/focus, loading, success, empty, partial data, disabled, validation error, server error, offline/retry, and permission/locked.
- Preserve user input after recoverable errors. Explain what happened and the next useful action.
- Make keyboard operation, visible focus, logical tab order, screen-reader naming, contrast, reduced motion, zoom/reflow, and touch targets part of the implementation—not a later patch.
- Treat mobile as the same purpose under different constraints, not a squeezed desktop. Verify narrow phones, tablet, desktop, long content, and 200% zoom.
- Avoid new dependencies unless the existing stack cannot reasonably support the requirement.
- Keep copy specific, human, and useful. Button labels should describe the outcome.
- For public/indexable pages, keep important meaning, links, headings, and metadata available without requiring client JavaScript; preserve truthful canonicals, titles, structured data, and internal links.
- Protect performance: avoid layout shift, oversized media, unnecessary client JavaScript, and effects that hurt responsiveness.
- Do not silently remove routes, integrations, analytics, auth behavior, deep links, metadata, or existing functionality.
- Run the project’s relevant build, typecheck, lint, tests, and targeted browser checks after implementation. Fix issues caused by your changes.

BEFORE CALLING IT COMPLETE, report: (1) page/screen job, (2) files changed, (3) what was preserved, (4) UX rules applied, (5) responsive/accessibility states verified, (6) tests/checks run with results, (7) remaining unknowns or production-only checks. Never claim “bug free,” “fully accessible,” or “regression free” without evidence.

Source: Morten A. Giraffe UI Prompt Field Guide — https://www.mortenagiraffe.com/journal/ui-prompt-library-for-vibe-coders/11-05-checkout-summary

Verify the result

Select a plan and explain the total, renewal basis, limits, and cancellation consequence before continuing. For “Checkout summary,” success means the interface solves this fit: A subscription, purchase, deposit or upgrade is being paid.

Also confirm keyboard completion, visible focus, zoom and text reflow, reduced motion, touch targets, loading and error recovery, console output, existing behavior, and any route metadata affected by the change.

02Continue the library

Compare the neighboring patterns.