Kundenansicht neu P7: Bestellung Fassung 6 mit Kundenart vom Server und Wortlaut-Nachweis

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Sonnet 5.5 committed 2026-10-16 20:02:04 +00:00
1 parent bf1e968a83
commit 99e1987bc4
5 files changed
+324 -15

No files matched your search

+3 -2
View File
@@ -574,6 +574,7 @@ function checkoutMessage(product, lateStart, offer) {
* Position, Beschreibung, Hinweistext und Testrabatt richten sich nach dem Produkt.
* startChoice: 'sofort' (Leistung und erste Abbuchung sofort) oder 'nach_frist' (Probezeit ohne Leistung
* und ohne Abbuchung bis consent.serviceStartAt, dem Tag nach dem Ende der Widerrufsfrist, deadlines.js).
* consent.termsVersion (optional, Fassung 6): die Fassung, der der Kunde zugestimmt hat; ohne sie gilt config.abo.termsVersion.
* offer: individuelles Angebot { id, stripeCouponId, text } -> Coupon im Checkout; bei Testkonten
* bleibt der Testrabatt im Checkout und das Angebot wird nach dem Abschluss angehaengt (offerDeferred).
*/
@@ -603,8 +604,8 @@ export async function createAboCheckout(customer, consent, productKey, offer = n
webklarCustomerId: customer.$id,
email: customer.email || '',
productKey,
termsVersion: config.abo.termsVersion,
consentTextVersion: config.abo.termsVersion,
termsVersion: consent.termsVersion || config.abo.termsVersion,
consentTextVersion: consent.termsVersion || config.abo.termsVersion,
termsAcceptedAt: consent.termsAcceptedAt,
startChoice: consent.startChoice,
earlyStartConsentAt: consent.earlyStartConsentAt || '',
+14
View File
@@ -112,3 +112,17 @@ export async function speichereVertragsNachweis({ customerId, art, bezug = '', t
throw Object.assign(new Error(FEHLER_NACHWEIS), { status: 500 })
}
}
/**
* Wie speichereVertragsNachweis, fuer die Routen: jeder Fehler (auch eine Pruefung der Eingaben) wird zu einem 500 mit FEHLER_NACHWEIS,
* damit der Kunde nie einen internen Text sieht und die Handlung (Stripe-Sitzung, Wechsel, Speicheraenderung, Antrag) unterbleibt.
*/
export async function speichereNachweisFuerRoute(args) {
try {
return await speichereVertragsNachweis(args)
} catch (err) {
if (err?.status === 500 && err.message === FEHLER_NACHWEIS) throw err
console.error(`[vertragsnachweis] Nachweis abgelehnt: ${err?.name ?? 'Fehler'} ${err?.status ?? ''} ${err?.message ?? ''}`.trim())
throw Object.assign(new Error(FEHLER_NACHWEIS), { status: 500 })
}
}