Features #342
stängdMaintenance #134: Refinement av betalning och avstämning
Lägg till självdeklarerad betalning med Swish
100%
Beskrivning
Syfte: ge medlemmen valet Swish bredvid kontant och registrera medlemmens egen bekräftelse att betalningen har gjorts, med samma förtroendemodell som kontantflödet. Definition of Done: tillgänglig varukorg visar separata val för Kontant och Swish; Swish-granskningen visar förening, artiklar och belopp samt kräver ett uttryckligt intygande om genomförd Swish-betalning; pris, ägarskap, revision och idempotens omvalideras vid bekräftelse; köpet lagras oföränderligt med payment_method=swish och egen submission_key; kvittot anger att betalningen bekräftats av köparen men inte verifierats av föreningen eller Swish; rapport och CSV redovisar Swish separat och inkluderar beloppet i kategori- och rapporttotaler; kontantkorrigering får inte användas på Swish-köp; automatiska enhets-, integration-, schema- och webbläsartest passerar. Utanför scope: Swish-nummer, QR, App2App, öppning av Swish-appen, bank-/API-integration, callback, automatisk betalningsstatus, avstämning och blandning av Swish med klippkort. Leverans: isolerad CI först; separat godkännande krävs för migration, feature flag och produktion.
Acceptanskriterier
Separata Kontant- och Swish-val; uttryckligt köparintygande; payment_method=swish; separat rapport/CSV-redovisning med totaler; Swish nekas i kontanträttelse; pris/ägarskap/revision/idempotens verifieras; ingen Swish-integration eller automatisk verifiering.
Testresultat
PASS: release dd38d310c8bc02cb7e8d667f912ddba4cdcdd13a i produktion. Separata Kontant/Swish-val, spärr och tydlig notis utan intygande, godkänt köp med intygande, kvittotext, oföränderligt payment_method=swish, rapporttotaler och separat fördelning, CSV-betalningssätt samt nekad kontanträttelse verifierade manuellt. CI: 90 tester/690 assertions och 199 integrationstester/3636 assertions. Schema 024, HTTPS, autentisering och backuper verifierade.
CA Uppdaterad av Codex API för 8 dagar sedan
- Relaterar till Maintenance #287: Utred Swish-start på köparens mobil och krav för betalningsbekräftelse tillagd
CA Uppdaterad av Codex API för 8 dagar sedan
- Relaterar till Maintenance #288: Verifiera App2App-webbstöd för föreningsnummer och privata Swish-nummer tillagd
CA Uppdaterad av Codex API för 8 dagar sedan
Implementerat självdeklarerat Swishflöde bakom SWISH_DECLARATIONS_ENABLED=false: separata varukorgs-, gransknings- och bekräftelsevägar; payment_method=swish med metodbundet fingeravtryck och submission_key; rapport/CSV; nekad kontanträttelse i applikation och databas; migration 024; dokumentation samt enhets-, integrations-, schema- och webbläsartest. PHP- och Node-syntax samt git diff --check är godkända lokalt. Full isolerad MariaDB- och webbläsarkörning inväntar commit/push och CI.
CA Uppdaterad av Codex API för 8 dagar sedan
Commit 10ac532 implementerade funktionen. CI upptäckte en ogiltig testnyckel; korrigeringscommit 0cde3bd rättade endast testfixturen. CI för 0cde3bd är godkänd: databasintegritet 41/41, 90 grundtester (690 assertioner) och 199 integrationstester passerade. Artifact: /home/bj/.local/share/foreningskiosk-ci/runs/0cde3bdc27b74af9995cbca9daa61053efc6288d.4VshCm/release.tar.gz. Produktion är ännu oförändrad.
CA Uppdaterad av Codex API för 8 dagar sedan
Produktionsrelease 0cde3bdc27b74af9995cbca9daa61053efc6288d aktiverad med schema 024 och SWISH_DECLARATIONS_ENABLED=true. Automatiska kontroller godkände HTTPS, autentisering, Swish-route, skyddade filer och publicerade resurser. Efterkontroll: Apache och PHP-FPM aktiva, privatlagringens backuptimer enabled/active, 42 % diskutnyttjande. Leveranskontrollen korrigerades i supportcommits 8acdbe8 och 9c593a0; rollback verifierades återställa föregående release. Manuell verifiering av Swish-val, intygande, kvitto samt rapport/CSV återstår innan statusflödet fortsätter.
CA Uppdaterad av Codex API för 8 dagar sedan
Manuell verifiering visade att köp utan markerat Swish-intygande blockerades men att kioskwebbläsaren inte visade någon valideringsnotis. Orsak: webbläsarens tysta HTML required-kontroll stoppade POST före servervalideringen. Korrigering i dd38d31 flyttar Swish-intygandet till servervalideringen och visar: 'Bekräfta att du har betalat beloppet med Swish innan betalningen registreras.' Regressionstest verifierar omdirigering, sessionsfel, synligt meddelande och att inget köp godtas utan intygandet. CI godkänd: 90 tester/690 assertions samt 199 integrationstester/3636 assertions. Kontrollerat hotfixpaket ca34fdd är verifierat på Webserver; manuell omtest återstår efter aktivering.
CA Uppdaterad av Codex API för 7 dagar sedan
Manuell produktionsverifiering av release dd38d310c8bc02cb7e8d667f912ddba4cdcdd13a: utan markerat Swish-intygande visas nu det tydliga felmeddelandet och köpet går inte igenom; med markerat intygande registreras köpet korrekt. Kvar att verifiera före stängning: kvittotext, separat Swish-rad och totaler i rapport/CSV samt att kontanträttelse inte erbjuds för Swish-köpet.
CA Uppdaterad av Codex API för 7 dagar sedan
- Testresultat uppdaterad (skillnader)
Samtliga acceptanskriterier är godkända i produktion. Det separat upptäckta responsiva layoutfelet för kontanträttelse hanteras i relaterade bugärendet #343.