Features #232
stängdFeatures #178: Samordning: generiska föreningsspecifika klippkort
Features #186: Avräkna klipp atomärt för valda deltagare
Bekräfta ett kortbetalt enartikelsköp atomärt i backend
100%
Beskrivning
Backendtjänst för inloggad ägare och en köprad utan krav på deltagaruppgifter. Servergranskning binds med HMAC till källköp/revision, artikel, antal, pris och kort-/regelrevision. Bekräftelsen låser/omvaliderar och avslutar källköpet samt skriver ett klippavdrag i samma transaktion. Befintlig source user_id visar utförande konto; inga extra personkopplingar. Upprepade och samtidiga bekräftelser returnerar samma resultat utan dubbla klipp. Fel/ändrade villkor rullar tillbaka allt och får inte tyst byta betalning. Standardavstängd featureflagga och ingen HTTP/UI eller driftsättning. Blandade/flera artiklar, gäst, delning, deltagarkrav, e-post och gallringsutökning ingår inte; dessa måste hanteras före respektive aktivering. Isolerad MariaDB-CI med ägar/tenant-isolering, rollback, stale HMAC, samtidighet och ingen kontantregistrering krävs.
Acceptanskriterier
En autentiserad ägares enartikelsköp utan personkrav kan bekräftas exakt en gång i isolerad MariaDB. Stängt källköp och historik/saldo är atomära och actor återfinns via befintlig källköpskoppling. Dubbletter returnerar samma historikpost, även med samtidiga processer. Avstängt som standard; ingen leverans.
Testresultat
PASS: atomär bekräftelse, utförande konto, idempotens, rollback, tenantisolering och konkurrerande köp verifierades i isolerad MariaDB för 11c569d (99 integrationstester/1961 assertions i ursprunglig leverans). Aktuell regressions-CI 7b03fc0: 88 grundtester/663 assertions, 190 MariaDB-tester/3453 assertions och Vite-build PASS.