Shop Review A M9: Mindestbetrag 0,50 EUR (Stripe) und Sitzungsende direkt vor dem Stripe-Aufruf nachfuehren
berechne lehnt Gesamtbetraege unter 0,50 EUR mit dem Code mindestbetrag und einem Kaeufertext ab. legeBestellungAn schiebt expires_at um die seit Beginn vergangenen ganzen Sekunden (Warten auf Sperren) weiter und fuehrt ablaufAt auf denselben Wert nach, damit Stripes 30-Minuten-Minimum sicher bleibt. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
cb6291410d
commit
d4b9e6a5b9
5 files changed
+55
-4
No files matched your search
@@ -11,6 +11,8 @@ const MAX_MENGE = 99
|
||||
const KLEINUNTERNEHMER_HINWEIS = 'Gemäß § 19 UStG wird keine Umsatzsteuer berechnet.'
|
||||
|
||||
const istObjekt = (wert) => wert !== null && typeof wert === 'object' && !Array.isArray(wert)
|
||||
/** Stripe nimmt Zahlungen in Euro erst ab 0,50 EUR an. */
|
||||
const MINDESTBETRAG_CENT = 50
|
||||
const fehler = (code, text, produktId) => ({ ok: false, fehler: produktId === undefined ? { code, text } : { code, text, produktId } })
|
||||
|
||||
/** Enthaltene USt aus Brutto, kaufmaennisch (halb auf) gerundet: brutto * satz / (100 + satz), nur mit ganzen Zahlen. */
|
||||
@@ -146,6 +148,7 @@ export function berechne({ produkte, positionen, lieferart, land, einstellungen,
|
||||
versandCent = kostenlos || !Number.isInteger(kosten) || kosten < 0 ? 0 : kosten
|
||||
}
|
||||
const gesamtCent = zwischensummeCent + versandCent
|
||||
if (gesamtCent < MINDESTBETRAG_CENT) return fehler('mindestbetrag', 'Der Bestellwert muss mindestens 0,50 € betragen.')
|
||||
|
||||
// 5. Steuer: je Satz ueber die Summe der Positionen, Versand anteilig nach Bruttowert (Rest auf den hoechsten Satz)
|
||||
let steuer = []
|
||||
|
||||
Reference in new issue
Block a user