Ich habe eine abonnementbasierte Website, die mit einem System eines Drittanbieters interagiert, um die Zahlungen abzuwickeln. Die Schritte zur Bearbeitung einer neuen Abonnentenregistrierung sind wie folgt:
- Der Abonnent gibt seine Daten in das Anmeldeformular ein und klickt auf die Schaltfläche "Absenden".
- Unter der Voraussetzung, dass die angegebenen Daten gültig sind, wird ein neuer Datensatz in der Datenbank angelegt, um diese Daten zu speichern.
- Der Abonnent wird dann auf die Website des Drittanbietersystems (ähnlich wie bei Paypal) weitergeleitet, um die Zahlung abzuwickeln.
- Sobald die Zahlung erfolgreich war, leitet die Website des Drittanbieters den Abonnenten wieder auf unsere Website zurück.
- Zu diesem Zeitpunkt weiß ich, dass die Zahlung erfolgreich war, also wird der Datensatz in der Datenbank aktualisiert, um anzuzeigen, dass die Zahlung erfolgreich durchgeführt wurde.
Ein Problem, das häufig auftritt, ist, dass ein Abonnent, der zwar bezahlt, aber den Vorgang nicht korrekt abschließt (z. B. den Zurück-Browser benutzt oder das Fenster schließt), seinen Datensatz in der Datenbank nicht aktualisiert bekommt. Dementsprechend weiß ich nicht, ob er/sie bezahlt hat, wenn ich mir den Datensatz nur ansehe, und muss auf den Bericht des Drittanbietersystems warten, um dies herauszufinden.
Wie kann man dieses Problem lösen?
PS. Einer der Hauptgründe für die Speicherung ihrer Daten in der Datenbank vor Abschluss des Zahlungsvorgangs ist, dass sie die Zahlung abschließen können, ohne ihre Daten erneut eingeben zu müssen. Zum Beispiel, wenn ihre Kreditkarten von einem Drittanbietersystem abgelehnt wurden und sie dies mit ihrem Finanzinstitut klären müssen, was eine Weile dauern kann.