FOX - WooCommerce Currency Switcher Professional

WooCommerce: Zahlungsgateway unterstützt die Währung nicht – Lösungen

Wenn ein Zahlungsgateway die Währung nicht unterstützt, die ein WooCommerce-Kunde gewählt hat, hängt das Symptom vom Gateway ab: eine Fehlermeldung Invalid currency code, eine abgelehnte Zahlung, eine Zahlungsseite, die die Basiswährung zeigt, eine Bestellung in einer Währung, die niemand gewählt hat, oder ein Checkout ganz ohne Zahlungsmethoden. Der Währungsumrechner ist selten die Ursache und allein nicht die Lösung, denn FOX entscheidet, welche Währung im Checkout ankommt, und das Gateway entscheidet, was es abrechnen kann. Nachfolgend lesen Sie, wie beides zusammenspielt, wie Sie jedes Symptom deuten und mit welchen Einstellungen jede Währung bei einem Gateway landet, das sie akzeptiert.

Warum ein Zahlungsgateway nicht jede angezeigte Währung unterstützt

Eine WooCommerce-Bestellung hat genau eine Währung. Ist Mehrere Währungen erlaubt (Is multiple allowed) = Ja (Yes) im Tab Erweitert (Advanced) der FOX-Einstellungen gesetzt (der Standard einer Neuinstallation), behält der Checkout die Währung des Besuchers: WooCommerce meldet sie über get_woocommerce_currency(), speichert sie an der Bestellung, und das Gateway erhält die Bestellsumme mit diesem Währungscode. Ab diesem Moment sind das Gateway-Plugin und Ihr Händlerkonto zuständig. FOX berührt die Transaktion nicht.

Es ist daher nicht möglich, im Checkout 30 EUR anzuzeigen und die Zahlung stattdessen in der Basiswährung zu senden: Das Gateway würde die Zahl 30 erhalten, nicht den Wert. Muss ein Gateway in einer anderen Währung abrechnen, muss der Checkout selbst vor der Zahlung auf diese Währung umschalten, damit der angezeigte Betrag der abgerechnete Betrag ist. Preise in lokaler Währung anzeigen, in Basiswährung abrechnen erklärt diese Regel und die darauf aufbauenden Konfigurationen.

Das Symptom deuten

Was Sie sehenWas es meist bedeutet
Invalid currency code, Bad value: purchase_currency, unsupported currencyDas Gateway lehnt den Code ab: Das Gateway oder Ihr Konto unterstützt diese Währung nicht, oder der Code in FOX ist kein gültiger ISO-Code
Zahlungen werden nur in Fremdwährungen abgelehntDas Händlerkonto ist für diese Währungen nicht freigeschaltet
Die Gateway-Seite zeigt die Basiswährung oder dieselbe Zahl mit einem anderen Symbol (aus 3,12 EUR werden 3,12 KWD)Das Gateway-Plugin liest die Währungseinstellung des Shops statt der Bestellwährung
Die Bestellung oder die Abbuchung landet in einer Währung, die der Kunde nicht gewählt hatEin Gateway mit nur einer Währung rechnet den Betrag selbst um oder beschriftet ihn neu
Ein Gateway fehlt, oder Es scheint leider keine verfügbaren Zahlungsmethoden zu geben (Sorry, it seems that there are no available payment methods)Das Gateway hat sich für diese Währung selbst ausgeblendet, oder die FOX-Zahlungsregeln haben es ausgeblendet (siehe unten)
PayPal-Schaltfläche fehlt oder PayPal-WährungsfehlerSiehe PayPal-Währung wird nicht unterstützt, wo PayPal ausführlich behandelt wird

Prüfen, was das Gateway unterstützt

Schlagen Sie die Liste der unterstützten Währungen des Gateways nach und prüfen Sie, wofür Ihr eigenes Konto freigeschaltet ist: Beides weicht oft voneinander ab. Typische Grenzen:

  • Square rechnet in der Währung des Landes ab, zu dem das Verkäuferkonto gehört.
  • PayFast verarbeitet Zahlungen in südafrikanischen Rand.
  • Buy-now-pay-later-Dienste wie Klarna und Afterpay arbeiten pro Markt, jeweils in der Währung dieses Marktes.
  • Razorpay akzeptiert andere Währungen als INR nur, wenn internationale Zahlungen im Konto aktiviert sind, und selbst dann nicht jede Währung.
  • Viele lokale Bank-Gateways akzeptieren nur die Währung ihres eigenen Landes.

Prüfen Sie dann den Code selbst. Im Tab Währungen (Currencies) muss jede Währung, die ein Gateway sehen kann, ihren ISO-4217-Code verwenden: GBP, nicht UK; PKR, nicht Rs. Das Symbol gehört in seine eigene Spalte. Ein Code mit führendem Leerzeichen oder mit einem unsichtbaren Zeichen aus dem Kopieren gilt ebenfalls als ungültig; tippen Sie ihn neu ein. Nicht-ISO-Codes sind bei reinen Anzeigewährungen in Ordnung, wie eigene Währungscodes erklärt, doch lassen Sie nie einen davon zu einem Gateway durch.

Testen Sie mit der Sandbox des Gateways: eine Bestellung in jeder Währung, die Sie akzeptieren. Auf dem Bestellbildschirm zeigt das FOX-Feld die Bestellwährung (Order currency); sie sollte mit Währung und Betrag im Test-Dashboard des Gateways übereinstimmen.

Jede Währung einem Gateway zuordnen, das sie akzeptiert

FOX bietet drei Werkzeuge. Sie lassen sich kombinieren.

Jedes Gateway nur in seinen Währungen zeigen: Zahlungsregeln

  1. Schalten Sie im Tab Erweitert (Advanced) die Zahlungsregeln (Payments rules) ein und speichern Sie. Ein Tab Zahlungen (Payments) erscheint.
  2. In diesem Tab bestimmt Zahlungsverhalten (Payments behavior), wie die Listen für alle Gateways funktionieren: Ist ausgeblendet (Is hidden) blendet ein Gateway in den Währungen aus, die Sie dafür auswählen, Wird angezeigt (Is shown) zeigt es nur in den ausgewählten Währungen.
  3. Jedes aktivierte Gateway hat seine eigene Währungsliste. Ein Gateway mit leerer Liste wird nie gefiltert.

Wählen Sie zum Beispiel mit Wird angezeigt (Is shown) nur UZS für ein reines UZS-Gateway und USD und EUR für ein Kartengateway aus; jeder Besucher sieht dann die Gateways, die seine Währung abrechnen können. Die Regeln gelten auf der Checkout-Seite und der Seite zum Bezahlen von Bestellungen. Mehr dazu in So blenden Sie ein Zahlungsgateway nach Währung aus.

In der Basiswährung abrechnen: Mehrere Währungen erlaubt = Nein

Ist die Währung des Gateways Ihre WooCommerce-Basiswährung, zum Beispiel bei einem ZAR-Shop mit PayFast, setzen Sie Mehrere Währungen erlaubt (Is multiple allowed) auf Nein (No). Besucher stöbern weiterhin in ihrer Währung, doch der Checkout setzt auf die Basiswährung zurück, und das Gateway erhält immer diese. Das ist die schnellste Lösung für einen Shop mit einem lokalen Gateway.

Im Checkout auf eine unterstützte Währung umschalten

Akzeptiert das Gateway eine Währung, die nicht die Basiswährung ist, oder nur einige Ihrer Währungen, lassen Sie Mehrere Währungen erlaubt (Is multiple allowed) = Ja (Yes) und schalten den Checkout mit einem kurzen Snippet auf eine akzeptierte Währung um. Eine getestete Version, die nur nicht unterstützte Währungen umschaltet und den Besuchern nach dem Checkout ihre Währung zurückgibt, steht in Lokale Währung anzeigen, in Basiswährung abrechnen, zusammen mit einer Variante, die die Währung wechselt, wenn der Kunde eine Zahlungsmethode auswählt. Die einzeilige Version steht in der FAQ Eine Währung auf der Checkout-Seite erzwingen.

Keine verfügbaren Zahlungsmethoden nach dem Währungswechsel

Zeigt der Checkout Es scheint leider keine verfügbaren Zahlungsmethoden zu geben (Sorry, it seems that there are no available payment methods), oder verschwindet ein Gateway, das in der Basiswährung funktioniert, in einer anderen, ist einer dieser Gründe die Ursache:

  • Das Gateway hat sich ausgeblendet. Viele Gateways prüfen get_woocommerce_currency(), bevor sie sich anbieten, und FOX antwortet darauf mit der Währung des Besuchers. Ein reines ZAR-Gateway verschwindet daher für einen Besucher in USD, und war es das einzige Gateway, bleibt nichts übrig. Das tritt oft direkt nach der Aktivierung von FOX auf, weil eine Neuinstallation Kunden in ihrer gewählten Währung bezahlen lässt. Verwenden Sie Mehrere Währungen erlaubt (Is multiple allowed) = Nein (No) oder eine erzwungene Checkout-Währung, wie oben beschrieben.
  • Zahlungsregeln blenden alle Gateways für diese Währung aus. Öffnen Sie den Tab Zahlungen (Payments) und gehen Sie die Währungen nacheinander durch: Jede muss mindestens ein Gateway sichtbar lassen. Mit Wird angezeigt (Is shown) verschwindet ein Gateway, für das einige Währungen ausgewählt sind, in allen anderen. Schalten Sie zum Testen die Zahlungsregeln (Payments rules) aus; kommen die Gateways zurück, liegt es an den Listen.
  • Checkout nach GeoIP-Regeln. Diese Option im Tab Erweitert (Advanced) legt die Checkout-Währung anhand des Landes des Besuchers fest, und der Besucher kann sie auf der Checkout-Seite nicht ändern. Wird das Gateway nur in einer anderen Währung angezeigt, sieht dieser Besucher es nie. Die Regeln werden der Reihe nach gelesen, und die erste Währung, die das Land aufführt, gewinnt; ein Land, das zu zwei Währungen hinzugefügt wurde, erhält also immer die erste. Checkout-Währung nach dem Land des Kunden behandelt diese Option.
  • Das Gateway löst einen Fehler aus. Manche Gateway-Plugins scheitern in einer nicht unterstützten Währung mit einem PHP- oder JavaScript-Fehler, der auch die Schaltfläche Weiter zur Kasse (Proceed to checkout) aus dem Warenkorb entfernen kann. Sehen Sie in der Browser-Konsole und in wp-content/debug.log nach; der Fehler nennt das Plugin, an das Sie ihn melden können.

Das Gateway rechnet in der falschen Währung ab

Zeigt die Bestellung im FOX-Feld die richtige Währung, die Zahlungsseite oder die Bank aber eine andere, liegt das Problem darin, wie das Gateway-Plugin die Zahlungsanfrage aufbaut:

  • Es liest die Shop-Einstellung, nicht die Bestellung. FOX ändert die Währung, die WooCommerce meldet und an der Bestellung speichert; die in den WooCommerce-Einstellungen gespeicherte Basiswährung schreibt es nicht um. Ein Gateway, das diese Einstellung direkt liest, sendet den Code der Basiswährung mit der umgerechneten Zahl. Die Korrektur gehört in das Gateway-Plugin, das die Währung der Bestellung verwenden sollte ($order->get_currency()). Bis dessen Autoren das ändern, zeigen Sie dieses Gateway mit den Zahlungsregeln (Payments rules) nur in der Basiswährung.
  • Es unterstützt eine Währung und rechnet selbst um. Manche Gateways mit nur einer Währung rechnen jede Bestellung zu ihrem eigenen Kurs in ihre Währung um oder legen die Zahlung unabhängig von der Bestellung in ihr an. Suchen Sie in den Einstellungen des Gateways nach einer Option zur Währungsumrechnung und lassen Sie Kunden lieber den echten Betrag sehen, indem Sie diese Währung im Checkout erzwingen.

Checkliste

  • Jede aktivierte Währung verwendet einen gültigen ISO-Code, neu getippt und ohne Leerzeichen.
  • Sie wissen, welche Währungen jedes Gateway und Ihr Konto dort abrechnen können.
  • Jede Währung erreicht mindestens ein Gateway, das sie akzeptiert: über Zahlungsregeln (Payments rules), Mehrere Währungen erlaubt (Is multiple allowed) = Nein (No) oder eine erzwungene Checkout-Währung.
  • Checkout nach GeoIP-Regeln (Checkout by GeoIP rules) und die GeoIP-Länderlisten schicken Besucher nicht in eine Währung ohne Gateway.
  • Eine Sandbox-Bestellung in jeder Währung zeigt im FOX-Bestellfeld und im Gateway-Dashboard dieselbe Währung und denselben Betrag.

Scheitert ein Gateway nach diesen Prüfungen weiterhin in einer Währung, eröffnen Sie ein Thema im FOX-Support-Forum mit dem Namen des Gateways, dem genauen Fehlertext, Ihrer Einstellung Mehrere Währungen erlaubt (Is multiple allowed) und den beteiligten Währungen, und wir sehen es uns an.