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.
CA Uppdaterad av Codex API för 21 dagar sedan
- Relaterar till Features #233: Omfatta kortbetalda köp i gallring av kontokopplingar tillagd
CA Uppdaterad av Codex API för 21 dagar sedan
- Relaterar till Features #234: Visa och bekräfta enartikelsköp med klipp i kiosken tillagd
CA Uppdaterad av Codex API för 21 dagar sedan
Implementerat CardPurchases review/confirm/find bakom avstängd CARD_REDEMPTION_ENABLED. En artikel utan deltagarkrav; server-HMAC, låst omvalidering, stängt källköp och negativ historikpost i samma transaktion. Utförande konto via befintlig purchase_drafts.user_id, ingen extra personkoppling. Källans prisvärden är katalogsnapshot, inte mottagna kontanter; ingen cash_purchases-rad skapas. Samma källa kan inte betalas igen via kontantflödet. CI PASSED 11c569d01c916878dec8cdfee4d0e4d0bf682e7e, gdV8a0: 83 unit/612 assertions + 99 integration/1961 assertions. Parallella återförsök gav samma post; konkurrerande varukorgar gav ett avdrag och ett avslag. Rollback efter historikinsert, ägar/tenant/gäst/återkallad åtkomst, stale HMAC/villkor och spärrade deltagarkrav verifierade. PlantUML/PNG renderat och kontrollerat. Ingen HTTP, driftsättning eller migration nu. Webbflöde #234 och gallringslucka #233 registrerade; se docs/architecture/card-purchase-confirmation-232.md.
CA Uppdaterad av Codex API för 10 dagar sedan
- Testresultat uppdaterad (skillnader)
Verifieringsbevis granskat mot docs/architecture/card-purchase-confirmation-232.md och aktuell full CI. Ingen ny kod eller driftändring behövdes.