Produktspezifische Zahlarten

leider gibt es bei uns eine handvoll artikel, die gerne von betrügern bzw. zahlungsunfähigen leuten gekauft werden. ca. 80% der rücklastschriften betreffen diese artikel.
es wäre also schön, wenn man für bestimmte artikel die bezahlarte bankeinzug ausblenden könnete.
hat da jemand ne idee?

Unterstreiche ich gerne nochmal - ist für uns sowohl Produkt- als auch notfalls Kategorienbezogen ein wichtiges Thema.

Hallo!!!

Ich würde das so machen:

Die Zielartikel aus den “normalen” Versandkostenregeln entfernen, neue Versandkostenregel erstellen, die nur mit diesen Artikeln bestückt wird.

Über die Versandarten kannst Du dann die neue Versandkostenregel zuordnen und die gewünschten Zahlungsarten integrieren. Da läßt Du dann den Bankeinzug weg.

Grüße

Cutty

Hört sich zwar verquer aber gut an - man muss sich wahrscheinlich nur ins Oxid-Universum reindenken :slight_smile:

Hast du ne Ahnung was passiert, wenn zwei Artikel mit unterschiedlichen Versandkosten/Zahlartenregeln bestellt werden?

Schlägt dann der mit den weniger Zahlarten denjenigen mit mehr Zahlarten?

geht einfacher.

unsichtbare kategorie anlegen “kritische produkte” und die kategorie eben für bankeinzug ausschliessen. das sollte eigentlich funktionieren, ich bin mir grad nur nicht 100%ig sicher ob oxid in der logik artikel einblenden würde die noch in anderen kategorien sind, oder diese eben ausblenden weil die zahlart für diese kategorie nicht verfügbar wäre.

ansonsten der umständlichere weg: alle artikel der zahlart zuordnen, ausser die produkte die damit nicht bezahlt werden können sollen.

[QUOTE=csimon;23788]
… und die kategorie eben für bankeinzug ausschliessen.

ansonsten der umständlichere weg: alle artikel der zahlart zuordnen, ausser die produkte die damit nicht bezahlt werden können sollen.[/QUOTE]

Kann mir das mal bitte jemand anschaulich erklären. Weil ich kämpfe hier nämlich auch mit so diversen Versandproblemen. Das Hauptproblem ist meiner Ansicht nach, das man Zahlungsarten eben keine Kategorien oder Artikeln zuweisen kann (oder umgedreht), zumindest weiss ich nicht wie.

Wir haben konkret den Fall das wir bestimmte Artikel nicht per Nachnahme versenden können, also hab ich versucht das über diverse Kombinationen von Versandarten, Versandkostenregeln und Zahlungsarten hinzubekommen, leider ohne Erfolg.

Im Endeffekt habe ich eine Anpassung im Template, der payment.tpl, vorgenommen um einfach im Warenkorb durch die Artikel zu switchen und dann anhand einer Lookuptabelle mit bestimmten keywords dann die Option für die Nachnahmezahlung auszublenden, wenn entspr. Artikel im Korb sind. Das funktioniert auch sehr schön.

Der ein oder andere würde das sicher als brutal bezeichen, ich hingegen finde das nicht ganz unclever ;), weils schnell geht und funktioniert.

Aber ich seh da auch manchmal den Wald vor lauter Bäumen nicht. Deswegen bitte, bitte kann das mal jemand für Dummies an einem Beispiel erläutern ?

Ich hab mir selber schonmal ein Schema erstellt um das bissel besser zu durchschauen. Und wenn das Schema stimmt , kann man daraus eindeutig ableiten das keine Verbindung zwischen Zahlungsarten und Kategorien besteht. Aber ich lass mich da gern belehren.

Die rot hinterlegten Felder sind die Pflichtfelder, damit die jeweiligen Regeln gültig sind.

mfg

Hallo!

Bei unserem Online-Shop ist es ähnlich, wir haben einige Artikel die von einer Fremdspedition direkt vom Werk des Herstellers versendet werden. Die Möglichkeit per Nachnahme zu zahlen wird nicht angeboten.

Nun haben wir eine kleine Gruppe Artikel für die wir im Shop diese Nachnahme Zahlungen ausschliessen/sperren müssen.

Das ganze über Versandkostenregeln und Kategorien zu machen hat nicht funktioniert.
Da ich selbst nicht in der Lage bin in irgendwelchen Sachen rumzuprogrammieren würde ich mich über eine hilfreiche Antwort freuen!

Es muss doch eine Möglichkeit geben diese Art von Zahlung komplett auszuschliessen, wenn nötig würde ich sogar ein Modul oder etwas ähnliches kaufen.

Vielen Dank für konstruktive Vorschläge vorab!

gibt es - schau mal hier:

danke für die schnelle Antwort, nun müsste ich nur noch in der Lage sein das ganze umzusetzen…

Im Shop eine versteckte Kategorie anlegen und die Artikel zuweisen. PHP Datei im Module Ordner erstellen und den Modulcode einfügen und anpassen (Name der versteckten Kategorie + Zahlungsart). Modul im Backend aktivieren, das sollte es eigentlich gewesen sein.

http://www.oxid-esales.com/forum/showthread.php?p=71285#top

[QUOTE=bell;86747]und den Modulcode einfügen und anpassen (Name der versteckten Kategorie + Zahlungsart). Modul im Backend aktivieren, das sollte es eigentlich gewesen sein.[/QUOTE]

Ich schäme mich ja etwas, aber wie bzw. wo füge ich denn den Modulcode ein?

Und schonmal vielen Dank für die Hilfe!

Backend -> Stammdaten -> Grundeinstellungen -> System -> Module

:slight_smile:

[QUOTE=Spaceshopper2012;86763]Ich schäme mich ja etwas, aber wie bzw. wo füge ich denn den Modulcode ein?

Und schonmal vielen Dank für die Hilfe![/QUOTE]

Mit Modulcode meine ich den Inhalt der PHP Datei die im Module Ordner angelegt werden muss. Wo das Modul aktiviert wird hat Hebsacker oben geschrieben.

Am besten mal den Thread durchlesen da steht eigentlich alles. :slight_smile:

danke bell, hört sich recht einfach an. Da ich aber so gut wie keine HTML Kenntnisse besitze ist mir nicht ganz klar wo ich genau den Modulcode einfüge und das an unseren Shop anpasse.

Hi!

@spaceshopper2012
Hast Du es hinbekommen? Du musst die Daten eigentlich “nur” als .php Datei speichern und via FTP in den Module Ordner hochladen.

@all
Ich habe ein ähnliches Problem. BillSAFE (zahlen auf Rechnung) verbietet Apple Produkte als Rechnungskauf bzw. verlangt dafür mehr.
Ich würde nun alle Artikel, welche den Namen “Apple” beinhalten für die Zahlart sperren.

Also:
if (stristr($Articlename, “Apple”)) $zahlart = 0;

Eine Einstellungsmöglichkeit habe ich leider nicht gefunden!?

[QUOTE=Hisky;96244]Hi!

@all
Ich habe ein ähnliches Problem. BillSAFE (zahlen auf Rechnung) verbietet Apple Produkte als Rechnungskauf bzw. verlangt dafür mehr.
Ich würde nun alle Artikel, welche den Namen “Apple” beinhalten für die Zahlart sperren.

Also:
if (stristr($Articlename, “Apple”)) $zahlart = 0;

Eine Einstellungsmöglichkeit habe ich leider nicht gefunden!?[/QUOTE]

Steht eigentlich alles hier im Thread, wenn du nicht weiter kommst sag halt wo genau der Schuh drückt. :wink:

[QUOTE=Hebsacker;86730]gibt es - schau mal hier:

http://wiki.oxidforge.org/Tutorials/en/Disable_Payment_Method[/QUOTE]

[QUOTE=bell;86747]Im Shop eine versteckte Kategorie anlegen und die Artikel zuweisen. PHP Datei im Module Ordner erstellen und den Modulcode einfügen und anpassen (Name der versteckten Kategorie + Zahlungsart). Modul im Backend aktivieren, das sollte es eigentlich gewesen sein.[/QUOTE]

Naja. Es betrift ja leider mehrere Kategorien - deshalb will ich nach Artikelname filtern.

Edit:
Habs glaube ich.
Bei Artikelname müsste das hier passen:

<?php 
 
/**
 * disallow payment  by having a  $_aCatDiasallowPayment = array ('noinvoice'=>'oxidinvoice') assignment.
this would mean in above case : 
Articles assigned to the (hidden/ or not hidden, e.g. eBooks by invoice makes no sense) category 'noinvoice'
will disable the payment option oxidinvoice for all the  basket
 */
class htr_payment extends htr_payment_parent
{
    protected $_aCatDiasallowPayment = array ('noinvoice'=>'mo_billsafe');
 
 
    public function getPaymentList()
    {
 
        if (is_null($this->_oPaymentList)) {
            $oBasket = $this->getSession()->getBasket();
            $oPaymentList = parent::getPaymentList();
            foreach($oBasket->getBasketArticles() as $key=>$oArticle){

                    #$title = $oCategory->getTitle();
                    # for compability reasons (OXID <4.5 do it this way:
                    if (stristr($oxtitel, "Apple")){
                        //disallow
                        foreach ($oPaymentList as $key=>$oPayment){
                            $sOxid = $oPayment->_sOXID;
                            if ($sOxid == $this->_aCatDiasallowPayment[$title]){
                                unset ($this->_oPaymentList[$this->_aCatDiasallowPayment[$title]]);
                            }
                        }
                        //disallow
                    }
            }
 
            #$this->_oPaymentList=$oPaymentList;
        }
        return $this->_oPaymentList;
    }
}

Auch wenn das Thema nicht brandneu ist:

Genau so etwas wie oben beschrieben suche ich: Zahlungsarten sollen ausgeblendet werden, wenn im Artikel(varianten)-Titel ein bestimmtes Wort vorkommt (z.B. “SALE”).

Nach Kategorien ausblenden funktioniert, nach Titel (wie oben) leider nicht.

Kann mir jemand helfen, wie ich den Code für bestimmte Titel anpasse?

Konkreter Ansatz, den ich bisher verfolge:
Wie kann der Code aus http://wiki.oxidforge.org/Tutorials/en/Disable_Payment_Method so angepasst werden, dass nicht die Kategorie des Vaterartikels, sondern die (versteckte) Kategorie einer Variante ausschlaggebend für das Ausblenden einer gewissen Zahlungsart relevant ist.

Bitte helft mir auf die Sprünge. Meine Anpassungen haben bisher nicht funktioniert :frowning: