SEPA: Vorgehen für angefochtene Zahlungen konzeptionieren
Wie besprochen müssen wir konzeptionieren, wie das Modul bei im Nachhinein fehlgeschlagenen / zurückgezogenen Zahlungen (z.B. nach Anfechtung einer SEPA-Zahlung) vorgehen soll.
Aktuelles Vorgehen des Moduls
Einmalzahlung
Bei asynchronen Zahlungsvorgängen (wie SEPA) wird eine Bestellung zunächst als erfolgreich markiert. Der Zahlungsstatus bleibt aber offen. Ein Cron prüft regelmäßig für alle offenen Bestellungen mit Stripe-Zahlungsmethode, ob bei Stripe die entsprechende Transaktion durchgelaufen ist.
Bei ecoyn wird die Transaktion direkt erstellt, aber auf PENDING
gelassen.
- Transaktion erfolgreich: ecoyn-Transaktion wird auf
SUCCESSFUL
gesetzt. - Transaktion fehlgeschlagen: ecoyn-Transaktion wird auf
ERROR
gesetzt und der Administrator erhält eine Information über die fehlgeschlagene Zahlung mit direktem Link zum Stripe-Dashboard und der Bestell-Nr.
Abonnement
Abo-Zahlungen werden wie bisher regelmäßig per Cron abgefragt.
NEU:
- Administrator erhält eine E-Mail bei fehlgeschlagener Abozahlung
- Es wird geprüft, ob bei Transaktionen eine verlorene Anfechtung vorliegt; falls ja, wird die ecoyn Transaktion direkt auf
ERROR
gesetzt, der Vertragsrechnung aber trotzdem zugewiesen
Anfechtungen
Anfechtungen werden in ecoyn per webhook gehandhabt.
- Der Administrator erhält eine E-Mail mit direktem Link zu Stripe und (sofern vorhanden) ecoyn Bestell-Nr. (Setting; default: an)
- Sofern eine passende ecoyn Transaktion vorhanden ist, wird diese auf
ERROR
gesetzt; allerdings nur, wenn die Anfechtung endgültig verloren wurde
Zu konzeptionieren
- Was soll mit bereits bezahlten Entitäten (Rechnungen, Bestellungen) passieren, wenn eine Transaktion im Nachhinein angefochten wird?
- Ggf. Settings, falls es mehrere Vorgehen geben soll
- Ideen bisher: negative Transaktion
/cc @mor
von Patrick Müller bearbeitet