Stripe-Produkt mit Produktbild; Portal-Konfiguration exportiert
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
986ef9ebb9
commit
7237ec729d
3 files changed
+3
-1
No files matched your search
Binary file not shown.
|
After Width: | Height: | Size: 428 KiB |
@@ -63,6 +63,7 @@ export const config = {
|
||||
productDescription:
|
||||
'Betrieb und Pflege Ihrer Website bzw. Web-Anwendung auf unserem Server in Deutschland (Sicherheitsupdates, SSL, tägliche Datensicherung, Überwachung der Erreichbarkeit), 1 Domain inklusive Verwaltung, 1 E-Mail-Postfach (5 GB) und 1 Stunde Arbeitszeit pro Monat (12 Monate nutzbar). Keine Mindestlaufzeit, monatlich kündbar. Gemäß § 19 UStG ohne Umsatzsteuer.',
|
||||
statementDescriptor: 'WEBKLAR WARTUNG',
|
||||
productImage: 'https://project.webklar.com/img/wartungs-abo-produkt.png',
|
||||
// Kleinunternehmer: Pflichthinweis auf jeder Stripe-Rechnung
|
||||
invoiceFooter:
|
||||
process.env.STRIPE_INVOICE_FOOTER ||
|
||||
|
||||
@@ -56,6 +56,7 @@ export async function ensureAboPrice() {
|
||||
name: config.stripe.productName,
|
||||
description: config.stripe.productDescription,
|
||||
statement_descriptor: config.stripe.statementDescriptor,
|
||||
images: [config.stripe.productImage],
|
||||
metadata: { webklar: 'wartungs-abo' },
|
||||
})
|
||||
const price = await stripe.prices.create({
|
||||
@@ -73,7 +74,7 @@ export async function ensureAboPrice() {
|
||||
|
||||
let cachedPortalConfigId = null
|
||||
/** Kundenportal-Konfiguration (Zahlungsmittel, Rechnungen, Kuendigung zum Periodenende). */
|
||||
async function ensurePortalConfiguration() {
|
||||
export async function ensurePortalConfiguration() {
|
||||
if (cachedPortalConfigId) return cachedPortalConfigId
|
||||
const stripe = getStripe()
|
||||
const { data } = await stripe.billingPortal.configurations.list({ active: true, limit: 20 })
|
||||
|
||||
Reference in new issue
Block a user