diff --git a/public/img/wartungs-abo-produkt.png b/public/img/wartungs-abo-produkt.png new file mode 100644 index 0000000..99cbe35 Binary files /dev/null and b/public/img/wartungs-abo-produkt.png differ diff --git a/server/config.js b/server/config.js index 3229c19..18a0136 100644 --- a/server/config.js +++ b/server/config.js @@ -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 || diff --git a/server/services/stripeBilling.js b/server/services/stripeBilling.js index 2b0d5a3..65510c2 100644 --- a/server/services/stripeBilling.js +++ b/server/services/stripeBilling.js @@ -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 })