shop.config mit den meisten Abschnitten. Das liegt daran, dass jede Zahlungsart ihren eigenen Abschnitt bekommt, alle Abschnitte denselben Satz Standardparameter teilen und einige Zahlungsarten zusätzlich eigene Parameter mitbringen.
Diese Seite ist deshalb von innen nach außen aufgebaut. Zuerst das gemeinsame Schema aller Zahlungsart-Abschnitte. Dann die Standardparameter, die in jedem dieser Abschnitte stehen dürfen. Danach die vier Unterabschnitte und die beiden zentralen Abhängigkeits-Abschnitte, mit denen Sie die Verfügbarkeit feiner steuern. Zum Schluss die Besonderheiten der einzelnen Zahlungsarten und die flankierenden Abschnitte für Bonitätsprüfung, Kreditkartentypen und Fehlermeldungen der Dienstleister.
Referenz: Shopkonfiguration shop.config, Übersicht aller Abschnitte
Das Schema PaymentXXX-Txt
Jede Zahlungsart wird in einem eigenen Abschnitt konfiguriert, dessen Name nach dem Muster PaymentXXX-Txt gebildet wird. XXX steht für die Kennung der Zahlungsart. Für SOFORT Überweisung ergibt sich daraus PaymentDIRECTebanking-Txt, für Nachnahme PaymentCashOnDelivery-Txt.
Wann ein Abschnitt überhaupt gelesen wird
Bevor ein einziger weiterer Parameter ausgewertet wird, prüft der Kernel drei Dinge. Fällt eine dieser Prüfungen durch, wird der gesamte Abschnitt verworfen, ohne dass eine Meldung erscheint.
Wenn für dieselbe Zahlungsart sowohl ein Test- als auch ein Produktiv-Abschnitt in der Konfiguration steht und der Testmodus aktiv ist, gewinnt der Test-Abschnitt. Der Produktiv-Abschnitt wird dann nicht mehr eingelesen.
Bei allen Zahlungsarten, die über ein Online-Clearing laufen, kommt eine vierte Bedingung hinzu. Ist das zugehörige Clearing für den Shop nicht freigeschaltet, wird die Zahlungsart deaktiviert, selbst wenn der Abschnitt vollständig und korrekt ausgefüllt ist. Das betrifft unter anderem PayPal, iDEAL, giropay Online-Überweisung, SOFORT Überweisung, TWINT, Apple Pay und Google Pay. Die Freischaltung ist keine Einstellung der
shop.config, sondern erfolgt durch die WEBSALE AG.
Standardparameter
Die folgenden Parameter sind in jedemPaymentXXX-Txt-Abschnitt erlaubt. Sie sind hier nach Aufgabe gruppiert, weil die alphabetische Reihenfolge den Zusammenhang zwischen zusammengehörenden Parametern verdeckt.
Grundeinstellung und Darstellung
RadioOnClick und ImgOnClick greifen nur, wenn die Auswahl der Zahlungsart mit DIV-Containern umgesetzt ist. In RadioOnClick stehen die lokalen Tags RadiobuttonID und ID zur Verfügung, in ImgOnClick die Tags Link und ID.
Wenn
Dependencies HTML enthält, muss aus technischen Gründen WS-TplComment vorangestellt werden, beispielsweise so:Lokale Tags in NameSuffix
Kosten und Rabatte
Cost-List wird als Folge von Staffeln in runden Klammern geschrieben. Vor dem Doppelpunkt steht der Warenwert, ab dem die Staffel gilt, dahinter die Kosten. Ein nachgestelltes Prozentzeichen macht aus dem absoluten Betrag einen prozentualen Anteil am Warenwert.
TotalSumAddition fängt Rundungsdifferenzen ab. Wenn die Zahlung nur autorisiert wird und die Warenwirtschaft später einen Cent mehr einziehen möchte als autorisiert wurde, scheitert das ohne diesen Aufschlag.
Verfügbarkeit nach Betrag und Gewicht
Welcher Maximalwert tatsächlich greift, entscheidet eine feste Reihenfolge. Zuerst
MaxOrderForNewUser-Value, sofern der Käufer keine Kundennummer hat und der Wert gesetzt ist. Dann MaxOrderForReseller-Value, sofern der Käufer Reseller ist und der Wert gesetzt ist. Dann der im Kundenkonto hinterlegte Wert, sofern MaxOrderForUserAccount-Allow aktiviert ist. Erst danach MaxOrder-Value.
Sie werden vom Kernel ausgewertet und sind in dieser Migration ergänzt worden.
Verfügbarkeit nach Land
Jeder andere Wert als
AllowCountries wirkt wie DenyCountries, auch ein leerer. Bleiben Regel und Liste leer, gilt keine Länderbeschränkung.
Verfügbarkeit nach Kunde
Verfügbarkeit nach Warenkorbinhalt
Er ist in dieser Migration ergänzt worden.
Verfügbarkeit nach Versandart
Referenz: Abschnitt +Deliverer
Zusatzeingaben zur Zahlungsart
Der führende Stern ist Teil des Parameternamens. Der Kernel sucht je Nummer zuerst nach der Variante mit Stern und nur, wenn diese fehlt, nach der Variante ohne. Steht beides in der Konfiguration, gewinnt die Variante mit Stern und das Feld ist ein Pflichtfeld.
Für umfangreichere Zusatzeingaben mit Auswahllisten, Länderabhängigkeit und Pflichtfeldmeldung verwenden Sie stattdessen die Unterabschnitte
+CountryRule.
Abhängigkeiten per ID
Anzeige als deaktiviert
Der Kernel wertet diesen Parameter in drei Stufen aus. Ein leerer Wert und
never schalten die Anzeige aus. always schaltet sie immer ein. Jeder andere Wert wird als kommaseparierte Liste von Ablehnungsgründen gelesen, auch ein Tippfehler. Wer beispielsweise allways schreibt, erhält keine Fehlermeldung, sondern eine Liste mit dem einen unbekannten Eintrag allways, die auf keinen Ablehnungsgrund zutrifft.
ShowDisabled-Txt
Dieser Unterabschnitt eines PaymentXXX-Txt-Abschnitts enthält die Hinweistexte, die bei einer ausgegrauten Zahlungsart erscheinen. Je Ablehnungsgrund lässt sich ein eigener Text hinterlegen, zusätzlich ein Text unter dem Schlüssel default für alle Gründe ohne eigenen Text.
DelivererShowDisabled-Definitions.
Ablehnungsgründe
AddressFilter
Mit diesem Unterabschnitt machen Sie die Zahlungsart von einer konkreten Eingabe in der Rechnungsadresse abhängig. Typischer Einsatz ist ein freies Adressfeld, in dem beispielsweise eine Kundengruppe oder ein Vertriebskanal steht.
Der Filter schaltet sich selbst ab, wenn
TechnicalFieldName leer ist oder Values-List leer ist. In beiden Fällen bleibt die Zahlungsart verfügbar, ohne dass eine Meldung erscheint.
Hat der Käufer das Feld nicht ausgefüllt, greift der Filter ebenfalls nicht. Soll der Filter immer greifen, muss das Adressfeld ein Pflichtfeld sein.
Der Abschnitt AddressFilter darf mehrfach innerhalb eines PaymentXXX-Txt-Abschnitts stehen. Der Kernel liest die Blöcke nacheinander ein.
Referenz: Abschnitt AddressFields-Txt
+CountryRule
Mit diesen Unterabschnitten fragen Sie zusätzliche Informationen zu einer Zahlungsart ab, beispielsweise eine Telefonnummer für den Clearing-Dienstleister oder eine Zustimmungs-Checkbox. Je PaymentXXX-Txt-Abschnitt sind bis zu zehn +CountryRule-Abschnitte möglich. Die Reihenfolge in der Konfiguration bestimmt die Reihenfolge im Shop.
Parameter
UseAddressInput bestimmt, welche Adresse das Land liefert. customer nimmt die Rechnungsadresse. delivery nimmt die Lieferadresse, sofern eine gewählt wurde, sonst die Rechnungsadresse. onlydelivery nimmt ausschließlich die Lieferadresse und fragt gar nicht ab, wenn keine abweichende Lieferadresse gewählt wurde.
UserDependency bezieht sich auf das Feld Firmenname. company fragt nur ab, wenn ein Firmenname eingetragen ist. private fragt nur ab, wenn keiner eingetragen ist. Jeder andere Wert als private und company wirkt wie no.
Mehrere Eigenheiten der Auswertung sind dabei zu beachten.
MaxLength wird bei einem Wert kleiner oder gleich null sowie bei einem Wert über dem internen Maximum stillschweigend auf dieses Maximum gesetzt. Es gibt keine Fehlermeldung.Type = checkbox setzt MaxLength fest auf 10, weil als Wert nur checked oder nichts gespeichert wird.Type = dateofbirth setzt UseAddressInput fest auf customer. Die Eingabe wird zusätzlich in den Kundendaten gespeichert.Jeder Wert von Type, der nicht listbox, dateofbirth oder checkbox lautet, ergibt input.Type gehört eine technische ID, die im Template über die PAY-Tags abgefragt werden kann.
+listentry
Die Einträge einer Auswahlliste legen Sie in Unterabschnitten +listentry fest. Es sind bis zu 100 Einträge möglich. Der Abschnitt wird nur benötigt, wenn Type = listbox gesetzt ist.
Lassen Sie
ID bei einem Eintrag weg, erhalten Sie eine Auswahlmöglichkeit ohne technischen Wert, beispielsweise für den Eintrag “Bitte wählen Sie”.
Reservierte IDs
Alle IDs mit dem Präfixws_ sind reserviert. Zusatzinformationen mit diesen IDs werden von bestimmten Clearing- und Bonitätsverfahren ausgewertet. Für sie überschreibt der Kernel einen Teil Ihrer Konfiguration, damit das Verfahren die Daten in der erwarteten Form erhält.
Die Tabelle ist in dieser Migration anhand des Kernels vervollständigt worden.Die beiden Einträge mit dem Zusatz “nur ohne vorhandene Telefonnummer” werden gar nicht abgefragt, wenn in der Rechnungsadresse bereits eine Telefon- oder Mobilnummer steht. Das Pflichtfeld entfällt dann.
PaymentEnvironmentDependencies-Definitions
Hier legen Sie fest, dass eine Zahlungsart nur auf bestimmten Endgeräten angeboten wird. Grundlage ist der User-Agent, den der Browser des Käufers übermittelt. Die Zuordnung zur Zahlungsart erfolgt über den Parameter +UsePaymentEnvironmentDependency-ID im PaymentXXX-Txt-Abschnitt.
Der Abschnitt darf nur einmal in der shop.config stehen und braucht mindestens einen Unterabschnitt +EnvironmentDependency.
Beachten Sie die Verschachtelung.
+EnvironmentDependency enthält +DependencyGroup, diese enthält +Dependency.
PaymentProductDependencies-Definitions
Hier legen Sie fest, dass eine Zahlungsart vom Produktindex, von der Produktnummer oder von einem freien Produktdatenfeld abhängt. Die Zuordnung erfolgt über +UseProductDependency-ID im PaymentXXX-Txt-Abschnitt.
Auch dieser Abschnitt darf nur einmal in der shop.config stehen und braucht mindestens einen Unterabschnitt +ProductDependency.
Freie Produktfelder tragen das Präfix
AF-, beispielsweise AF-DeliveryTime. Sie müssen zusätzlich im Abschnitt AdditionalProductFieldsInBasket für den Warenkorb aktiviert sein.
Bei
greater und smaller werden beide Werte in ganze Zahlen umgewandelt. Ein Wert, der sich nicht umwandeln lässt, wird als 0 gelesen.
Bei matchsimplewildcard und notmatchsimplewildcard steht ? für genau ein beliebiges Zeichen an dieser Position und * für beliebig viele Zeichen. Der Stern darf nur am Ende stehen.
Im Hinweis zur Verschachtelung stand <+ProducttDependency> mit doppeltem t. Beim Parameter BasketBehavior stand als zulässiger Wert matche-once statt match-once.
Die einzelnen Zahlungsarten
Alle folgenden Abschnitte verstehen zusätzlich sämtliche Standardparameter von oben. Aufgeführt sind nur die jeweils eigenen Parameter.Ohne eigene Parameter
Diese Abschnitte kommen mit den Standardparametern aus.PaymentPrepayment-Txt
Vorauskasse. Die drei Parameter füllen die Anzeige der Bankverbindung.
PaymentCreditCard-Txt
Kreditkarte. Die angebotenen Kartentypen legen Sie zusätzlich in den Abschnitten Card1 bis Card5 fest.
Der Inhalt der CustomFields wird nach dem Parsen auf 50 Zeichen gekürzt und anschließend UTF-8-kodiert.
PaymentDebitNote-Txt
Lastschrift. Dieser Abschnitt deckt drei Varianten ab. Die klassische Lastschrift, die Lastschrift mit Paymorrow und die Lastschrift über PayPal Checkout. Entsprechend sind nicht alle Parameter für jede Anbindung relevant.
Bezeichnungen der Eingabefelder
Pflichtfelder und Sichtbarkeit
SEPA
Mit
SEPAMandateGeneratorPrefix = DEU- und SEPAMandateGeneratorOffset = 320001 lauten die ersten erzeugten Mandatsreferenzen DEU-320001, DEU-320002 und so weiter.
Dem Offset war DEU- zugeordnet, dem Präfix 320001.
Elektronische Lastschrift
Auswahlbox gespeicherter Bankverbindungen
Paymorrow
Ein Produktname ist für Paymorrow zwingend.
PaymorrowLineItemDefaultName verhindert, dass ein Produkt ohne Namen den Kauf blockiert. Die Pseudo-Produktnummern dürfen nicht aus dem Nummernkreis der im Shop angebotenen Produkte stammen und sind mit dem Händler abzustimmen.
Die externen Fehlermeldungen von Paymorrow werden über das Tag MSG-PayDeliv_Notify ausgegeben. Ohne Prefix und Suffix erscheinen sie ungestylt.
Die Anrede-Listen sorgen dafür, dass bei der Adressübergabe an Paymorrow die richtige Anrede vorbelegt wird.
PaymentDebitNote-Country
Hält die Klartextnamen zu den Ländercodes der Lastschrift. Die Parameternamen sind die ISO-Codes selbst, zusätzlich ist other möglich.
PaymentPaymorrow-Txt
Rechnung mit Paymorrow. Die Parameter B2BMode, PaymorrowRequestLanguageCode, die beiden Notify-Parameter, die acht LineItem-Parameter und die beiden Anrede-Listen entsprechen denen aus PaymentDebitNote-Txt. Zusätzlich gilt:
PaymentPaypal-Txt
PayPal in der Direktanbindung, über Computop und als Express Checkout. Je nach Integration ist nur ein Teil der Parameter relevant.
ExpressCheckoutNoShipping steuert die Lieferadresse. 0 zeigt sie auf den PayPal-Seiten an. 1 blendet alle Lieferadressfelder aus. 2 übernimmt die Adresse aus dem Kundenkonto des Shops, wenn der Käufer keine angibt.
Für die Warenkorbübergabe stehen drei Modi zur Verfügung. AllEntriesAsSingleLineItem-TotalSum übergibt die gesamte Bestellung als eine Position. OneEntryPerLineItem-SubTotalSum übergibt eine Position je Warenkorbeintrag ohne Auf- und Abschläge und ist nur beim Express Checkout möglich. OneEntryPerLineItemWithDummies-TotalSum übergibt eine Position je Warenkorbeintrag plus die Dummyprodukte. Standard ist in beiden Fällen AllEntriesAsSingleLineItem-TotalSum.
Sind PassBasketToPayPal-DummyAddition oder PassBasketToPayPal-DummyReduction leer, schaltet der Shop den Modus automatisch auf AllEntriesAsSingleLineItem-TotalSum zurück.
PaypalPaymentAction im Detail. sale bucht sofort ab. authorization autorisiert nur und prüft die Bonität bei PayPal, die Autorisierung ist maximal 29 Tage gültig. order holt lediglich die Zustimmung des Nutzers ein, ohne dass PayPal die Verfügbarkeit der Mittel prüft, und lässt sich länger als 29 Tage offenhalten.
Zeichen, die nicht alphanumerisch sind, werden bei PassToPaypalAsCustomParameter nicht an PayPal übergeben. Das betrifft auch Leerzeichen und Umlaute.
Wird kein Logo über PayPalLogoImg definiert, erscheint der unter PayPalBrandName eingetragene Firmenname. Fehlt auch dieser, verwendet PayPal den im Account hinterlegten Firmennamen.
PaymentPayPalPlus-Txt
PayPal PLUS.
Bei
PaypalDenyPendingPayments-Allow = no muss der Händler im Nachgang prüfen, ob für eine Bestellung im Status “pending” die Zahlung erfolgt ist, bevor er sie bearbeitet.
PaymentPayPalCheckout-Txt
PayPal über die Anbindung PayPal Checkout.
PaymentPayPalCheckoutPayLater-Txt
Pay Later über PayPal Checkout. Kennt DummyItemAddition und LanguageCode mit derselben Bedeutung wie oben.
PaymentPayPalInvoice-Txt
Kauf auf Rechnung mit RatePay über PayPal Checkout. Alle fünf Parameter sind zwingend auszufüllen.
Kauf auf Rechnung über diese Anbindung steht derzeit nur in Deutschland zur Verfügung.
Alternative Zahlungsmethoden über PayPal Checkout
Diese Abschnitte folgen alle demselben Muster und kennenDummyItemAddition sowie LanguageCode.
Zwei Abschnitte bringen darüber hinaus eigene Parameter mit.
PaymentPayPalCheckoutAPM_GOOGLEPAY-Txt für Google Pay kennt zusätzlich ExpressCheckout-Allow mit den Werten yes und no, Standard no.
PaymentPayPalCheckoutAPM_APPLEPAY-Txt für Apple Pay kennt zusätzlich ExpressCheckout-Allow, Brandname für den Firmennamen auf der PayPal-Seite mit maximal 127 Zeichen sowie ExpressCheckoutNoDeliveryMessage mit den Werten 0, 1 und 2 für den Umgang mit der Lieferadresse.
Der Beispielcode war mit <PaymentPayPalCheckoutAPM_GOOGLEPAY-Txt> überschrieben. In der Parametertabelle wurde der Parameter als Brandname eingeführt, im Beschreibungstext aber als PayPalBrandName bezeichnet. Der korrekte Parametername in diesem Abschnitt lautet Brandname.
PaymentApplePay-Txt und PaymentGooglePay-Txt
Apple Pay und Google Pay in der Anbindung über Computop. Beide Abschnitte kennen dieselben drei Parameter.
Ist das zugehörige Computop-Clearing nicht freigeschaltet, wird der gesamte Abschnitt übersprungen und keiner dieser Parameter gelesen.
PaymentKlarna-Txt
Klarna Payments in der Direktanbindung.
PaymentPaydirekt-Txt
Paydirekt.
Die Pseudo-Produktnummern dürfen nicht aus dem Nummernkreis der angebotenen Produkte stammen.
PaymentBillie-Txt
Billie Rechnungskauf.
PaymentInstallment-Txt
Ratenkauf. Je nach Provider kommen weitere Abschnitte hinzu.
PaymentDIRECTebanking-Txt
SOFORT Überweisung.
PaymentPostFinance-Txt
PostFinance.
PaymentPayU-Txt
PayU.
Bonitätsprüfung
Zwei Abschnitte stellen die Schwellenwerte der Bonitätsprüfung ein. Welche Zahlungsart geprüft wird, entscheiden die ParameterInfoScore-Allow und CreditPass-Allow im jeweiligen PaymentXXX-Txt-Abschnitt.
InfoScore
Ob der Gesamtwarenwert brutto oder netto betrachtet wird, hängt von der Einstellung des Shops im Abschnitt
VAT ab.
Soll beispielsweise die Zahlungsart Rechnung entfallen, sobald Infoscore einen Wert von 350 oder weniger liefert, setzen Sie InfoScore-Allow = yes im Abschnitt PaymentBill-Txt und eScoreDenyLessThan-Value = 351. Je höher der Infoscore-Wert, desto besser die Bonität. Die passende Entscheidungsschwelle klären Sie direkt mit Infoscore.
CreditCheckPeriod funktioniert nur, wenn Ihr Warenwirtschaftssystem das Datum der letzten Prüfung liefert.
CreditPass
Card1 bis Card5
Legt die akzeptierten Kreditkartentypen fest. Zusätzlich muss die Zahlungsart Kreditkarte im Abschnitt PaymentCreditCard-Txt mit Allow = yes aktiviert sein.
Ein
Card-Abschnitt wird vollständig verworfen, wenn Name leer ist oder Allow nicht auf yes steht. Es erscheint keine Meldung.
Werte für CompuTopBrandID: VISA, MasterCard, Maestro, AMEX, Diners, Discover und AirPlus.
Werte für TeleCashSec2ID: M für MasterCard, V für Visa, A für American Express, C für Diners und J für JCB.
Werte für WSCardType: 1 für VISA, 2 für MasterCard, 3 für American Express, 4 für Diners Club und 5 für JCB. Werte über 100 sind frei verwendbar. Der Parameter ist Pflicht bei Nutzung des Bestellgenerators, wird für den technischen Ablauf der Bestellung aber nicht ausgewertet.
CompuTop-ErrorMessages
Legt fest, wie der Shop mit Fehlermeldungen von Computop umgeht. Der Abschnitt wird nur gebraucht, wenn in fremdsprachigen Subshops die Computop-Fehlermeldungen in der Sprache des Subshops erscheinen sollen.
Die Fehlercodes erhalten Sie direkt von Computop.
Paymorrow-Mapping und PaymorrowDebit-Mapping
Verknüpfen freie Adressdatenfelder des Shops mit den Parametern von Paymorrow. Das wird gebraucht, um bei Firmenkunden Rechtsform, Firmeninhaber und Registernummer abzufragen. Paymorrow-Mapping gilt für Rechnung mit Paymorrow, PaymorrowDebit-Mapping für Lastschrift mit Paymorrow. Beide Abschnitte kennen dieselben drei Parameter.
Die Adressdatenfelder selbst legen Sie im Abschnitt
AddressFields-Txt an.
Referenz: Abschnitt AddressFields-Txt
Paymorrow-NotifyMessages und PaymorrowDebit-NotifyMessages
Definieren die Fehlermeldungen für Rechnung beziehungsweise Lastschrift mit Paymorrow. Für jeden Fehlerfall wird ein Unterabschnitt +Entry angelegt. Beide Abschnitte kennen dieselben sieben Parameter.
Welche Werte Paymorrow in welchem Fehlerfall liefert, klären Sie direkt mit Paymorrow.
Treten mehrere Fehler gleichzeitig auf, erscheint nur die erste in diesem Abschnitt definierte zutreffende Meldung. Die Reihenfolge der
+Entry-Abschnitte entscheidet also darüber, welche Meldung der Käufer sieht.