Neues Feature
Ab Version 2.10.0 des WooCommerce Bexio Automator (WCBA) Plugins ist es möglich, für Zahlungsmethoden-abhängige Einstellungen einen Fallback festzulegen. Dies erlaubt es, wenn die auf der Bestellung hinterlegte Zahlungsmethode nicht jener entspricht, die in den WooCommerce Payment Gateways regsitriert wurde (weitere Infos), die Einstellungen für Synchronisierungsregeln, Bankkonto & Zahlungsart (sowie jene des PDF E-Mail Anhanges) mit dem Fallback vorzugeben und damit trotzdem eine Synchronisierung zu ermöglichen.
Der Standardwert für die Fallback-Einstellungen ist, keine Vorgabe zu machen (also nichts zu synchronisieren). Dies entspricht dem Verhalten in bisherigen Plugin-Versionen.
Auf Bestellungen, auf denen dies zutrifft, wird zudem in der Bestellübersicht, wie auch beim Bearbeiten der Bestellung, darauf hingewiesen, dass der Fallback angewendet wird:
Falls du diesen Fallback nicht verwenden willst, kannst du alle entsprechenden Einstellungen auf den jeweiligen Standardwerten belassen. Alternativ kannst du mit dem Filter 'raptus_wc_bexio_connector_use_fallback_payment_method' die automatische Anwendung des Fallback deaktivieren - dann hast du die Möglichkeit, von Hand einzelne Zahlungsmethoden je nach Bedarf auf die Fallback-Einstellungen umzumappen.
Problemstellung
Gewisse Einstellungen sind von der verwendeten Zahlungsmethode abhängig. Dazu werden im WCBA für die in WooCommerce registrierten Zahlungsmethoden Einstellungen vorgenommen. Dazu zählen:
- Synchronisierungsregeln
- Bankkonto
- Zahlungsart
- PDF E-Mail Anhang (Zusatzmodul)
Während der Synchronisierung wird die Zahlungsmethode aus der Bestellung ausgelesen und anhand dieser nach der zu verwendenden Einstellung gesucht. Es kann jedoch vorkommen, dass diese Zahlungsmethode dann von jener abweicht, unter der das Plugin sich in den WooCommerce Payment Gateways registriert hat. Ein Beispiel: wenn eine Zahlungsmethode sich bei WooCommerce als 1 Methode registriert, im Checkout dann aber mehrere verschiedene Zahlungsmittel (z.B. Kreditkarte, TWINT, ...) anbietet und für jedes davon einen anderen, abweichenden Wert in der Bestellung hinterlegt. Dies führt dann dazu, dass die Synchronisierung nicht wie erwartet funktioniert, weil keine passende Einstellung gefunden werden kann.
Ebenso kann es vorkommen, dass einige Zahlungsanbieter gar keine Zahlungsmethode auf den Bestellungen hinterlegen. Insbesondere POS-Plugins sind dafür bekannt, dass sie abweichende - oder gar keine - Zahlungsmethode hinterlegen.
Bisher waren solche Zahlungsanbieter mit dem WCBA inkompatibel. Es hat sich jedoch gezeigt, dass es immer wieder vorkommt, dass Zahlungsanbieter-Plugins dies unglücklicherweise so machen - meistens dann, wenn das Zahlungsanbieter-Plugin aktualisiert wurde und deren neue Version sich so verhält. Auch ist dieses Problem ohne entsprechendes Hintergrundwissen für die Kunden in der Regel nicht direkt ersichtlich. Dies führte dann dazu, dass in solchen Fällen die Synchronisierung nicht wie gewünscht verlief, weil das Zahlungsanbieter-Plugin inkompatibel war.
Hierbei schaffen die Fallback-Einstellungen nun Abhilfe.
Beachte
Wenn das Zahlungsanbieter-Plugin aufgrund dieser Problemstellung inkompatibel ist, bieten die Fallback-Einstellungen lediglich eine Möglichkeit, trotzdem eine Synchronisierung auslösen zu können. Grundsätzlich obliegt es jedoch weiterhin dem Zahlungsanbieter-Plugin, verschiedene Checkout-Zahlungsmittel in den WooCommerce Payment Gateways separat zu registrieren und übereinstimmend auf den Bestellungen zu hinterlegen. Tut das Zahlungsanbieter-Plugin dies nicht, kann mit den Fallback-Einstellungen nur eine allgemeine Einstellung vorgenommen werden - diese gilt dann für alle davon betroffenen Bestellungen, unabhängig vom effektiven Zahlungsmittel, das im Checkout gewählt wurde. Willst du für verschiedene Checkout-Zahlungsmittel des Zahlungsanbieter-Plugins separate Einstellungen vornehmen, müsstest du ansonsten weiterhin mit den bestehenden Filter im WCBA eine individuelle Lösung erarbeiten.
Auswirkungen der abweichenden Zahlungsmethode auf die Synchronisierung
In Fällen, wo diese Problemstellung zutrifft, führt dies bei der Synchronisierung zu Problemen. Davon betroffen sind in der Regel:
- Synchronisierungsregeln: da die Zahlungsmethode auf der Bestellung von jener abweicht, für welche die Einstellungen vorgenommen wurden, weiss das Plugin dann nicht, wann welche Dokumente synchronisiert werden dürfen. In der Folge findet daher keine automatische Synchronisierung mehr statt, nur die manuelle Zwangs-Synchronisierung funktioniert dann mitunter noch (mit Einschränkungen).
- Bankkonto / Zahlungsart: analog den Synchronisierungsregeln kann keine zu verwendende Einstellung gefunden werden. Würde dann z.B. mit der Zwangs-Synchronisierung eine Bestellung synchronisiert, kann das Plugin diese Einstellungen nicht vorgeben. Das Resultat: es würden die Einstellungen aus der Bexio-Dokumentenvorlage angewendet. Diese können mitunter von den Einstellungen im Plugin abweichen, was dann zu anderen als den erwarteten Einstellungen in den Bexio Dokumenten führen würde.
- PDF E-Mail Anhang: analog den Synchronisierungsregeln kann dann nicht festgestellt werden, an welches E-Mail das PDF angehängt werden soll. Folglich findet kein Anhang statt.
Wie du überprüfen kannst, ob die Zahlungsmethode auf der Bestellung abweicht
Du möchtest überprüfen, ob deine Zahlungsmethode dies auf den Bestellungen abweichend hinterlegt, z.B. weil dir der Hinweis angezeigt wird, dass deine Bestellung davon betroffen ist? Dazu gibt es einige Möglichkeiten:
- Beim Bearbeiten einer Bestellung, steht die hinterlegte Zahlungsmethode unterhalb der Bestellnummer: "Bezahlung über XYZ. Bezahlt am ....".
- Beim Bearbeiten einer Bestellung, wenn die Rechnungsadresse bearbeitet wird, steht die Zahlungsmethode im Feld "Zahlungsart". Steht hier "Andere" oder "n. a.", entspricht sie keiner der Zahlungsmethoden, die offiziell in den WooCommerce Payment Gateways registriert sind.
- Mit dem Platzhalter
{payment_method}im Titel für neue Bexio-Aufträge:- Füge temporär den Platzhalter in der Einstellung des WCBA beim Titel für neue Aufträge ein, z.B. "Online Bestellung {order_id} (Zahlungsmethode: {payment_method})").
- Bearbeite die betroffene Bestellung und zeige den Data-Dump an. Füge dazu der URL &order_bexio_data_dump an.
- Im Feld 'title' wird dann der Auftragstitel inkl. der Zahlungsmethode angezeigt.
- Vergiss nicht, den Platzhalter anschliessend wieder zu entfernen!
- Diese Variante ist vor allem für Entwickler nützlich, die mit den bestehenden Filtern individuelle Vorgaben je nach Zahlungsmethode machen wollen, anstatt nur einem generellen Fallback.
Individuelle Einstellungen für nicht offiziell registrierte Zahlungsmethoden
Wenn deine Zahlungsmethode auf den Bestellungen etwas anderes hinterlegt, als sie in den WooCommerce Payment Gateways registriert hat, können die Fallback-Einstellungen verwendet werden, um die Synchronisierung zu konfigurieren. Diese lassen dann jedoch nur eine allgemeine Einstellung zu, welche für alle Bestellungen gilt, für die die Fallback-Einstellungen angewendet werden. Wenn du diese Zahlungsmethoden genauer unterscheiden möchtest, z.B. um individuelle Bankkonten oder Bexio-Zahlungsarten vorzugeben, hast du folgende Möglichkeiten:
- Du kontaktierst den Anbieter der Zahlungsmethode und bittest darum, dass sie alle Zahlungsmethoden, welche deren Plugin auf den Bestellungen hinterlegt, auch als eigenständige Payment Gateways in WooCommerce registrieren. Dadurch kannst du dann wie gewohnt die Einstellungen im WCBA Plugin verwenden, um die Synchronisierung zu konfigurieren.
- Du überschreibst mit den bestehenden Filtern im WCBA Plugin die ausgelesene Zahlungsmethode, um die Einstellungen einer anderen Zahlungsmethode zu verwenden. Dies erfordert Programmierkenntnisse.
Falls du dies überschreiben willst, kannst du mit dem Filter 'raptus-wc-bexio-connector-sync-{type}_gateway' die aus der Bestellung ausgelesene Zahlungsmethode überschreiben, damit die Einstellungen einer anderen Zahlungsmethode für die Synchronisierungsregeln verwendet werden. Dazu muss jedoch die ID der gewünschten Zahlungsmethode, deren Einstellungen verwendet werden sollen, bekannt sein.* Die Vorgaben für das Bankkonto und die Zahlungsart müssen ausserdem zusätzlich mit dem 'raptus_wc_bexio_connector_order_data' Filter individuell überschrieben werden - andernfalls würden auch hier wiederum die Einstellungen der Bexio-Dokumentenvorlage gelten, nicht eine Einstellung aus dem WCBA Plugin, wenn eine Synchronisierung stattfindet (entweder erzwungen oder durch überschreiben der Synchronisierungsregel mit obigem Filter).
* Diese kannst du, wie oben beschrieben, z.B. mit dem Platzhalter {payment_method} oder aus dem HTML Code in WooCommerce auslesen.
Kommentare
0 Kommentare