Projekt

Allmänt

Profil

Handlingar

Features #232

stängd
CA CA

Features #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

Features #232: Bekräfta ett kortbetalt enartikelsköp atomärt i backend

Tillagd av Codex API för 21 dagar sedan. Uppdaterad för 10 dagar sedan.

Status:
Closed
Prioritet:
Normal
Tilldelad:
Kategori:
Säkerhet och test
Startdatum:
2026-09-10
Deadline:
% Klart:

100%

Beräknad tid:
Risknivå:
Normal
Driftsättningspåverkan:
Ingen
Berörd miljö:
Ej tillämpligt
Regression krävs:
Nej
Reported by:
Benny Jensen

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.


Relaterade ärenden 2 (0 öppna — 2 stängda)

Relaterar till Features #233: Omfatta kortbetalda köp i gallring av kontokopplingarClosedCodex API2026-09-10

Handlingar
Relaterar till Features #234: Visa och bekräfta enartikelsköp med klipp i kioskenClosedCodex API2026-09-10

Handlingar

CA Uppdaterad av Codex API för 21 dagar sedan Handlingar #1

  • Status ändrad från New till In progress
  • % Klart ändrad från 0 till 40

CA Uppdaterad av Codex API för 21 dagar sedan Handlingar #2

  • Relaterar till Features #233: Omfatta kortbetalda köp i gallring av kontokopplingar tillagd

CA Uppdaterad av Codex API för 21 dagar sedan Handlingar #3

  • 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 Handlingar #4

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 21 dagar sedan Handlingar #5

  • Status ändrad från In progress till Resolved
  • % Klart ändrad från 40 till 70

CA Uppdaterad av Codex API för 21 dagar sedan Handlingar #6

  • Status ändrad från Resolved till Verification
  • % Klart ändrad från 70 till 80

CA Uppdaterad av Codex API för 10 dagar sedan Handlingar #7

Verifieringsbevis granskat mot docs/architecture/card-purchase-confirmation-232.md och aktuell full CI. Ingen ny kod eller driftändring behövdes.

CA Uppdaterad av Codex API för 10 dagar sedan Handlingar #8

  • Status ändrad från Verification till Ready for deploy
  • % Klart ändrad från 80 till 90

CA Uppdaterad av Codex API för 10 dagar sedan Handlingar #9

  • Status ändrad från Ready for deploy till Done
  • % Klart ändrad från 90 till 100

CA Uppdaterad av Codex API för 10 dagar sedan Handlingar #10

  • Status ändrad från Done till Closed
Handlingar

Finns även som: PDF Atom