Hallo, da es sich mit den Standardmitteln anscheinend nicht abbilden lässt, das nur bei neuen Geschäftskunden die Rechnungszahlung angeboten wird, bin ich gerade über das Risk-Management gestolpert. Ist es dort einfach möglich weitere Optionen zu den bestehenden hinzuzunehmen? Wenn man prüfen könnte, ob der Firmenname gesetzt ist oder nicht, müsste sich das Thema damit lösen lassen. Gruß Mario
Hallo, das müsste sich auch über eigene Bedingungen abfangen lassen, so kannst du dann die Versandart ein- und ausblenden wenn kein Name gesetzt ist. Erfordert allerdings das eine Datenbankabfrage im Backend hinzugefügt wird. Der Versandart ist dann nur der Rechnungskauf zugewiesen. Viele Grüße Oliver
Hallo, oder einfacher: Riskmanagment Sperre Zahlungsart wenn Anzahl Bestellungen <= 0 Das speert dann Rechnung, wenn der Kunde schonmal etwas bestellt hat. (So wolltest du das doch?) Ansonsten würde ich das via Kundengruppen lösen. Grüße
Hallo Oliver und Neoxx, [quote=„Neoxx“] Das speert dann Rechnung, wenn der Kunde schonmal etwas bestellt hat. (So wolltest du das doch?) [/quote] @Neoxx: Da hast du mich leider falsch verstanden, mein Ziel ist es auch bei Neukunden die Möglichkeit zu haben, Geschäftskunden die Rechnungszahlung zu ermöglichen, aber Privatkunden nicht. @Oliver: Danke für den Tipp, habe mich gestern noch etwas durch den Shopcode gegraben und eine funktionierende quick-and-dirty-Variante für mein Problem gefunden und eingebaut. Da die Nachfrage ja schon öfter kam und falls jemand es braucht und keine Bedenken gegen Quick&Dirty-Ansätze hat hier meine Lösung: Shopware prüft beim Aufruf der Zahlungsweisen, welche dieser im jeweiligen Kontext zulässig sind. Dies geschieht in der Methode sGetPaymentMeans in engine/core/class/sAdmin.php. Dort wird schon an Hand anderer Regeln geprüft, welche Zahlungsart zulässig ist. Meine Erweiterung von sGetPaymentMeans in der Schleife „foreach ($getPaymentMeans as $payKey => $payValue)“ (Zeile 558 bei Version 4.3.0): if ($payValue["id"] == 4 && empty($user["billingaddress"]["company"])) { unset($getPaymentMeans[$payKey]); continue; }
Ich prüfe ob die Zahlungsart = Rechnung (4) ist und kein Firmenname in der Rechnungsanschrift gesetzt ist. Wenn das zutrifft, es also ein Privatkunde ist, wird die Zahlungsart aus dem Array der zulässigen Zahlungsarten entfernt. Scheint soweit problemlos zu funktionieren Warnung: wenn ihr den Code übernehmt kann der beim nächsten Shopware-Update verloren gehen. Nochmal Danke für deine Unterstützung Oliver! Gruß Mario