Bestellungen mit gelöschter Zahlungsart
22.04.2015Um Kunden im Bestellvorgang nicht vor den Kopf zu stoßen, ist eine durchdachte Auswahl der Zahlungsarten für den Magento-Shop wichtig. Sollte sich eine Zahlungsart als weniger populär als erwartet herausstellen, in der Bestellabwicklung zu viel Aufwand verursachen oder zu große Risiken bergen, dann kann zum Glück die Entscheidung über die verfügbaren Zahlungsarten revidiert werden. Sei es, indem eine Zahlungsart deaktiviert oder durch einen anderen Anbieter ersetzt wird.
Nach einer solchen Änderung kann es passieren, dass sich mit der alten Zahlart aufgegebene Bestellungen im Magento-Backend nicht mehr öffnen lassen. Wir zeigen, wie Sie wieder vollen Zugriff auf Ihre Bestellungen erhalten.
Datenkonsistenz bei Zahlungsarten in Magento
Alle eingehenden Bestellungen im Magento Online-Shop werden als Datensätze in einer Datenbank abgespeichert. Jeder dieser Datensätze enthält alle Informationen, die zur jeweiligen Bestellung vorliegen: Vom Namen des Kunden über die bestellten Artikel bis hin zur gewählten Zahlungsart.
Damit es keine Probleme im Magento Shop gibt, werden bei den Datensätzen bestimmte Regeln zur Datenkonsistenz beachtet. Manche Informationen dürfen nur einmalig genutzt werden, z.B. die ID der Bestellung. Andere Angaben sind zwingend notwendig, damit die Bestellung verarbeitet werden kann, beispielsweise die Auswahl der Zahlungsart. Werden diese Regeln missachtet, treten Fehler auf.
Bestellungen über Magento Admin Panel nicht aufrufbar
Wenn notwendige Informationen im Datensatz einer Bestellung entfernt oder beschädigt werden, dann kann die Bestellung nicht mehr normal genutzt werden. Uns ist dieses Problem in einem Shop begegnet, bei dem eine Zahlungsart deinstalliert wurde. In der Folge stand die Zahlungsart nicht mehr für zukünftige Bestellungen zur Verfügung, allerdings auch nicht mehr für alte, bereits verarbeitete Bestellungen. Zwar sind in den Datensätzen der Bestellungen in der Datenbank noch die Informationen mit der Verknüpfung zur nun deinstallierten Zahlungsart hinterlegt, auch ist das Öffnen der Bestellungen über die Datenbank weiterhin möglich. Doch im Magento-Backend ist dies nicht mehr der Fall: Will man die Bestellung in der Detailansicht öffnen, bleibt die Seite weiß. Denn die Datenbank liefert zwar eine Information zur Zahlungsart, doch diese ist für den Magento-Shop nicht mehr valide, da die Zahlungsart deinstalliert wurde und dem Shopsystem nun unbekannt ist.
Prävention durch unvollständige Deinstallation
Auch wenn in der Regel eine unvollständige Deinstallation eher mit Problemen assoziert wird, ist es in diesem Fall ratsam, eine Zahlungsart nicht komplett zu deinstallieren und zu löschen, um den Fehler zu verhindern. Stattdessen sollten die rudimentären Grundlagen des Moduls erhalten bleiben, damit Magento die Zahlungsart für bestehende Bestellungen weiterhin als valide Information anerkennt. Die Zahlungsart ist zwar nicht mehr für neue Bestellungen verfügbar, jedoch können alte Bestellungen mit dieser Zahlungsart immer noch über das Magento Backend geöffnet werden. Die hinterlegte Zahlungsart wird dann auch in Zukunft sowohl von der Datenbank als auch von Magento als korrekte Angabe akzeptiert.
Rettung über eine alternative Zahlungsart
Wird eine Zahlungsart komplett gelöscht und tritt somit die Fehlerursache ein, muss ein Angleichen der Informationen von Datenbank und Magento-Shop stattfinden. In unserem Beispiel haben wir es behelfsmäßig so gelöst, dass alle Bestellungen mit der deinstallierten Zahlungsart über die Datenbank einer anderen Zahlungsart zugewiesen wurden. Da alle Bestellungen mit dieser Zahlungsart zum Zeitpunkt der Deinstallation in Magento bereits vollständig verarbeitet wurden, gibt es durch diesen harten Eingriff in die Datensätze keine Auswirkungen für die Bestellabwicklung. Nur die Statistik zu den beliebtesten Zahlungsarten der Kunden ist dadurch nachhaltig manipuliert worden.
Erhalt der Statistik durch neutrale Zahlungsart
Weist man die Bestellungen mit der deaktivierten Zahlungsart einer anderen normal genutzten Zahlungsart zu, wird die Statistik für zwei Zahlungsarten verfälscht. Um die Aussagekraft der Daten so wenig wie möglich zu ändern, kann statt der Zuordnung zu einer bestehenden Zahlungsart eine bisher ungenutzte alternative Zahlungsart verwendet werden. Eine Möglichkeit dafür bieten Magento-Module, mit denen eine neutrale Zahlungsart erstellt werden kann, die als Stellvertreter der deinstallierten Zahlart dient. Allerdings erlauben diese Module meist nur das Erstellen einer Zahlungsart - man sollte also nicht zu viele Zahlungsarten deaktivieren wollen.Vorbeugen des Fehlers besser als Datenbank-Eingriff
Ob durch das rudimentäre Belassen der Zahlungsart im Shop oder durch die Änderung der Zahlungsartinformationen, mit beiden Methoden ist der Zugriff auf die alten Bestellungen über das Magento-Backend wieder möglich, da eine aus Magento-Sicht valide Zahlungsart in den Datensätzen hinterlegt ist. Grundsätzlich gilt jedoch, dass Veränderungen der Shop-Daten über die Datenbank nicht empfehlenswert sind, da es zu unvorhergesehenen Wechselwirkungen kommen kann. Statt der Rettungsmaßnahmen sollten deshalb besser präventive Vorgehen bei der Deinstallation der Zahlungsart zum Einsatz kommen, um das Auftreten des Fehlers auszuschließen.