Features #144
Uppdaterad av Codex API för 23 dagar sedan
Köparen genomför hela kontantköpet själv, utan betalningsleverantör. En ledare på plats ska kunna se att köpet har registrerats genom en tydlig bekräftelseskärm. Detta är ett avgränsat tillägg till tidigare beslut att skjuta extern betalningsintegration till senare.
Acceptanskriterier:
- Köparen granskar varukorgen och väljer Betala kontant, följt av en uttrycklig bekräftelse att kontanterna har lämnats.
- Servern kontrollerar förening, artiklarnas tillgänglighet, antal och aktuella priser. Ändrade priser kräver ny bekräftelse.
- Registrering sker atomärt med unikt köpnummer, förening, servertidpunkt, artiklar, antal och belopp. Namn och priser sparas som historiska snapshots.
- Betalningssätt är kontant. Betalningen markeras som bekräftad av köparen, inte som kontrollerad eller avstämd av föreningen.
- Registrerade köp kan inte redigeras eller raderas via det vanliga köp- eller administrationsflödet. Eventuella rättelser sker separat och spårbart utan att skriva över originalet.
- Dubbeltryck, omladdning och omförsök får inte skapa dubbla köp. Idempotens och samtidiga anrop ska testas.
- Bekräftelseskärmen visas först efter lyckad serverregistrering och visar köpnummer, förening, tidpunkt och totalbelopp.
- Skärmen har animation och ger toner när köparen trycker på olika områden. Ljud startas genom användarens interaktion; ljudlös användning och reducerad rörelse ska fungera. Viktig information får inte vara beroende av ljud eller animation.
- Skärmen får en egen utformning som inte kan förväxlas med Swish. Animation och toner visar interaktivitet men utgör inte i sig bevis på äkthet eller mottagna kontanter.
- Åtkomst till köpbekräftelse och eventuella personuppgifter avgränsas till rätt köpare och förening. QR-länkar ger inte tillgång till någon annans köp.
Avgränsning och fortsatt precisering:
Ingen Swish-, bank- eller annan extern betalningsintegration ingår. Kassakontroll och faktisk avstämning är separata funktioner. Artikelstyrda personfält, gallring och integritetskrav behöver samordnas med köpunderlaget; låst transaktion innebär inte obegränsad lagring av personuppgifter. Exakt rättelseflöde och eventuell ledarverifiering mot servern preciseras före implementation.
Bakgrund: Användaren har uttryckligen valt att köparen sköter hela transaktionen själv och att registreringen ska bestå utan möjlighet att ta bort köpet.