Stripe Integration
Online-Zahlungen mit Kreditkarte via Stripe Checkout
Stripe Integration
Uebersicht
Mit der Stripe Integration koennen Ihre Kunden direkt im Buchungsprozess per Kreditkarte oder Debitkarte bezahlen. Die Zahlung erfolgt ueber Stripe Checkout - eine sichere, von Stripe gehostete Zahlungsseite.
Vorteile: - PCI-konform (keine Kreditkartendaten auf Ihrem Server) - Unterstuetzt alle gaengigen Kreditkarten (Visa, Mastercard, AMEX, etc.) - Apple Pay und Google Pay automatisch aktiviert - Automatische Webhook-Benachrichtigung bei Zahlung
Voraussetzungen
- Stripe-Konto (kostenlos unter stripe.com)
- API Keys (Test + Live)
- Webhook Secret (optional, empfohlen)
Einrichtung
1. Modul aktivieren
Pfad: Einstellungen → Module → Kommunikation
┌─ Zahlungs-Module ───────────────────┐
│ │
│ [x] Stripe Payment │
│ Online-Zahlungen mit │
│ Kreditkarte via Stripe │
│ │
└─────────────────────────────────────┘
2. API Keys eintragen
Pfad: Einstellungen → Zahlungen → Stripe
┌─ Stripe Einstellungen ──────────────┐
│ │
│ Test-Modus │
│ ────────────────────────── │
│ Test Publishable Key: │
│ [pk_test_xxxxx ] │
│ │
│ Test Secret Key: │
│ [sk_test_xxxxx ] │
│ │
│ Live-Modus │
│ ────────────────────────── │
│ [x] Live-Modus aktivieren │
│ │
│ Live Publishable Key: │
│ [pk_live_xxxxx ] │
│ │
│ Live Secret Key: │
│ [sk_live_xxxxx ] │
│ │
│ [Verbindung testen] │
│ │
└─────────────────────────────────────┘
API Keys finden: 1. Melden Sie sich bei dashboard.stripe.com an 2. Gehen Sie zu "Entwickler" → "API-Schluessel" 3. Kopieren Sie die Schluessel (Test oder Live)
3. Webhook einrichten (empfohlen)
Der Webhook benachrichtigt WordPress automatisch, wenn eine Zahlung erfolgreich war.
Webhook-URL: (wird unter den Einstellungen angezeigt)
https://ihre-domain.de/wp-json/kurs-booking/v1/webhook/stripe
In Stripe einrichten:
1. Stripe Dashboard → Entwickler → Webhooks
2. "Endpunkt hinzufuegen" klicken
3. Webhook-URL eintragen
4. Events auswaehlen:
- checkout.session.completed (Zahlung erfolgreich)
- charge.refunded (Erstattung)
- payment_intent.payment_failed (Zahlung fehlgeschlagen)
5. Webhook Secret kopieren und in WordPress eintragen
4. Zahlungsart aktivieren
Pfad: Einstellungen → Zahlungen
[x] Kreditkarte/Debitkarte (Stripe)
Sichere Zahlung mit Kreditkarte. Sie werden zu unserem
Zahlungsanbieter Stripe weitergeleitet.
Buchungsablauf mit Stripe
Aus Kundensicht
- Buchungsformular: ``` Zahlungsart waehlen ───────────────────────────────── ○ Ueberweisung Zahlung per Ueberweisung nach Erhalt der Rechnung
● Kreditkarte/Debitkarte 🔒 Sichere Zahlung mit Kreditkarte. Sie werden zu unserem Zahlungsanbieter Stripe weitergeleitet. ```
-
Nach Absenden: Weiterleitung zu Stripe Checkout
┌─ Stripe Checkout ────────────────┐ │ │ │ Kurs-Buchung │ │ Buchungsnummer: BK-2025-0123 │ │ │ │ Summe: €299,00 │ │ │ │ Kartennummer │ │ [xxxx xxxx xxxx xxxx ] │ │ │ │ Ablauf CVC │ │ [MM/JJ] [xxx] │ │ │ │ [Apple Pay] [Google Pay] │ │ │ │ [ Jetzt bezahlen ]│ │ │ └───────────────────────────────────┘ -
Nach Zahlung: Weiterleitung zur Bestaetigungsseite
Technischer Ablauf
Kunde waehlt Stripe
↓
Buchung wird erstellt (Status: pending)
↓
Stripe Checkout Session wird erstellt
↓
Redirect zu Stripe
↓
Zahlung bei Stripe
↓
Redirect zurueck + Webhook
↓
Buchung auf "completed" gesetzt
↓
Bestaetigungs-E-Mail gesendet
Meta-Felder
Nach erfolgreicher Zahlung werden folgende Meta-Felder gespeichert:
| Meta-Feld | Beschreibung |
|---|---|
_buchung_payment_method |
stripe |
_buchung_payment_status |
pending → completed |
_buchung_stripe_session_id |
Stripe Session ID |
_buchung_stripe_payment_intent |
Stripe Payment Intent ID |
_buchung_stripe_charge_id |
Stripe Charge ID |
_buchung_paid_at |
Zeitstempel der Zahlung |
Zahlungsstatus
| Status | Beschreibung |
|---|---|
pending |
Buchung erstellt, Zahlung ausstehend |
processing |
Zahlung wird bei Stripe verarbeitet |
completed |
Zahlung erfolgreich |
failed |
Zahlung fehlgeschlagen |
refunded |
Erstattung erfolgt |
Test-Modus
Im Test-Modus koennen Sie den kompletten Zahlungsablauf testen ohne echte Zahlungen.
Test-Kreditkarten:
| Kartennummer | Ergebnis |
|---|---|
4242 4242 4242 4242 |
Zahlung erfolgreich |
4000 0000 0000 9995 |
Zahlung abgelehnt |
4000 0000 0000 3220 |
3D Secure erforderlich |
Fuer alle Testkarten: - Ablaufdatum: Beliebiges Datum in der Zukunft - CVC: Beliebige 3 Ziffern - PLZ: Beliebig
Erstattungen
Erstattungen werden in Stripe durchgefuehrt:
- Stripe Dashboard → Zahlungen
- Zahlung suchen und oeffnen
- "Erstatten" klicken
- Webhook aktualisiert Status in WordPress automatisch
FAQ
Was kostet Stripe?
Stripe berechnet ca. 1,4% + 0,25€ pro Transaktion (EU-Karten). Keine monatlichen Gebuehren.
Werden Kreditkartendaten auf meinem Server gespeichert?
Nein. Die Zahlung erfolgt komplett auf Stripe-Servern. Nur die Transaktions-IDs werden gespeichert.
Was passiert wenn der Kunde die Zahlung abbricht?
Die Buchung bleibt im Status "pending". Sie erscheint in der Buchungsliste und kann manuell storniert werden.
Kann ich Stripe und Ueberweisung gleichzeitig anbieten?
Ja! Aktivieren Sie beide Zahlungsarten. Der Kunde waehlt im Buchungsformular.
Funktioniert Stripe auch mit der Per-Kurs-Zahlungsart-Konfiguration?
Ja. Sie koennen pro Kurs individuell festlegen, ob Stripe verfuegbar sein soll.
Wo sehe ich Stripe-Zahlungen?
- In WordPress: Buchung → Details → Zahlungsinformationen
- In Stripe: Dashboard → Zahlungen
Fehlerbehebung
Fehler: "Stripe API Error"
- Pruefen Sie die API Keys (korrekt kopiert?)
- Test-Keys fuer Test-Modus, Live-Keys fuer Live-Modus
- Verbindungstest durchfuehren
Webhook liefert keine Updates
- Webhook-URL korrekt in Stripe eingetragen?
- Webhook-Events aktiviert?
- Webhook-Logs in Stripe pruefen (Entwickler → Webhooks → Events)
Zahlung erfolgreich aber Status noch "pending"
- Webhook funktioniert nicht
- Alternativ: Status manuell auf "completed" setzen
- Webhook-Konfiguration pruefen