Přeskočit na hlavní obsah

P6 — Checkout / Platba

Screen IDP6
Typ Primární
FázeMVP
Odhad8 h
Účel obrazovky

Finální krok nákupu — výběr platební metody a dokončení objednávky. Musí být maximálně jednoduchá, s Apple Pay / Google Pay na prvním místě pro rychlé dokončení. Countdown timer stále běží.


Content Priority

  1. Stepper progress — krok 4/5 (Místa → Objednávka → Údaje → Platba → Potvrzení) Stepper / Progress Indicator
  2. Countdown timer — pokračuje z P4/P5 Countdown Timer
  3. Rekapitulace objednávky — kompaktní: počet vstupenek, akce, datum, celková cena (collapsible detail) Accordion / ExpandablePrice Summary
  4. Platební metody grid:
    • Apple Pay (iOS) — nativní sheet, zobrazeno jako první na iOS
    • Google Pay (Android) — nativní sheet, zobrazeno jako první na Android
    • Platební karta — přesměrování na platební bránu (Comgate)
    • Hotovost — rezervace (s upozorněním o vyzvednutí)
    Payment Method Card
  5. Voucher redemption — pokud neuplatněn v P5, poslední šance zadat kupón Text InputPrimary Button
  6. Licence terms — checkbox s odkazem na obchodní podmínky (povinný) Checkbox
  7. Celková cena — finální částka (bold, velký font) Price Summary
  8. CTA „Zaplatit X Kč" / „Rezervovat" — primary button s částkou Primary Button

Interakce

TriggerAkceCíl
Tap Apple PayNativní Apple Pay sheetBiometrika → zpracování → X1 nebo X3
Tap Google PayNativní Google Pay sheetAutorizace → zpracování → X1 nebo X3
Tap KartaPřesměrování na platební bránuIn-app browser (Comgate) → X1 nebo X3
Tap HotovostPotvrzovací dialog„Vstupenky budou rezervovány…" → potvrdit → X2
Toggle licence termsPovinný checkboxCTA disabled pokud unchecked
Tap odkaz obchodní podmínkyOtevření podmínekIn-app browser nebo modal
Platba OKSuccess stateX1 — Zaplaceno
Platba OK (hotovost)Rezervace potvrzenaX2 — Rezervováno
Platba selhalaError stateX3 — Chyba platba
Timer expiryTimeoutX4 — Timeout

Stavy

StavPopisVizuální chování
DefaultVýběr platební metodyGrid platebních metod, CTA disabled (licence terms unchecked)
ReadyLicence terms checkedCTA „Zaplatit X Kč" active
ProcessingPlatba probíháLoading overlay s „Zpracováváme platbu…", nelze interagovat
Apple/Google Pay sheetNativní payment sheetSystémový bottom sheet s biometrikou
Payment gatewayIn-app browser (karta)WebView s platební bránou Comgate
Timer critical< 2 min zbýváPulsující timer, urgency messaging

Edge Cases a Error States

ScénářŘešení
Apple Pay není dostupné (starší zařízení)Skrýt Apple Pay option, zobrazit jen Karta + Hotovost
Google Pay není nakonfigurovanéSkrýt Google Pay, zobrazit alternativy
Platba zamítnuta (nedostatek prostředků)X3 s možností změnit platební metodu
Platební brána timeoutX3 + kontakt na podporu, transakce ověřena na pozadí (double-charge ochrana)
Uživatel zavře platební bránu (back button)Návrat na P6, košík zachován, timer pokračuje
Timer vypršel během platby v bráněServer-side check — pokud platba prošla, objednávka se dokončí i po timeru
Hotovost = rezervaceWarning dialog: „Vstupenky nejsou zaplaceny. Vyzvedněte a zaplaťte min. X minut před začátkem akce na pokladně."
Licence terms checkbox uncheckedCTA „Zaplatit" disabled s tooltip „Potvrďte obchodní podmínky"
Změna ceny mezi P5 a P6Alert „Cena se změnila od X na Y Kč" s možností pokračovat nebo zrušit

Mobilní patterny a odlišení od webu

Co děláme zásadně jinak

  • Apple Pay / Google Pay jako primary — na webu nedostupné, na mobilu jsou nejrychlejší cesta k dokončení (1 tap + biometrika)
  • Nativní payment sheets — místo přesměrování na bránu, nativní sheet s Face ID / otiskem prstu
  • Biometrická autorizace — platba potvrzena otiskem / obličejem, ne zadáváním údajů karty
  • Single-screen checkout — web má formuláře na jedné stránce, MA dělí do stepper kroků (méně cognitive load)

Co přebíráme z webu

  • Comgate jako fallback platební brána
  • Hotovostní platba (rezervace) jako alternativa
  • Licence terms checkbox

Aplikované patterny

  • iOS: PKPaymentAuthorizationViewController pro Apple Pay, SFSafariViewController pro platební bránu
  • Android: Google Pay API (PaymentsClient), CustomTabsIntent pro platební bránu

API Data

GET/cartPOST/cart/set-personPOST/cart/voucher-payment/addDELETE/cart/voucher-payment/remove/{paymentId}POST/order/createPOST/payment/createGET/codebook/countries
OperaceEndpointTriggerPoznámka
RekapitulaceGET /cartOtevření obrazovkyCelý košík včetně fees jako separátních řádků
Guest checkoutPOST /cart/set-personVyplnění osobních údajůPro nepřihlášené uživatele
Platební voucherPOST /cart/voucher-payment/addUplatnění dárkového poukazuTyp 3 ze 3 voucher typologií — voucher jako platební metoda
Vytvoření objednávkyPOST /order/createTap „Zaplatit"Převede košík na Order (pre-payment stav)
Vytvoření platbyPOST /payment/createPo vytvoření objednávkyVrací payment URL / parametry pro platební bránu
Seznam zemíGET /codebook/countriesFormulář adresyČíselník pro dropdown
CoreAPI poznatek — 23+ platebních metod

PaymentType enum zahrnuje: Card, ApplePay, GooglePay, Cash (= rezervace na pokladnu), BankTransfer, GPWebPay, Gopay, eAPI, Comgate, PayPal, Voucher, LoyaltyProgramPoints (F1 — věrnostní body jako platba), BenefitPlus, Pluxee, Edenred, Benefity, Twisto a další. Fees (servisní poplatek) se zobrazují jako separátní řádky v rekapitulaci.


Reference — Aktuální web

SCR-WEB-33: Guest checkout — doručení, platba, osobní údaje formulář
Web ColosseumSCR-WEB-33Guest checkout — doručení, platba, osobní údaje formulář
SCR-WEB-37: Logged-in checkout — Comgate, voucher, prefilled údaje
Web ColosseumSCR-WEB-37Logged-in checkout — Comgate, voucher, prefilled údaje

Reference — CineStar benchmark

SCR-CS-15: Platební metody grid — karta, převod, Apple Pay, Google Pay, benefity, loyalty body
CineStar benchmarkSCR-CS-15Platební metody grid — karta, převod, Apple Pay, Google Pay, benefity, loyalty body
Inspirace z CineStar

CineStar zobrazuje platební metody jako vizuální grid s ikonami — přehledný, snadno scanovatelný. Apple Pay a Google Pay jsou prominentní. Navíc umožňuje uplatnit věrnostní body inline — tento pattern použijeme v F1 rozšíření.