Bestellstatus "Cancelled" (X): Wie kann man verhindern, dass bei jeder abgebrochenen Zahlung eine Bestellung und Bestellnummer erstellt wird?

  • Hallo liebe Leute.


    Ich habe einen Virtuemart-Shop aufgesetzt und so weit eingerichtet (Virtuemart Version 3.4.2).

    Ich verwende drei Zahlungsarten. Sofortüberweisung, Paypal und Vorkasse.


    Wählt der Käufer "Vorkasse", geht die Bestellung komplett durch und der Status wechselt auf "confirmed by shopper" (U). Wenn ich dann den Zahlungseingang am Konto sehe, stelle ich den Status manuell auf "Confirmed" (C).


    Wählt der Käufer aber z.B. die Zahlungsart "Paypal" oder "Sofortüberweisung", bricht die Zahlung ab, und entscheidet sich dann beim Checkout doch für eine andere Zahlungsart, so erstellt Virtuemart zwei oder mehrere Bestellungen. Eine mit dem Status "Confirmed" (C) - was ich auch so möchte, und eine zweite oder weitere Bestellung mit dem Status "Cancelled" (X), die ich nicht wirklich brauchen kann.


    Zum einen ist es mühsam die abgebrochenen Bestellungen im Backend immer wieder zu löschen, zum Anderen sieht der Käufer die abgebrochenen Zahlungsversuche in seiner Bestellübersicht im Kundenkonto. (com_virtuemart/views/orders/list.php.


    Gibt es eventuell eine Möglichkeit um den Status "Cancelled" einfach abzudrehen? In Wirklichkeit hätte ich gerne, dass bei einer abgebrochenen Zahlung einfach nur eine Fehlermeldung ausgegeben wird und keine Bestellung + Bestellnummer + Cancelled als Bestellstatus angelegt wird.


    Falls jemand eine gangbare Lösung zur Hand hat, würde ich mich sehr freuen!

    LG Philipp


    PS: Falls es nicht möglich ist den Bestellstatus "Cancelled" zu deaktivieren, ist es evtl. Möglich, dass der Käufer diese in seiner Bestellübersicht zumindest nicht sieht? Modifikation der o.g. list.php? Danke nochmals!


    [Blockierte Grafik: https://i.imgur.com/5gIThuq.jpg]

  • Servus,


    sobald der Kaufen-Button gedrückt wird, generiert VirtueMart eine Bestellung und wechselt in den Status P (Pending).

    Die Daten der Bestellung werden dann zum Beispiel vom Paypal-Plugin verwendet und an Paypal geschickt.

    Abstellen lässt sich das also nicht.


    Was man sicherlich abstellen kann ist die Anzeige der abgebrochenen Bestellungen in der Bestellübersicht. Dazu müsste man evtl. einen Override der orders View machen. In der list.php müsste man dann in der Schleife, die die Bestellungen generiert, den Status C herausfiltern.


    Es gibt jedoch eine Einstellung in der versteckten Konfiguration in der virtuemart.cfg im Ordner administrator/components/com_virtuemart namens reuseorder oder so ähnlich, wenn man die =1 setzt, werden die Bestellungen wiederverwendet, und es entstehen nicht so viele mit Status C, das dürfte eher den Anforderungen entsprechen. Evtl. setzt man auch einmal eine zuvor bestätigte Bestellung auf C, das würde dann nicht angezeigt, was dann ein unerwünschter Effekt wäre.


    Nach Ändern der hidden config einmal die VirtueMart-Konfiguration laden und speichern.


    Und dann testen.


    Hope it helps

    Stefan