Stripe: Online-Zahlungen in Websites und Apps einfach integrieren

Online-Zahlungen galten lange als technisch aufwändig und regulatorisch schwierig. Stripe hat das verändert: Mit einer durchdachten API, umfangreicher Dokumentation und einem großzügigen Testmodus können Entwickler Zahlungsabwicklung in wenigen Stunden in ihre Anwendungen integrieren. Dieser Artikel erklärt die wichtigsten Stripe-Komponenten und hilft bei der Entscheidung, welches Integrationsmodell für das eigene Projekt passt.

Was ist Stripe?

Stripe ist ein amerikanisches Fintech-Unternehmen, das 2010 gegründet wurde und heute zu den führenden Zahlungsdienstleistern weltweit zählt. Das Kernprodukt ist eine Zahlungs-API, über die Kreditkarten, SEPA-Lastschrift, Klarna, iDEAL, Apple Pay, Google Pay und dutzende weitere Zahlungsmethoden akzeptiert werden können. Stripe übernimmt dabei die Kommunikation mit den Kartennetzen und Banken sowie die PCI-DSS-Compliance für sensible Kartendaten.

Neben der reinen Zahlungsabwicklung bietet Stripe ein vollständiges Ökosystem: Rechnungsstellung, Abonnementverwaltung, Betrugserkennung (Radar), Steuerberechnung (Tax), Auszahlungen an Marktplatzteilnehmer (Connect) und ein eigenes Finanzmanagement-Dashboard.

Stripe Checkout

Stripe Checkout ist die einfachste Integrationsvariante. Entwickler leiten Nutzer mit wenigen Zeilen serverseitigem Code auf eine von Stripe gehostete Zahlungsseite weiter. Stripe kümmert sich um das Layout, die Eingabevalidierung, 3D-Secure-Authentifizierung und Lokalisierung in über 30 Sprachen. Nach dem Bezahlvorgang wird der Nutzer auf eine von der eigenen Anwendung definierte Erfolgs- oder Abbruch-URL weitergeleitet.

Checkout eignet sich für einfache Shops oder SaaS-Anwendungen, bei denen das Erscheinungsbild der Zahlungsseite keine entscheidende Rolle spielt. Der Nachteil: Entwickler haben wenig Kontrolle über das Design und den Checkout-Fluss.

Stripe Elements und Payment Intents API

Stripe Elements sind vorgefertigte UI-Komponenten (JavaScript-Widgets), die sich nahtlos in die eigene Website einbetten lassen. Kartennummer, Ablaufdatum und CVC-Feld werden als iFrames eingebettet, damit sensible Daten nie den eigenen Server berühren – PCI-Compliance bleibt dadurch minimal. Das Aussehen lässt sich über CSS-Variablen und ein Theme-System vollständig anpassen.

Die Payment Intents API ist die empfohlene serverseitige Gegenstelle für Elements. Ein Payment Intent repräsentiert eine einzelne Zahlungsabsicht und führt Entwickler durch den gesamten Zahlungsfluss inklusive 3D-Secure, Authentifizierungsschritte und Wiederholungsversuchen. Der serverseitige Aufruf:

const paymentIntent = await stripe.paymentIntents.create({
  amount: 2990, // Cent
  currency: 'eur',
  payment_method_types: ['card', 'sepa_debit'],
});
Tipp: Für neue Integrationen empfiehlt Stripe den PaymentElement statt einzelner Elements-Komponenten. Dieser zeigt automatisch die für den Kunden relevanten Zahlungsmethoden an und aktualisiert sich, wenn Stripe neue Zahlungsmethoden einführt – ohne Code-Änderungen.

Testmodus und Testkarten

Stripe trennt strikt zwischen Test- und Live-Modus. Im Testmodus werden keine echten Transaktionen durchgeführt. Testschlüssel beginnen mit sk_test_ bzw. pk_test_. Stripe stellt vordefinierte Testkartennummern bereit, die verschiedene Szenarien simulieren:

Webhooks

Zahlungsereignisse laufen asynchron. Stripe sendet Webhook-Benachrichtigungen an eine vom Entwickler definierte URL, wenn sich der Status eines Payment Intent ändert. Wichtige Events sind payment_intent.succeeded, payment_intent.payment_failed und charge.refunded. Jeder Webhook enthält eine Signatur im Header Stripe-Signature, die serverseitig verifiziert werden sollte:

const event = stripe.webhooks.constructEvent(
  req.body,
  req.headers['stripe-signature'],
  process.env.WEBHOOK_SECRET
);
Achtung: Webhooks müssen idempotent implementiert werden. Stripe kann dasselbe Event mehrfach liefern. Eine Bestellung sollte deshalb nur dann als bezahlt markiert werden, wenn sie nicht bereits diesen Status hat. Eine einfache Prüfung mit der Event-ID in der Datenbank verhindert doppelte Aktionen.

Abonnements und Subscription Billing

Stripe Billing ermöglicht wiederkehrende Zahlungen mit wenig Code. Ein Produkt und ein Preis (monatlich oder jährlich) werden einmalig im Stripe Dashboard oder per API angelegt. Kunden werden einem Abonnement zugewiesen, und Stripe zieht automatisch zum Verlängerungsdatum ab, sendet Rechnungen per E-Mail und behandelt fehlgeschlagene Zahlungsversuche über konfigurierbare Wiederholungszyklen.

Preismodell

Stripe berechnet in Deutschland 1,5 % + 0,25 € für europäische Karten und 2,9 % + 0,25 € für nicht-europäische Karten. Das oft zitierte Modell von 2,9 % + 0,30 $ gilt für den US-Markt. Rückbuchungen kosten 15 €. Für SEPA-Lastschrift fallen 0,35 % (max. 5 €) an. Es gibt keine monatlichen Grundgebühren oder Einrichtungskosten.

DSGVO und Datenspeicherung

Stripe speichert Kartendaten ausschließlich auf PCI-DSS-zertifizierten Servern. Für Kunden aus der EU bietet Stripe die Option, Daten in europäischen Rechenzentren zu halten. Ein Data Processing Agreement (DPA) ist in den Stripe-Nutzungsbedingungen eingeschlossen. DSGVO-relevante Daten wie Kundenadressen und Bestellhistorien verbleiben in der Verantwortung des Website-Betreibers; Stripe verarbeitet sie nur im Auftrag.

Vergleich: Stripe vs. PayPal vs. Mollie vs. Braintree

Kriterium Stripe PayPal Mollie Braintree
Transaktionsgebühr (EU-Karten) 1,5 % + 0,25 € 1,2 % + 0,35 € 1,8 % + 0,25 € 1,9 % + 0,30 €
Grundgebühr Keine Keine Keine Keine
Entwickler-Erfahrung Sehr gut Mittel Gut Gut
SEPA-Lastschrift Ja Nein Ja Nein
Abonnements Ja (Billing) Ja (eingeschränkt) Ja Ja
Marktplatz-Zahlungen Ja (Connect) Ja (Marketplace) Eingeschränkt Ja
Testmodus Vollständig Sandbox Testmodus Sandbox
Datensitz EU wählbar Ja Teilweise Ja (NL) Abhängig von PayPal

Mollie ist besonders bei europäischen Händlern beliebt, da es lokale Zahlungsmethoden wie iDEAL, Bancontact und Sofort nativ unterstützt. PayPal hat nach wie vor die höchste Bekanntheit bei Endverbrauchern, während Braintree (ein PayPal-Tochterunternehmen) eine entwicklerfreundlichere API bietet.

Fazit

Stripe ist für die meisten Webentwickler die erste Wahl beim Thema Online-Zahlungen. Die hervorragende Dokumentation, der vollständige Testmodus, die breite Unterstützung von Zahlungsmethoden und das transparente Preismodell machen den Einstieg unkompliziert. Für rein europäische Shops kann Mollie mit lokalen Methoden punkten; wer PayPal als primäre Zahlungsmethode bevorzugt, sollte Braintree in Betracht ziehen.

Häufige Fragen

Muss ich PCI-DSS-zertifiziert sein, um Stripe zu nutzen?
Nein. Wenn Kartendaten ausschließlich über Stripe Elements oder Stripe Checkout übertragen werden, müssen Entwickler keine eigene PCI-DSS-Zertifizierung durchführen. Stripe übernimmt die Verantwortung für die sichere Übertragung und Speicherung sensibler Kartendaten.
Wie lange dauert es, bis Stripe-Einnahmen auf dem Konto landen?
In Deutschland beträgt das Standard-Auszahlungsintervall zwei Werktage (T+2). Bei neuen Accounts kann Stripe zunächst ein siebentägiges Rolling-Reserve-Modell anwenden, bis eine ausreichende Zahlungshistorie vorliegt.
Kann ich Stripe auch ohne Backend-Server nutzen?
Eingeschränkt. Stripe Checkout lässt sich mit einem minimalen serverseitigen Aufruf (z. B. einer Serverless Function) nutzen. Der geheime API-Schlüssel (sk_) darf jedoch niemals im Frontend-Code exponiert werden. Für rein statische Websites bietet Stripe Payment Links als No-Code-Lösung an.
Was passiert bei einer Rückbuchung (Chargeback)?
Bei einer Rückbuchung zieht Stripe 15 € Bearbeitungsgebühr vom Konto des Händlers ab. Händler können Beweise über das Dashboard einreichen, um die Rückbuchung anzufechten. Stripe Radar, das integrierte Betrugspräventionssystem, hilft dabei, verdächtige Transaktionen vor der Buchung zu erkennen.