VibeFox Flutterwave for OpenCart — Hilfe
Anforderungen
OpenCart: 3.0.x (getestet mit 3.0.5.0) oder 4.0.2 und neuer (getestet mit 4.1.0.3).
PHP: 8.0 oder neuer.
Flutterwave-Konto: Sie benötigen die geheimen Schlüssel Ihres Flutterwave-Kontos aus dem Flutterwave-Dashboard unter Settings, API keys: FLWSECK_TEST-… für den Testmodus und FLWSECK-… für den Live-Modus. Verwendet werden nur die geheimen Schlüssel. Die öffentlichen Schlüssel und Verschlüsselungsschlüssel werden nicht benötigt. Außerdem richten Sie einen Webhook mit einem geheimen Hash Ihrer Wahl ein (siehe Konfiguration).
Währungen: Die Bestellung wird immer in der Bestellwährung belastet. Die Erweiterung beschränkt Länder oder Währungen nicht selbst; Flutterwave zeigt einen Fehler an, wenn Ihr Konto die Währung nicht unterstützt. Mit Geo Zone und Total können Sie einschränken, wo Flutterwave angeboten wird.
VibeFox-Lizenzschlüssel: Er wird auf vibefox.net gekauft. Ein Schlüssel funktioniert für eine Domain.
Installation
Der Download ist eine ZIP-Datei mit den Paketen für beide OpenCart-Versionen. Entpacken Sie sie auf Ihrem Computer. Sie enthält README.txt, das Paket für OpenCart 3 wcp_flutterwave_payment-oc3-(version).ocmod.zip und das Paket für OpenCart 4 wcp_flutterwave_payment.ocmod.zip. Installieren Sie nur das Paket für Ihre OpenCart-Version. Der Lizenzschlüssel ist für beide Versionen gleich.
OpenCart 3
1. Gehen Sie im Admin zu Extensions > Installer, klicken Sie auf Upload und wählen Sie die Datei wcp_flutterwave_payment-oc3-(version).ocmod.zip. Die Erweiterung enthält keine OCMOD-Änderungen, daher muss Extensions > Modifications nicht aktualisiert werden. Statt des Installers können Sie auch den Inhalt des Ordners upload dieses Pakets in das Stammverzeichnis Ihres Shops kopieren.
2. Gehen Sie zu Extensions > Extensions und wählen Sie den Typ Payments. Suchen Sie VibeFox Flutterwave Payment und klicken Sie auf Install (die grüne +-Schaltfläche). Ihr Admin-Benutzer benötigt das Recht, die Liste der Zahlungserweiterungen zu ändern.
3. Klicken Sie auf Edit (die Stift-Schaltfläche), um die Einstellungsseite zu öffnen. Fügen Sie Ihren VibeFox-Lizenzschlüssel in das Feld License key im Lizenzblock oben auf der Seite ein und klicken Sie auf Activate (siehe Lizenzschlüssel).
4. Tragen Sie Ihre geheimen Schlüssel ein, richten Sie den Webhook im Flutterwave-Dashboard ein und tragen Sie in der Erweiterung denselben geheimen Hash ein (siehe Konfiguration).
5. Schalten Sie Enable/Disable ein und klicken Sie auf Save. Testen Sie eine Zahlung im Testmodus und schalten Sie danach Live mode ein.
OpenCart 4
1. Gehen Sie im Admin zu Extensions > Installer, klicken Sie auf Upload und wählen Sie die Datei wcp_flutterwave_payment.ocmod.zip. Benennen Sie die Datei nicht um: OpenCart 4 entnimmt den Code der Erweiterung dem Dateinamen, und ein umbenanntes Paket funktioniert nicht.
2. Das Paket erscheint in der Liste der installierten Erweiterungen auf derselben Seite. Klicken Sie daneben auf Install (die grüne +-Schaltfläche).
3. Gehen Sie zu Extensions > Extensions und wählen Sie den Typ Payments. Suchen Sie VibeFox Flutterwave Payment, klicken Sie auf Install (die grüne +-Schaltfläche) und dann auf Edit (die Stift-Schaltfläche).
4. Tragen Sie den Lizenzschlüssel, die geheimen Schlüssel und den Webhook wie in den Schritten 3 bis 5 für OpenCart 3 ein. Die Einstellungsseite und ihre Felder sind in beiden Versionen gleich. Nur die Webhook-URL ist anders (siehe Webhook).
Eine Neuinstallation startet mit deaktivierter Zahlungsmethode und im Testmodus.
Konfiguration
Alle Einstellungen befinden sich auf der Erweiterungsseite: Extensions > Extensions > Payments > VibeFox Flutterwave Payment > Edit. Die Abschnitte sind links aufgelistet; die Schaltfläche Save unter der Liste speichert die gesamte Seite. Oberhalb der Einstellungen zeigt die Seite Live mode: real payments are accepted. oder Test mode: no real money is charged. an. Sie warnt, wenn der geheime Schlüssel des aktuellen Modus leer ist, wenn im Live-Modus im Feld für den Live-Schlüssel ein Testschlüssel (FLWSECK_TEST-…) steht oder wenn im Testmodus im Feld für den Testschlüssel ein Live-Schlüssel (FLWSECK-…) steht; die Zahlungsmethode wird dann an der Kasse ausgeblendet, bis dies behoben ist. Außerdem warnt sie, wenn kein geheimer Webhook-Hash gesetzt ist: Webhooks werden dann abgelehnt, und Zahlungen werden nur bestätigt, wenn der Kunde in Ihren Shop zurückkehrt. Ohne das Recht, die Erweiterung zu ändern, zeigt die Seite die Einstellungen an, kann sie aber nicht speichern.
Beim Speichern muss Title 1 bis 128 Zeichen haben, Sort Order muss leer oder eine ganze Zahl sein, Total muss leer oder eine Zahl von 0 oder mehr sein, und die gewählte Geozone und die Bestellstatus müssen vorhanden sein. Andernfalls wird nichts gespeichert, und die Seite zeigt, was zu korrigieren ist. Probleme mit den Schlüsseln verhindern das Speichern nicht.
Flutterwave
Enable/Disable: Enable Flutterwave Payment schaltet die Zahlungsmethode ein oder aus. Standard: aus.
Title: der Titel der Zahlungsmethode, den Kunden an der Kasse sehen. Er wird auch als Name der Zahlungsmethode in der Bestellung gespeichert. Standard: Flutterwave. Pflichtfeld, bis zu 128 Zeichen.
Description: die Beschreibung der Zahlungsmethode, die im Schritt Confirm Order über der Bestätigungsschaltfläche angezeigt wird. Standard: Pay securely via Card, Bank Transfer, USSD, Mobile Money via Flutterwave.
Sort Order: die Position von Flutterwave unter den Zahlungsmethoden an der Kasse. Lassen Sie das Feld leer oder geben Sie eine ganze Zahl ein.
Geo Zone: bietet Flutterwave nur für Zahlungsadressen in der gewählten Geozone an. Standard: All zones. Geozonen richten Sie unter System > Localisation > Geo Zones ein.
Total: die Kassensumme in der Standardwährung des Shops, die eine Bestellung erreichen muss, bevor Flutterwave angeboten wird. Lassen Sie das Feld leer, um Flutterwave bei jeder Summe anzubieten.
API-Schlüssel
Kopieren Sie die geheimen Schlüssel aus dem Flutterwave-Dashboard unter Settings, API keys (der Abschnitt enthält einen Link). Testmodus und Live-Modus haben unterschiedliche Schlüssel.
Live mode: akzeptiert echte Zahlungen. Schalten Sie ihn für den Testmodus aus. Der Testmodus verwendet den geheimen Testschlüssel, und es wird kein echtes Geld belastet. Der Live-Modus verwendet den geheimen Live-Schlüssel. Standard: aus (Testmodus). Solange der Testmodus aktiv ist, sehen Kunden im Schritt Confirm Order TEST MODE - no real payments will be processed.
Test Secret Key: Ihr geheimer Flutterwave-Testschlüssel (FLWSECK_TEST-...).
Live Secret Key: Ihr geheimer Flutterwave-Live-Schlüssel (FLWSECK-...).
Gespeicherte Schlüssel und der geheime Hash werden nie wieder angezeigt. Das Feld bleibt leer und zeigt Saved — leave empty to keep it. Geben Sie nur dann einen neuen Wert ein, wenn Sie ihn ändern möchten. Um einen gespeicherten Wert zu entfernen, setzen Sie unter dem Feld den Haken bei Clear the saved value und klicken Sie auf Save.
Webhook
Der Webhook bestätigt Zahlungen auch dann, wenn der Kunde nicht in Ihren Shop zurückkehrt. Tragen Sie im Flutterwave-Dashboard unter Settings, Webhooks die URL ein, die in diesem Abschnitt unter Webhook URL angezeigt wird, sowie einen geheimen Hash Ihrer Wahl, sowohl im Testmodus als auch im Live-Modus. Bei OpenCart 3 sieht die URL so aus: https://your-store/index.php?route=extension/payment/wcp_flutterwave_payment/webhook, bei OpenCart 4 so: https://your-store/index.php?route=extension/wcp_flutterwave_payment/payment/wcp_flutterwave_payment.webhook. Sie wird aus der Adresse Ihres Shops gebildet. Sie muss über HTTPS aus dem Internet erreichbar sein. Kopieren Sie die URL genau so, wie die Einstellungen sie anzeigen. Die Erweiterung reagiert auf dieses Ereignis:
Andere Ereignisse werden ignoriert.
Secret Hash: der geheime Hash des Webhooks. Er muss mit dem Wert in den Webhook-Einstellungen Ihres Flutterwave-Dashboards übereinstimmen. Flutterwave sendet ihn mit jedem Webhook, und derselbe Wert wird für den Test- und den Live-Modus verwendet. Webhooks ohne gültigen geheimen Hash werden abgelehnt. Ohne Webhook wird eine Zahlung nur bestätigt, wenn der Kunde in Ihren Shop zurückkehrt.
Zahlung
Payment Options: durch Kommas getrennte Zahlungsmethoden, die auf der Flutterwave-Seite angezeigt werden, zum Beispiel card, banktransfer, ussd, mobilemoney. Lassen Sie das Feld leer, um alle in Ihrem Konto aktivierten Methoden anzuzeigen. Die Liste wird beim Speichern bereinigt (Kleinbuchstaben, keine Duplikate).
Autocomplete Orders: bezahlte Bestellungen erhalten den Complete Order Status statt des Paid Order Status. Standard: aus.
Bestellungen
OpenCart legt die Bestellung im Schritt Confirm Order ohne Status an (eine fehlende Bestellung). Sie erhält erst einen Status, nachdem Flutterwave die Zahlung über die API bestätigt hat. Jedes der folgenden Felder listet Ihre Bestellstatus aus OpenCart auf.
Paid Order Status: der Status nach einer bestätigten Zahlung. Standard: Verarbeitung.
Complete Order Status: der Status nach einer bestätigten Zahlung, wenn Autocomplete Orders eingeschaltet ist. Standard: Abgeschlossen.
Awaiting Payment Status: der Kunde ist zurückgekehrt, während die Zahlung bei Flutterwave noch ausstehend ist (Banküberweisung, USSD, Mobile Money). Die Bestellung behält diesen Status, bis der Webhook die Zahlung bestätigt. Standard: Ausstehend.
On Hold (Review) Status: Zahlungen, deren Betrag oder Währung nicht zur Bestellung passt, oder die eintreffen, nachdem die Bestellung storniert wurde, erhalten diesen Status und eine Notiz, die den Grund erklärt. Standard: Ausstehend, weil OpenCart keinen Status „On hold“ hat. Sie können unter System > Localisation > Order Statuses einen eigenen Status anlegen und hier auswählen.
Failed Status: eine ausstehende Zahlung einer wartenden Bestellung ist bei Flutterwave fehlgeschlagen. Standard: Fehlgeschlagen.
Refunded Status: wird gesetzt, nachdem die Zahlung auf der Bestellseite vollständig erstattet wurde. Standard: Erstattet.
Erweitert
Debug log: protokolliert Ereignisse der Flutterwave-API zur Fehlersuche in flwv_debug.log.php im Logordner von OpenCart (storage/logs). Die Datei lässt sich nicht über das Web öffnen; bei 5 MB wird sie nach flwv_debug.old.log.php verschoben. Fehler und Warnungen werden immer protokolliert. Schlüssel, der geheime Hash und Kundendaten werden nie protokolliert. Standard: aus.
Log: zeigt die Größe und die neuesten Einträge des Protokolls. Klicken Sie auf Clear log, um es zu leeren.
Delete data on uninstall: entfernt beim Deinstallieren der Erweiterung deren Einstellungen und Protokolle. Zahlungsdaten, die in Bestellungen gespeichert sind, bleiben immer erhalten. Standard: aus.
Import / Export
Export: Download JSON speichert die Einstellungen als JSON-Datei. Geheime Schlüssel und der geheime Hash werden nicht exportiert.
Import: fügen Sie zuvor exportiertes JSON ein und klicken Sie auf Import, um die Einstellungen wiederherzustellen. Gespeicherte Schlüssel und der geheime Hash bleiben erhalten.
Kasse
Im Schritt Payment Method wählt der Kunde die Zahlungsmethode (standardmäßig Flutterwave). Im Schritt Confirm Order sieht der Kunde Ihre Beschreibung und den Hinweis You will be redirected to the Flutterwave checkout page. OpenCart legt die Bestellung in diesem Schritt an, noch ohne Status. Bei OpenCart 4 wählt der Kunde die Zahlungsmethode mit der Schaltfläche Choose des Zahlungsmethoden-Blocks im Fenster Payment method options und klickt unten auf der Kassenseite auf Confirm Order. Wenn der Kunde auf Confirm Order klickt, erstellt die Erweiterung eine Flutterwave-Zahlung über die Bestellsumme in der Bestellwährung, mit der E-Mail-Adresse des Kunden, Telefonnummer und Name der Zahlungsadresse, Ihrem Shopnamen und Logo sowie Payment for order mit der Bestellnummer, und leitet den Kunden zur Flutterwave-Kasse weiter. Eine gültige E-Mail-Adresse ist erforderlich. Dort bezahlt der Kunde mit einer der in Ihrem Konto aktivierten Methoden (oder mit den unter Payment Options aufgeführten).
Nach der Zahlung kehrt der Kunde in Ihren Shop zurück. Die Bestellung wird erst als bezahlt markiert, wenn Flutterwave sie bestätigt: über den Webhook oder durch eine serverseitige Prüfung, wenn der Kunde zurückkehrt. Danach erhält die Bestellung ihren Status auf die übliche OpenCart-Weise, mit den üblichen Bestell-E-Mails und der Bestandsaktualisierung, und der Kunde sieht die Erfolgsseite der OpenCart-Bestellung. Ist die Zahlung noch ausstehend, zum Beispiel eine Banküberweisung, USSD- oder Mobile-Money-Zahlung, erhält die Bestellung Awaiting Payment Status, und die Seite zeigt außerdem Your payment is being confirmed by Flutterwave. You will receive an e-mail as soon as it is confirmed. Wenn Flutterwave die Zahlung bestätigt, wechselt die Bestellung in den Status „bezahlt“, und der Kunde wird per E-Mail benachrichtigt. Wurde die Bestellung zur Prüfung zurückgehalten, weil der bezahlte Betrag nicht zur Bestellung passt, zeigt die Seite Your payment was received and your order is being reviewed. We will contact you if anything is needed. Scheitert eine ausstehende Zahlung später und kehrt der Kunde zur Bestellung zurück, zeigt die Seite Your Flutterwave payment was not completed. Please contact us about this order.
Wenn Flutterwave bei der Rückkehr des Kunden nicht erreichbar ist, sagt eine Seite Payment confirmation: Your payment is being confirmed by Flutterwave. Your order will be confirmed as soon as Flutterwave confirms it — please do not pay again. Dazu gibt es die Schaltflächen Check again und Back to checkout. Der Webhook setzt den Bestellstatus, sobald er eintrifft.
Wird die Zahlung abgelehnt, kehrt der Kunde mit Your payment was declined. You can try again or choose another payment method. zur Kasse zurück. Bricht der Kunde auf der Flutterwave-Seite ab, lautet die Meldung Payment was cancelled. You can try again or choose another payment method. Wurde die Zahlung nicht abgeschlossen, lautet die Meldung The payment was not completed. You can try again or choose another payment method. Konnte die Zahlung nicht geprüft werden, lautet die Meldung Payment verification failed. Please contact support. Die Bestellung bleibt ohne Status, und der Warenkorb wird beibehalten, sodass der Kunde erneut bezahlen kann. Bei OpenCart 4 werden diese Meldungen oberhalb der Kassenseite angezeigt.
OpenCart 3 legt jedes Mal, wenn der Schritt Confirm Order angezeigt wird, eine neue Bestellung an; OpenCart 4 aktualisiert die Bestellung des Kassenvorgangs, sodass ein neuer Versuch dieselbe Bestellung bezahlt. Jeder Versuch erhält eine eigene Referenz. Vor einer neuen Zahlung werden die offenen und ausstehenden Zahlungen dieser Bestellung und anderer Bestellungen desselben Warenkorbs der letzten 24 Stunden bei Flutterwave geprüft. Ist eine davon bezahlt, bestätigt sie ihre Bestellung, und der Kunde gelangt zur Erfolgsseite, statt erneut zu zahlen. Wurde derselbe Warenkorb bereits über eine andere Bestellung mit Flutterwave bezahlt, wird ebenfalls keine neue Zahlung gestartet. Ein älterer Zahlungslink, der später bezahlt wird, wird weiterhin akzeptiert. Wird derselbe Warenkorb doppelt bezahlt, etwa in zwei Browser-Tabs, erhält nur die erste Zahlung ihre Bestellung als Status: die andere Bestellung bleibt ohne Status, und die bezahlte Bestellung erhält eine Notiz, dass Sie die zweite Zahlung im Flutterwave-Dashboard erstatten sollten.
OpenCart 4 behält die Bestellung in der Kasse, bis die Erfolgsseite angezeigt wird. Wurde diese Bestellung inzwischen ohne Zahlung geschlossen (zum Beispiel, weil ihre ausstehende Zahlung fehlgeschlagen ist oder Sie sie abgebrochen haben), wird der Kunde mit der Meldung zur abgelehnten Zahlung zurück zur Kasse geschickt, und die nächste Confirm Order-Bestätigung bezahlt eine neue Bestellung des Warenkorbs. Haben Sie die Bestellung nach der Zahlung geschlossen, lautet die Meldung This order can no longer be paid (it was closed by the store). Please confirm your order again. Ist diese Bestellung bereits bezahlt, der Warenkorb seitdem aber geändert (auch eine neue Menge), lautet die Meldung Your previous order is already paid. Please confirm the order again: the cart will be paid with a new order. Eine bezahlte Bestellung wird nie als bezahlt für einen anderen Warenkorb angezeigt.
Kann Flutterwave die Zahlung nicht starten, bleibt der Kunde im Schritt Confirm Order mit einer kurzen Meldung, zum Beispiel Flutterwave is temporarily unavailable. Please try again in a moment or choose another payment method. Der technische Grund wird ins Protokoll geschrieben.
Der Webhook und die Rückkehr-URL funktionieren auch, während der Shop im Wartungsmodus ist, weil OpenCart 3 Anfragen von Zahlungserweiterungen durchlässt und die Erweiterung dafür bei OpenCart 4 eine Startaktion hinzufügt.
Die Erweiterung unterstützt nur einmalige Zahlungen. Sie hat keine eingebettete oder modale Kasse auf Ihrer Website, keine gespeicherten Karten, Abonnements, Teilzahlungen oder Zahlungspläne. Gehostete Zahlungslinks können über die Flutterwave-API nicht storniert werden, daher kann ein alter Link weiterhin bezahlt werden.
Bestellungen und Erstattungen
Bestellstatus
Ohne Status (missing order): der Kunde wurde zu Flutterwave weitergeleitet und hat nicht bezahlt, die Zahlung wurde abgelehnt oder storniert, oder Flutterwave hat die Zahlung noch nicht bestätigt. Unter Sales > Orders werden solche Bestellungen nur mit dem Filter Order Status auf Missing Orders angezeigt.
Paid Order Status (Standard Verarbeitung) oder Complete Order Status (Standard Abgeschlossen): die Zahlung wurde bestätigt. Complete Order Status wird verwendet, wenn Autocomplete Orders eingeschaltet ist. Eine Notiz zeigt den Betrag, die Zahlungsmethode, die Flutterwave-Referenz, die Transaktion und den Modus.
Awaiting Payment Status (Standard Ausstehend): der Kunde ist zurückgekehrt, während die Zahlung bei Flutterwave noch ausstand. Die Bestellung wechselt in den bezahlt-Status, sobald Flutterwave die Zahlung bestätigt.
On Hold (Review) Status (Standard Ausstehend): der geprüfte Betrag oder die Währung stimmte nicht mit der Bestellung überein, oder die Zahlung traf ein, nachdem der Bestellung ein Status ohne Zahlung zugewiesen worden war, zum Beispiel Storniert. Der tatsächlich gezahlte Betrag und die Währung werden erfasst, und die Notiz erklärt dies. Bearbeiten Sie die Bestellung oder erstatten Sie die Zahlung. Hatte die Bestellung bereits einen anderen Verarbeitungsstatus, wird nur eine Notiz hinzugefügt.
Failed Status (Standard Fehlgeschlagen): Flutterwave hat den letzten Zahlungsversuch einer wartenden Bestellung als fehlgeschlagen oder storniert gemeldet. Die Notiz zeigt den Grund. Ältere Versuche und bezahlte Bestellungen werden nicht verändert.
Refunded Status (Standard Erstattet): die Zahlung wurde über die Erweiterung vollständig erstattet.
Geht eine zweite Zahlung für eine bereits bezahlte Bestellung ein, bleibt die Bestellung unverändert. Eine Notiz bittet Sie, das Duplikat im Flutterwave-Dashboard zu erstatten.
Notizen sind Einträge im History der Bestellung, die der Kunde nicht sieht.
Registerkarte VibeFox Flutterwave Payment
Öffnen Sie unter Sales > Orders eine mit Flutterwave bezahlte Bestellung. Am Ende der Bestellseite, neben History und Additional, zeigt die Registerkarte VibeFox Flutterwave Payment die Transaction reference, den Mode (Test oder Live), den Status der Zahlung, die Transaction ID, die Flutterwave reference, die Payment type, die Beträge Paid / refunded, das Erstattungsformular, den Erstattungsverlauf und die Flutterwave notes der Bestellung. Die Registerkarte wird Benutzern angezeigt, die Zugriff auf die Erweiterung haben.
Erstattungen
Geben Sie auf der Registerkarte den Amount ein (der noch nicht erstattete Betrag wird eingetragen), optional einen Reason (optional), und klicken Sie auf Refund via Flutterwave. Bestätigen Sie die Frage Refund this amount through Flutterwave? This cannot be undone. Vollständige und teilweise Erstattungen werden unterstützt. Sie benötigen das Recht, die Erweiterung zu ändern (einzustellen unter System > Users > User Groups). Erstattungen erfolgen in dem Betrag und in der Währung, die Flutterwave belastet hat. Nach einer Abweichung bei Betrag oder Währung können Sie daher bis zu dem erstatten, was der Kunde tatsächlich bezahlt hat, nicht die Bestellsumme. Die Erstattung wird mit dem geheimen Schlüssel des Modus gesendet, in dem die Zahlung erfolgte (Test oder Live), daher muss dieser Schlüssel gesetzt sein. Lehnt Flutterwave die Erstattung ab, zeigt die Registerkarte den Fehler, und es wird keine Erstattung erfasst. Eine erfolgreiche Erstattung wird dem Erstattungsverlauf und den Notizen mit der Erstattungs-ID und dem Status hinzugefügt (abgeschlossen oder eingeleitet, mit dem Status laut Flutterwave). Eine vollständige Erstattung setzt die Bestellung auf den Refunded Status, ohne den Kunden zu benachrichtigen und ohne Produkte wieder in den Bestand zu übernehmen, wie bei einer manuellen Statusänderung. Eine teilweise Erstattung ändert den Status nicht. Erstattungen sind verfügbar, sobald Flutterwave die Zahlung bestätigt hat.
Produktrückgaben unter Sales > Returns senden über Flutterwave kein Geld zurück. Im Flutterwave-Dashboard vorgenommene Erstattungen werden nicht zurück in OpenCart synchronisiert. Aktualisieren Sie bei Bedarf den Bestellstatus manuell.
Lizenzschlüssel
Die Erweiterung arbeitet mit einem VibeFox-Lizenzschlüssel von vibefox.net. Der Lizenzblock License — VibeFox Flutterwave Payment ist der erste Block auf Extensions > Extensions > Payments > VibeFox Flutterwave Payment > Edit, oberhalb der Einstellungen. Fügen Sie den Schlüssel in License key ein und klicken Sie auf Activate. Danach zeigt der Block den maskierten Schlüssel, den Status (zum Beispiel das Datum, bis zu dem die Lizenz aktiv ist, und Ihre Domain) sowie die Schaltflächen Check now, um den Status erneut zu prüfen, Change key, um einen anderen Schlüssel einzugeben, und Remove key, um den Schlüssel aus diesem Shop zu entfernen. Darunter stehen die Zeile Product: opencart-payment-flutterwave und der Link Manage licenses and domains in your account, der Ihr Konto auf vibefox.net öffnet. Nur Admin-Benutzer mit dem Recht Modify für die Erweiterung können den Schlüssel ändern. Die Texte des Blocks folgen der Admin-Sprache (Englisch und Russisch sind enthalten).
Wird der Schlüssel nicht akzeptiert, nennt der Block den Grund, zum Beispiel Key not found, This key belongs to another product, Domain limit reached oder License expired on mit einem Datum. Nach einer Änderung der Shop-Adresse oder nachdem Sie einen Domain-Platz in Ihrem Konto freigegeben haben, klicken Sie auf Check now. Ist der Lizenzserver nicht erreichbar, arbeitet die Erweiterung mit dem zuletzt bekannten Status weiter.
Ein Schlüssel funktioniert für eine Domain: die Shop-Adresse aus der OpenCart-Konfiguration. Das Entfernen des Schlüssels aus dem Shop gibt seinen Domain-Platz nicht frei. Geben Sie den Platz in Ihrem vibefox.net-Konto frei.
Ohne aktiven Schlüssel wird Flutterwave Kunden an der Kasse nicht angezeigt. Wird trotzdem eine Zahlung gestartet, sieht der Kunde This payment method is not available. Please choose another one. Ein Admin-Benutzer, der im selben Browser im Admin angemeldet ist, sieht die Zahlungsmethode im Shop weiterhin, markiert mit (unlicensed — visible to admins only). So können Sie die Erweiterung einrichten und testen, bevor Sie einen Schlüssel kaufen. Bei OpenCart 4 ist diese Vorschau nicht verfügbar: Der Shop erkennt die Anmeldung im Admin nicht, daher ist ohne aktiven Schlüssel die Zahlungsmethode für alle ausgeblendet. Nachdem Sie die Seite Edit einmal geöffnet haben, erscheint auf dem Dashboard des Admin eine Erinnerung. Schließen Sie sie mit ×, um sie 7 Tage lang auszublenden. Bestehende Bestellungen sind nicht betroffen: bereits gestartete Zahlungen werden weiterhin bestätigt, und Erstattungen funktionieren.
Läuft eine Lizenz ab, arbeitet die Erweiterung weiter, aber Updates und Support erfordern eine Verlängerung. Der Status wird automatisch erneut geprüft, wenn Sie das Dashboard des Admin oder die Seite Edit öffnen: einmal täglich in den ersten 14 Tagen nach der Eingabe des Schlüssels, danach einmal pro Woche. Ein Cron-Job ist nicht nötig. Das Deinstallieren der Erweiterung entfernt immer den Lizenzschlüssel und den Lizenzstatus.
Fehlerbehebung
Flutterwave erscheint nicht an der Kasse: prüfen Sie, ob die Lizenz aktiv ist, Enable/Disable eingeschaltet ist und der geheime Schlüssel des aktuellen Modus ausgefüllt ist und zum Modus passt: ein Testschlüssel (FLWSECK_TEST-…) im Testmodus, ein Live-Schlüssel (FLWSECK-…) im Live-Modus. Die Einstellungsseite zeigt andernfalls eine Warnung. Prüfen Sie außerdem, ob die Zahlungsadresse in der gewählten Geo Zone liegt und ob die Bestellung den in den Einstellungen festgelegten Total erreicht.
Die Zahlung ist erfolgt, aber die Bestellung bleibt ohne Status: der Webhook funktioniert nicht. Prüfen Sie im Flutterwave-Dashboard, ob die Webhook-URL genau der unter Webhook URL angezeigten entspricht, und zwar im verwendeten Modus (Test oder Live), und ob ihr geheimer Hash mit Secret Hash in der Erweiterung übereinstimmt. Ausstehende Banküberweisungen, USSD- und Mobile-Money-Zahlungen bleiben ausstehend, bis Flutterwave sie bestätigt. Die Bestellung erhält ihren Status auch, wenn der Kunde nach der Zahlung in den Shop zurückkehrt. Aktivieren Sie Debug log und sehen Sie im Feld Log auf der Erweiterungsseite nach.
Der Webhook antwortet Invalid hash oder Secret hash not configured: der geheime Hash im Flutterwave-Dashboard unterscheidet sich von dem in der Erweiterung, oder die Erweiterung hat keinen. Tragen Sie an beiden Stellen denselben Wert ein.
Der Webhook antwortet Verification failed, Busy, retry later oder Order could not be updated, retry later: Flutterwave konnte zur Prüfung der Zahlung nicht erreicht werden, die Transaktion ist noch nicht sichtbar, die Bestellung wurde gerade von einer anderen Anfrage verarbeitet, oder ihr Status konnte nicht gesetzt werden. Flutterwave wiederholt den Webhook. Das Protokoll zeigt den Grund.
Die Webhook-URL zeigt im Browser Empty body: das ist normal. Die URL akzeptiert nur Webhooks von Flutterwave.
Der Kunde sieht Payment gateway is not properly configured: der geheime Schlüssel des aktuellen Modus fehlt oder gehört zum anderen Modus.
Der Kunde sieht This payment method is not available: die Kassensitzung passt nicht mehr zur Bestellung, oder die Zahlungsmethode wurde inzwischen deaktiviert. Der Kunde lädt die Kasse neu.
Der Kunde sieht We could not match this payment to an order: der Rücklink gehört nicht zu einer Zahlung dieser Bestellung. Wurde der Kunde belastet, suchen Sie die Zahlung im Flutterwave-Dashboard.
Flutterwave zeigt auf seiner Seite einen Fehler, oder der Kunde sieht Flutterwave could not start the payment: Ihr Flutterwave-Konto unterstützt möglicherweise die Bestellwährung oder die gewählten Zahlungsoptionen nicht.
Die Bestellung ist nach der Zahlung im Status „on hold“: lesen Sie die Notizen auf der Registerkarte VibeFox Flutterwave Payment (siehe Bestellstatus) und bearbeiten Sie dann die Bestellung oder erstatten Sie die Zahlung.
Kein Erstattungsformular auf der Registerkarte: die Registerkarte nennt den Grund: Die Zahlung ist noch nicht bestätigt, sie ist vollständig erstattet, Ihre Benutzergruppe hat kein Recht, die Erweiterung zu ändern, oder der geheime Schlüssel des Modus der Zahlung ist nicht konfiguriert.
Erstattung schlägt fehl mit einer Meldung zum Modus: die Zahlung erfolgte im Test- oder Live-Modus, und der geheime Schlüssel dieses Modus ist nicht konfiguriert. Tragen Sie ihn ein und versuchen Sie es erneut.
Die Erstattung antwortet Another operation on this payment is running: in diesem Moment wurde eine weitere Erstattung derselben Bestellung gesendet. Warten Sie einen Moment, prüfen Sie den Erstattungsverlauf und versuchen Sie es bei Bedarf erneut.
Für Entwickler löst die Erweiterung die OpenCart-Ereignisse flwv_payment_request (an Flutterwave gesendete Daten) und flwv_currency_decimals (Währungsgenauigkeit) aus.
Deinstallation
Gehen Sie zu Extensions > Extensions, wählen Sie den Typ Payments und klicken Sie neben VibeFox Flutterwave Payment auf Uninstall (die rote −-Schaltfläche). Der Lizenzschlüssel und der Lizenzstatus dieser Erweiterung werden immer entfernt. OpenCart entfernt immer die eigenen Einstellungen der Erweiterung: Enable/Disable, Sort Order, Geo Zone, Total und die Bestellstatus im Abschnitt Orders, die bei einer Neuinstallation auf ihre Standardwerte zurückgesetzt werden. Auch das OpenCart-Ereignis der Erweiterung wird entfernt (bei OpenCart 4 auch deren Ereignisse und die Startaktion, die den Webhook und die Rückkehr-URL im Wartungsmodus durchlässt). Ist Delete data on uninstall eingeschaltet, werden die übrigen Einstellungen (Titel, Beschreibung, Modus, Schlüssel, geheimer Hash, Zahlungsoptionen, Autocomplete, Schalter des Debug-Logs) und das Protokoll entfernt. Ist die Option ausgeschaltet, bleiben sie für eine spätere Neuinstallation erhalten. Die Zahlungs- und Erstattungsdaten von Flutterwave bleiben immer erhalten, sodass früher bezahlte Bestellungen auch nach einer Neuinstallation erstattet werden können. Bestehende Bestellungen behalten ihre Zahlungsnotizen.
Bei OpenCart 4 entfernen Sie die Dateien der Erweiterung ebenfalls: Gehen Sie nach der Deinstallation zu Extensions > Installer und klicken Sie neben VibeFox Flutterwave Payment in der Liste der installierten Erweiterungen auf Uninstall (die orangefarbene −-Schaltfläche), dann auf Delete (die rote Papierkorb-Schaltfläche), um das hochgeladene Paket zu entfernen.
Flutterwave ist eine Marke ihres jeweiligen Inhabers. Diese Erweiterung ist weder mit Flutterwave verbunden, noch wird sie von Flutterwave unterstützt.
