Phase 5 complete: - guard purchase event per transaction in sessionStorage - restore saved consent before GTM and purchase - add centered Przelewy24 countdown redirect
58 lines
2.9 KiB
Markdown
58 lines
2.9 KiB
Markdown
# Project: bilety.brzezovka.pl
|
|
|
|
## Description
|
|
Aplikacja webowa do sprzedazy biletow online z obsluga zamowien, platnosci i komunikacji potransakcyjnej.
|
|
|
|
## Core Value
|
|
Uzytkownicy moga szybko i bezpiecznie kupic bilety online oraz otrzymac natychmiastowe potwierdzenie zakupu.
|
|
|
|
## Requirements
|
|
|
|
### Must Have
|
|
- [x] Obsluga zakupu biletow end-to-end (wybor, checkout, finalizacja)
|
|
- [x] Poprawne rejestrowanie zamowien i danych transakcyjnych
|
|
- [x] Data layer purchase po finalizacji zakupu (wdrozone w Phase 1)
|
|
- [x] Event purchase capturuje 100% zamowien - fires przy skladaniu, nie przy powrocie z P24 (Phase 2)
|
|
- [x] Zgodnosc z RODO - baner zgody na cookies z Google Consent Mode v2 (Phase 3)
|
|
- [x] Baner cookies dziala bez bledu `injectScripts is not defined` (Phase 4)
|
|
- [x] Event purchase ma zabezpieczenie przed duplikatem przy odswiezeniu strony Przelewy24 (Phase 5)
|
|
- [x] Przekierowanie do Przelewy24 dziala automatycznie po 5 sekundach z czytelnym komunikatem (Phase 5)
|
|
|
|
### Should Have
|
|
- [x] Spojny tracking analityczny dla zdarzen ecommerce
|
|
- Walidacja danych telemetrycznych i brak duplikatow eventow
|
|
|
|
### Nice to Have
|
|
- Rozszerzony monitoring jakosci danych analitycznych
|
|
|
|
## Constraints
|
|
- PHP + Medoo + prepared statements bez sklejania SQL
|
|
- Bez logiki biznesowej w widokach
|
|
- Bez zmian poza zakresem ecommerce tracking/cookie consent dla aktualnej pracy
|
|
|
|
## Key Decisions
|
|
|
|
| Decision | Phase | Impact |
|
|
|----------|-------|--------|
|
|
| Event purchase na order-confirm (post-payment) | Phase 1 | Eliminuje falszywe konwersje |
|
|
| ZMIANA: Event purchase na przelewy24 (pre-payment, post-order) | Phase 2 | Capturuje 100% zamowien, beacon transport |
|
|
| Payload ecommerce budowany w backendzie | Phase 1 | Bezpieczenstwo, brak XSS |
|
|
| cookieNoticePro.init() zamiast $.fn.cookieNoticePro() | Phase 3 | Zgodnie z dokumentacja biblioteki |
|
|
| Consent Mode v2 default-denied przed GTM snippetem | Phase 3 | Wymog Google od marca 2024 |
|
|
| Usuniecie niezdefiniowanego injectScripts() | Phase 4 | Naprawia blad konsoli przy cookies bez zmiany GTM/Consent Mode |
|
|
| Purchase guard w sessionStorage per transaction_id | Phase 5 | Chroni przed duplikatem eventu przy odswiezeniu strony |
|
|
| Restore zapisanych zgod przed GTM | Phase 5 | Purchase uruchamia sie z poprawnym stanem Consent Mode |
|
|
|
|
## Success Criteria
|
|
- Event purchase trafia do data layer po zlozeniu zamowienia (osiagniete - Phase 2)
|
|
- Payload zawiera wszystkie dostepne dane transakcyjne i produktowe
|
|
- Integracja nie wplywa negatywnie na istniejacy checkout
|
|
- Baner cookies zgodny z RODO + Google Consent Mode v2 (osiagniete - Phase 3)
|
|
- Baner cookies nie generuje bledu `injectScripts is not defined` (osiagniete - Phase 4)
|
|
- Purchase nie duplikuje sie po odswiezeniu strony Przelewy24 w tej samej sesji przegladarki (osiagniete - Phase 5)
|
|
- Przelewy24 redirect jest automatyczny i poprzedzony czytelnym alertem z odliczaniem (osiagniete - Phase 5)
|
|
|
|
---
|
|
*Created: 2026-04-19 20:20*
|
|
*Last updated: 2026-05-08 after Phase 5 (v0.4 complete)*
|