Zurück

VibeFox Cashfree 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.

HTTPS: Cashfree liefert Webhooks nur an https://-Adressen aus. Ohne HTTPS werden Zahlungen weiterhin bestätigt, wenn der Kunde in den Shop zurückkehrt, aber aktivieren Sie HTTPS, bevor Sie live gehen.

Cashfree-Konto: Sie benötigen die App ID und den Secret Key Ihres Cashfree-Kontos, jeweils getrennt für die Testumgebung (Sandbox) und die Produktivumgebung, sowie einen Webhook im Cashfree Merchant Dashboard (siehe Konfiguration). Der Secret Key wird auch zur Überprüfung von Webhooks verwendet, daher gibt es keinen separaten Webhook-Schlüssel. Die Bestellwährung muss für Ihr Cashfree-Konto aktiviert sein.

VibeFox-Lizenzschlüssel: 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_cashfree_payment-oc3-(version).ocmod.zip und das Paket für OpenCart 4 wcp_cashfree_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-Bereich zu Extensions > Installer, klicken Sie auf Upload und wählen Sie die Datei wcp_cashfree_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 Cashfree Payments 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 License key im Lizenzblock oben auf der Seite ein und klicken Sie auf Activate (siehe Lizenzschlüssel).

4. Geben Sie die Sandbox App ID und den Sandbox Secret Key ein, fügen Sie den Webhook im Cashfree Merchant Dashboard hinzu (siehe Konfiguration), schalten Sie Enable/Disable ein, klicken Sie auf Save und testen Sie eine Zahlung.

5. Wenn alles bereit ist, geben Sie die Live-App ID und den Secret Key ein, schalten Sie Sandbox Mode aus und klicken Sie auf Save.

OpenCart 4

1. Gehen Sie im Admin-Bereich zu Extensions > Installer, klicken Sie auf Upload und wählen Sie die Datei wcp_cashfree_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 auf derselben Seite in der Liste der installierten Erweiterungen. Klicken Sie daneben auf Install (der grüne +-Button).

3. Gehen Sie zu Extensions > Extensions und wählen Sie den Typ Payments. Suchen Sie VibeFox Cashfree Payments, klicken Sie auf Install (der grüne +-Button) und dann auf Edit (der Stift-Button).

4. Fügen Sie den Lizenzschlüssel und die Cashfree-Schlüssel ein und richten Sie den Webhook ein, wie in den Schritten 3 bis 5 für OpenCart 3. Die Einstellungsseite und ihre Felder sind in beiden Versionen gleich. Nur die Webhook-URL ist anders (siehe Webhook).

Eine neue Installation startet mit ausgeschalteter Zahlungsart und eingeschaltetem Sandbox-Modus.

Konfiguration

Alle Einstellungen befinden sich auf der Erweiterungsseite: Extensions > Extensions > Payments > VibeFox Cashfree Payments > Edit. Die Abschnitte sind links aufgelistet; die Schaltfläche Save unter der Liste speichert die gesamte Seite. Oberhalb der Einstellungen erklärt die Seite, dass die Bestellung erst nach der Bestätigung der Zahlung durch Cashfree einen Status erhält. Ist die Zahlungsart aktiviert, warnt die Seite, wenn die API-Schlüssel des gewählten Modus fehlen (die Zahlungsart wird dann in der Kasse ausgeblendet), und zeigt Sandbox mode is on: customers see a test checkout and no real money is charged., solange der Sandbox-Modus eingeschaltet ist. Ohne das Recht, die Erweiterung zu ändern, zeigt die Seite die Einstellungen an, kann sie aber nicht speichern.

Beim Speichern darf Title nicht leer sein (höchstens 128 Zeichen), API Version muss eine der aufgelisteten Versionen sein, Sort Order muss eine ganze Zahl sein, Total muss eine Zahl von 0 oder mehr sein, und die Geozone sowie die Bestellstatus müssen vorhanden sein; andernfalls wird nichts gespeichert. Wenn Sie eine aktivierte Zahlungsart ohne die Schlüssel des gewählten Modus speichern, werden die Einstellungen mit einer Warnung gespeichert, dass sie in der Kasse ausgeblendet bleibt, bis die Schlüssel eingetragen sind.

Cashfree Payments

Enable/Disable: Enable Cashfree Payments schaltet die Zahlungsart ein oder aus. Standard: aus.

Title: der Name der Zahlungsart, den der Kunde in der Kasse sieht. Er wird auch als Name der Zahlungsart in der Bestellung gespeichert. Standard: Cashfree Payments. Pflichtfeld.

Description: der Text, den der Kunde im Schritt Confirm Order oberhalb der Bestätigungsschaltfläche sieht. Standard: Pay securely via Card, UPI, Net Banking, Wallet via Cashfree.

Sort Order: die Position von Cashfree unter den Zahlungsarten in der Kasse. Lassen Sie das Feld leer oder geben Sie eine ganze Zahl ein.

Geo Zone: Cashfree nur für Zahlungsadressen in der gewählten Geozone anbieten. Standard: All zones. Geozonen werden unter System > Localisation > Geo Zones eingerichtet.

Total: der Kassenbetrag in der Standardwährung des Shops, den eine Bestellung erreichen muss, bevor Cashfree angeboten wird. Lassen Sie das Feld leer, um Cashfree bei jedem Betrag anzubieten. Beträge unterhalb des Cashfree-Mindestbetrags der Währung (1 Einheit; 0,01 oder 0,1 bei Währungen mit drei Dezimalstellen) werden nie angeboten.

Modus und API-Schlüssel

Ihre App ID und Ihren Secret Key finden Sie im Cashfree Merchant Dashboard unter Developers > API Keys (die Seite verlinkt dorthin). Test- und Produktionsschlüssel sind unterschiedlich.

Sandbox Mode: nutzt die Cashfree-Sandbox zum Testen. Es wird kein echtes Geld belastet, und der Schritt Confirm Order sowie die Zahlungsseite zeigen SANDBOX MODE - no real payments will be processed. Standard: an. Für Live-Zahlungen ausschalten.

Sandbox App ID: die App ID Ihrer Cashfree-Testumgebung.

Sandbox Secret Key: der Secret Key Ihrer Cashfree-Testumgebung.

App ID: die App ID Ihrer Cashfree-Produktionsumgebung.

Secret Key: der Secret Key Ihrer Cashfree-Produktionsumgebung.

Gespeicherte Secret Keys werden nie wieder angezeigt. Das Feld bleibt leer und zeigt Gespeichert — leer lassen, um es beizubehalten. Geben Sie nur dann einen neuen Wert ein, wenn Sie ihn ändern möchten. Um einen gespeicherten Schlüssel zu entfernen, setzen Sie unter dem Feld das Häkchen bei Clear the saved value on save und klicken Sie auf Save.

Zahlungen behalten die Umgebung, in der sie erstellt wurden. Ihre Webhooks werden geprüft, ihr Status wird abgefragt und ihre Erstattungen werden mit den Schlüsseln dieser Umgebung gesendet. Lassen Sie daher die Sandbox-Schlüssel ausgefüllt, bis Sandbox-Zahlungen nach dem Wechsel auf Live abgeschlossen sind.

Webhook

Der Webhook teilt Ihrem Shop mit, dass eine Zahlung eingegangen, fehlgeschlagen oder erstattet wurde. Gehen Sie im Cashfree Merchant Dashboard zu Developers > Webhooks und fügen Sie die URL hinzu, die in diesem Abschnitt unter Webhook URL angezeigt wird, mit den Ereignissen Payment und Refund. Auf OpenCart 3 sieht sie etwa so aus: https://your-store/index.php?route=extension/payment/wcp_cashfree_payment/webhook, auf OpenCart 4 so: https://your-store/index.php?route=extension/wcp_cashfree_payment/payment/wcp_cashfree_payment.webhook. Sie wird aus der Storefront-Adresse Ihrer OpenCart-Installation gebildet. Kopieren Sie die URL genau so, wie die Einstellungen sie anzeigen. Bei einem HTTPS-Shop übergibt die Erweiterung diese URL bei jeder Zahlung auch an Cashfree. Wenn Ihr Shop kein HTTPS verwendet, zeigt dieser Abschnitt eine Warnung.

Die Erweiterung verarbeitet diese Ereignisse (sie sind ebenfalls in diesem Abschnitt aufgelistet):

PAYMENT_SUCCESS_WEBHOOK: die Zahlung war erfolgreich. Die Bestellung erhält ihren Status nach der Prüfung von Betrag und Währung.
PAYMENT_FAILED_WEBHOOK: die Zahlung ist fehlgeschlagen. Die Bestellung bleibt ohne Status; der Kunde kann erneut bezahlen.
PAYMENT_USER_DROPPED_WEBHOOK: der Kunde hat die Zahlung abgebrochen. Die Bestellung bleibt ohne Status; der Kunde kann erneut bezahlen.
REFUND_STATUS_WEBHOOK and AUTO_REFUND_STATUS_WEBHOOK: der Status einer Erstattung hat sich geändert. Eine Notiz mit Erstattungs-ID, Betrag und Status wird hinzugefügt, und der Erstattungsverlauf zeigt den neuen Status an.

Cashfree signiert jeden Webhook mit Ihrem Secret Key. Webhooks ohne gültige Signatur werden abgelehnt. Ein Webhook muss mit dem Secret Key der Umgebung signiert sein, in der die Zahlung erfolgt ist; daher bestätigt ein Sandbox-Schlüssel niemals eine Live-Zahlung. Signierte Webhooks für Zahlungen, die nicht von diesem Shop gestartet wurden (zum Beispiel ein anderer Shop auf demselben Cashfree-Konto), werden quittiert und ignoriert. Ohne den Webhook wird eine Bestellung nur bestätigt, wenn der Kunde nach der Zahlung in den Shop zurückkehrt. Schließt der Kunde nach der Zahlung den Browser, kann nur der Webhook (oder der nächste Zahlungsversuch für denselben Warenkorb) die Bestellung bestätigen.

Bestellungen

OpenCart erstellt die Bestellung im Schritt Confirm Order ohne Status (eine fehlende Bestellung). Die Bestellung erhält erst dann einen Status, wenn Cashfree die Zahlung bestätigt hat. Eine fehlgeschlagene oder abgebrochene Zahlung lässt die Bestellung ohne Status, und der Warenkorb bleibt erhalten. Jedes Feld unten listet Ihre OpenCart-Bestellstatus auf.

Order Status After Payment: der Status, der gesetzt wird, nachdem die Zahlung bestätigt wurde und Betrag und Währung übereinstimmen. Standard: Verarbeitung.

On Hold (Review) Status: Cashfree hat einen gezahlten Betrag oder eine Währung gemeldet, die von der Bestellsumme abweicht. Eine Notiz zeigt den erwarteten und den erhaltenen Betrag. Standard: Ausstehend, da OpenCart keinen Status In Wartestellung hat. Sie können unter System > Localisation > Order Statuses einen eigenen Status anlegen und hier auswählen.

Refunded Status: wird gesetzt, nachdem die Zahlung auf der Bestellseite vollständig erstattet wurde. Standard: Erstattet.

Erweitert

API Version: die zu verwendende Cashfree-API-Version.

v1 (2022-09-01): Standard.
v2 (2023-08-01): die neuere API-Version.

Order ID prefix: Cashfree-Bestell-IDs werden als Präfix + OpenCart-Bestell-ID gebildet; ein neuer Versuch für dieselbe Bestellung erhält eine Nummer am Ende (zum Beispiel 123-2). Lassen Sie das Feld leer, um das automatische Präfix dieses Shops zu verwenden, das in der Feldbeschreibung angezeigt wird (OC, vier Buchstaben aus der Shop-Adresse, gefolgt von einem Bindestrich). Verwenden Sie für jeden Shop, der mit demselben Cashfree-Konto verbunden ist, ein anderes Präfix. Nur Buchstaben, Ziffern, „_“ und „-“, bis zu 20 Zeichen. Andere Zeichen werden beim Speichern mit einer Warnung entfernt.

Debug log: Fehler werden immer protokolliert. Wenn eingeschaltet, werden Cashfree-API-Aufrufe und Webhooks zusätzlich in cashfree_p_debug.log.php im Logs-Ordner von OpenCart (storage/logs) geschrieben. Die Datei kann nicht über das Web geöffnet werden, und bei 5 MB wird sie rotiert. Schlüssel und Kundendaten werden nie protokolliert. Standard: aus.

Log: zeigt die Größe und die neuesten Einträge des Protokolls an. Klicken Sie auf Clear log, um es zu leeren.

Delete Data on Uninstall: wenn eingeschaltet, entfernt die Deinstallation der Erweiterung die Cashfree-Einstellungen und das Erweiterungsprotokoll. Bestellungen sowie ihre Cashfree-Transaktionen und -Erstattungen bleiben immer erhalten. Standard: aus.

Import / Export

Export: Download JSON speichert die Einstellungen als JSON-Datei. Secret Keys werden nicht exportiert.

Import: Fügen Sie zuvor exportiertes JSON ein und klicken Sie auf Import, um die Einstellungen wiederherzustellen. Gespeicherte Secret Keys bleiben erhalten.

Kasse

Im Schritt Payment Method wählt der Kunde die Zahlungsart (standardmäßig Cashfree Payments). Im Schritt Confirm Order sieht der Kunde Ihre Beschreibung und den Hinweis Sie werden zur Cashfree-Kasse weitergeleitet, um sicher zu bezahlen (Karten, UPI, Online-Banking, Wallets). OpenCart erstellt die Bestellung in diesem Schritt, weiterhin ohne Status. Wenn der Kunde auf Confirm Order klickt, erstellt die Erweiterung eine Cashfree-Bestellung für die Bestellsumme in der Bestellwährung und öffnet eine Cashfree payment-Seite, die Weiterleitung zu Cashfree zur Zahlung... anzeigt und die Cashfree-Kasse lädt. Öffnet sie sich nicht von selbst, kann der Kunde auf Pay Now klicken. Auf der Cashfree-Kasse bezahlt der Kunde mit einer beliebigen Methode, die in Ihrem Cashfree-Konto aktiviert ist, zum Beispiel Karte, UPI, Online-Banking oder Wallet. Die E-Mail-Adresse und Telefonnummer des Kunden werden an Cashfree übergeben. In OpenCart 4 wählt der Kunde die Zahlungsart mit dem Button Choose im Block der Zahlungsart, im Fenster Payment method options, und klickt unten auf der Kassenseite auf Confirm Order. OpenCart 4 fragt standardmäßig keine Telefonnummer ab: Fehlt sie in der Bestellung, zeigt der Bestätigungsblock ein optionales Feld Phone (Optional: die Telefonnummer des Zahlers für Cashfree (UPI, OTP).). Ein falsches Format ergibt Bitte geben Sie eine gültige Telefonnummer ein (10 Ziffern oder + und die Ländervorwahl) oder lassen Sie das Feld leer. Die Nummer wird für den nächsten Versuch gespeichert.

Nach der Zahlung kehrt der Kunde in Ihren Shop zurück. Die Bestellung wird erst als bezahlt markiert, wenn Cashfree die Zahlung bestätigt: durch den signierten Webhook oder durch eine serverseitige Anfrage an Cashfree, wenn der Kunde zurückkehrt. Die Bestellung erhält ihren Status dann auf die übliche OpenCart-Weise, mit den üblichen Bestell-E-Mails und der Bestandsaktualisierung, und der Kunde sieht die OpenCart-Erfolgsseite der Bestellung. Die Rückkehr funktioniert auch in einem anderen Browser, zum Beispiel wenn der Kunde aus einer UPI-App zurückkommt. Hat die Bank die Zahlung noch nicht bestätigt, zeigt eine Seite Payment confirmation den Hinweis Your payment is being processed by the bank. We will update the order as soon as Cashfree confirms it — please do not pay again. und eine Schaltfläche Check again; der Webhook setzt den Bestellstatus, sobald die Bank die Zahlung bestätigt. Auf OpenCart 4 sendet der Browser die Shop-Sitzung nicht mit, wenn Cashfree den Kunden zurückschickt. Daher zeigt die Erweiterung zuerst eine kurze Seite, die dieselbe Rücksprungadresse noch einmal aus Ihrem Shop öffnet: Der Kunde behält Warenkorb und Anmeldung.

Schlägt die Zahlung fehl oder verlässt der Kunde die Cashfree-Seite, ohne zu bezahlen, kehrt er zur Kasse zurück, mit Die Cashfree-Zahlung wurde nicht abgeschlossen. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsart. Auf OpenCart 4 werden die Meldungen der Kasse über der Kassenseite angezeigt. Die Bestellung bleibt ohne Status und der Warenkorb wird beibehalten. OpenCart 3 erstellt jedes Mal eine neue Bestellung, wenn der Schritt Confirm Order angezeigt wird; OpenCart 4 behält eine Bestellung für die Kasse und aktualisiert sie, sodass der Kunde dieselbe Bestellung erneut bezahlt. Eine offene Cashfree-Zahlung derselben Bestellung wird wiederverwendet, wenn der Betrag unverändert ist und noch mehr als fünf Minuten übrig sind; andernfalls wird die alte Cashfree-Bestellung geschlossen und eine neue erstellt. Auch die offenen Cashfree-Zahlungen früherer Bestellungen desselben Warenkorbs werden geschlossen, damit der Warenkorb nicht zweimal bezahlt werden kann. Wurde der Warenkorb bei Cashfree bereits bezahlt, aber nicht erfasst, bestätigt der nächste Versuch diese Zahlung, statt erneut zu belasten. Ein Warenkorb, der bereits mit einer anderen Bestellung bezahlt wurde, wird nicht erneut belastet: Der Kunde gelangt zur Erfolgsseite. Wird derselbe Warenkorb trotzdem zweimal bezahlt (zum Beispiel in zwei Browser-Tabs gleichzeitig), erhält die zweite Bestellung keinen Status, und die bezahlte Bestellung erhält eine Notiz, dass der Kunde möglicherweise zweimal belastet wurde, damit Sie sie im Cashfree-Dashboard erstatten können.

Auf OpenCart 4 bleibt die Bestellung in der Kasse, bis die Erfolgsseite angezeigt wird. Wurde diese Bestellung inzwischen ohne Zahlung geschlossen (zum Beispiel weil sie storniert wurde) und hat Cashfree dafür kein Geld, wird der Kunde mit Die Cashfree-Zahlung wurde nicht abgeschlossen. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsart. zur Kasse zurückgeschickt, und das nächste Confirm Order bezahlt eine neue Bestellung des Warenkorbs. Hat die Bestellung bereits einen Status und hat sich der Warenkorb seither geändert (andere Produkte oder Mengen), wird der Kunde mit Ihre vorherige Bestellung wurde bereits aufgegeben. Bitte bestätigen Sie die Bestellung erneut: Der aktuelle Warenkorb wird mit einer neuen Bestellung bezahlt. zur Kasse zurückgeschickt.

Kann Cashfree die Zahlung nicht starten, bleibt der Kunde im Schritt Confirm Order mit Wir konnten die Cashfree-Zahlung nicht starten. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsart. über der Schaltfläche. Der technische Grund wird im Protokoll festgehalten. Ein Bestellbetrag unterhalb des Cashfree-Mindestbetrags (1 Einheit der Währung; 0,01 für Währungen mit drei Dezimalstellen wie KWD und 0,1 für TND) kann nicht mit Cashfree bezahlt werden, und die Zahlungsart wird dafür nicht angezeigt.

Der Webhook funktioniert auch, während der Shop im Wartungsmodus ist: OpenCart 3 lässt Anfragen von Zahlungserweiterungen durch, und auf OpenCart 4 fügt die Erweiterung eine Startaktion hinzu, die den Webhook und die Rückkehr des Kunden durchlässt.

Die Erweiterung verarbeitet nur einmalige Zahlungen über die Cashfree-Kasse. Sie hat keine gespeicherten Karten, Abonnements oder wiederkehrenden Zahlungen, keine getrennte Autorisierung und Erfassung, kein Cashfree-Angebots-Widget, keine Nachnahmezahlung über Cashfree oder Zahlungslinks und keine Währungsumrechnung: Die Bestellung wird in der Bestellwährung belastet.

Bestellungen und Erstattungen

Bestellstatus

Kein Status (fehlende Bestellung): Der Kunde wurde zu Cashfree weitergeleitet und hat nicht bezahlt, die Zahlung ist fehlgeschlagen, oder die Zahlung steht bei der Bank noch aus. Unter Sales > Orders werden solche Bestellungen nur angezeigt, wenn der Filter Order Status auf Missing Orders gesetzt ist.

Order Status After Payment (Standard Verarbeitung): Die Zahlung wurde bestätigt. Eine Notiz zeigt die Cashfree-Transaktions-ID und die Gruppe der Zahlungsmethode (zum Beispiel upi oder credit_card).

On Hold (Review) Status (Standard Ausstehend): Cashfree hat einen gezahlten Betrag oder eine Währung gemeldet, die von der Bestellsumme abweicht. Die Notiz zeigt den erwarteten und den erhaltenen Betrag sowie die Transaktions-ID. Prüfen Sie die Zahlung im Cashfree-Dashboard und erfüllen Sie dann die Bestellung oder erstatten Sie die Zahlung.

Refunded Status (Standard Erstattet): Die Zahlung wurde über die Erweiterung vollständig erstattet.

Eine Zahlung, die eingeht, nachdem Sie der wartenden Bestellung von Hand einen Status gegeben haben (zum Beispiel Storniert), wird trotzdem erfasst, und die Bestellung wird bezahlt, weil das Geld eingezogen wurde; OpenCart benachrichtigt den Kunden über diese Änderung. Eine bezahlte Bestellung wird durch eine spätere fehlgeschlagene Zahlung nie zurückgesetzt, und eine zweite Zahlung für eine bereits bezahlte Bestellung ändert sie nicht.

Notizen sind Einträge im History der Bestellung, die der Kunde nicht sieht.

Reiter VibeFox Cashfree Payments

Öffnen Sie unter Sales > Orders eine mit Cashfree bezahlte Bestellung. Unten auf der Bestellseite, neben History und Additional, zeigt der Reiter VibeFox Cashfree Payments die Transaction ID mit der Kennzeichnung Sandbox bei Sandbox-Zahlungen, die Cashfree order, den Zahlungs-Status, die Beträge Paid / refunded, das Erstattungsformular, den Erstattungsverlauf mit dem Status jeder Erstattung und die Cashfree notes der Bestellung. Der Reiter wird Benutzern angezeigt, die Zugriff auf die Erweiterung haben.

Erstattungen

Geben Sie im Reiter den Amount ein (der noch nicht erstattete Betrag wird eingetragen), optional einen Reason (optional), und klicken Sie auf Refund via Cashfree. Bestätigen Sie die Abfrage Refund this amount through Cashfree? This cannot be undone. Vollständige und Teilerstattungen werden unterstützt. Sie benötigen das Recht, die Erweiterung zu ändern (festgelegt unter System > Users > User Groups). Erstattungen erfolgen in dem Betrag und in der Währung, die Cashfree belastet hat; nach einer Betragsabweichung können Sie daher bis zu dem Betrag erstatten, den der Kunde tatsächlich bezahlt hat, und nicht bis zum Bestellbetrag. Die Erstattung wird an die bezahlte Cashfree-Bestellung gesendet, und zwar in der Umgebung (Sandbox oder Live), in der bezahlt wurde; daher müssen die Schlüssel dieser Umgebung eingetragen sein. Akzeptiert Cashfree die Erstattung nicht oder meldet es sie als storniert oder abgelehnt, zeigt der Reiter den Fehler an, und es wird keine Erstattung verbucht. Eine gestartete Erstattung wird mit ihrer Erstattungs-ID, dem Betrag und dem Status dem Erstattungsverlauf und den Notizen hinzugefügt. Eine vollständige Erstattung setzt die Bestellung auf den Refunded Status, ohne den Kunden zu benachrichtigen und ohne Produkte in den Bestand zurückzubuchen, wie bei einer manuellen Statusänderung. Eine Teilerstattung ändert den Status nicht. Erstattungen sind verfügbar, sobald Cashfree die Zahlung bestätigt hat.

Der endgültige Erstattungsstatus kommt über den Erstattungs-Webhook und wird den Notizen hinzugefügt. Produktrücksendungen unter Sales > Returns überweisen über Cashfree kein Geld zurück.

Lizenzschlüssel

Die Erweiterung funktioniert mit einem VibeFox-Lizenzschlüssel von vibefox.net. Der Lizenzblock License — VibeFox Cashfree Payments ist der erste Block unter Extensions > Extensions > Payments > VibeFox Cashfree Payments > 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-cashfree und der Link Manage licenses and domains in your account, der Ihr vibefox.net-Konto öffnet. Nur Admin-Benutzer mit der Berechtigung Modify für die Erweiterung können den Schlüssel ändern. Die Texte des Blocks folgen der Admin-Sprache (Englisch und Russisch sind enthalten).

Wenn der Schlüssel nicht akzeptiert wird, nennt der Block den Grund, zum Beispiel Schlüssel nicht gefunden, Dieser Schlüssel gehört zu einem anderen Produkt, Domain-Limit erreicht oder Lizenz abgelaufen am mit einem Datum. Nachdem sich die Shop-Adresse geändert hat oder Sie in Ihrem Konto einen Domain-Platz 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 einen aktiven Schlüssel wird Cashfree Kunden in der Kasse nicht angezeigt. Wird dennoch eine Zahlung gestartet, sieht der Kunde Diese Zahlungsart ist nicht verfügbar. Bitte wählen Sie eine andere. Ein Admin-Benutzer, der im Admin-Bereich im selben Browser angemeldet ist, sieht die Zahlungsart im Shop weiterhin, markiert als (nicht lizenziert — nur für Admins sichtbar), sodass Sie die Erweiterung einrichten und testen können, bevor Sie einen Schlüssel kaufen. Auf OpenCart 4 gibt es diese Vorschau nicht: Der Shop sieht die Admin-Anmeldung nicht, daher ist ohne aktiven Schlüssel die Zahlungsart für alle ausgeblendet. Nachdem Sie die Seite Edit einmal geöffnet haben, erscheint im Admin-Dashboard 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.

Wenn eine Lizenz abläuft, arbeitet die Erweiterung weiter, Updates und Support erfordern jedoch eine Verlängerung. Der Status wird beim Öffnen des Admin-Dashboards oder der Seite Edit automatisch erneut geprüft: einmal täglich in den ersten 14 Tagen nach Eingabe des Schlüssels, danach einmal pro Woche. Ein Cron-Job ist nicht erforderlich. Die Deinstallation der Erweiterung entfernt immer den Lizenzschlüssel und den Lizenzstatus.

Fehlerbehebung

Cashfree erscheint nicht in der Kasse: Prüfen Sie, ob die Lizenz aktiv ist, Enable/Disable eingeschaltet ist und der aktuelle Modus seine Schlüssel hat: Sandbox App ID und Sandbox Secret Key im Sandbox-Modus, App ID und Secret Key im Live-Modus. Die Einstellungsseite zeigt eine Warnung, wenn Schlüssel fehlen. Die Zahlungsart wird außerdem ausgeblendet, wenn der Bestellbetrag unter dem Cashfree-Mindestbetrag liegt. 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 durchgegangen, aber die Bestellung bleibt ohne Status: Der Webhook funktioniert nicht. Prüfen Sie, ob Ihr Shop HTTPS verwendet, ob die URL unter Developers > Webhooks genau der unter Webhook URL angezeigten entspricht und ob die Payment-Ereignisse ausgewählt sind. Prüfen Sie, ob der Secret Key in den Einstellungen zu der Umgebung gehört, in der die Zahlung erfolgt ist. Das Cashfree-Dashboard zeigt für jeden Webhook die Antwort Ihres Shops an. Die Bestellung erhält ihren Status auch, wenn der Kunde nach der Zahlung in den Shop zurückkehrt, und beim nächsten Zahlungsversuch für denselben Warenkorb.

Webhook antwortet Missing signature oder Invalid signature: Der Aufruf enthielt keine gültige Cashfree-Signatur, oder der Secret Key in den Einstellungen passt nicht zu der Umgebung, in der die Zahlung erfolgt ist. Prüfen Sie, ob die Sandbox- und Live-Schlüssel nicht vertauscht sind.

Webhook antwortet Ignored: Der Webhook ist korrekt signiert, gehört aber zu einer Zahlung, die nicht von diesem Shop gestartet wurde, zum Beispiel zu einem anderen Shop auf demselben Cashfree-Konto. Geben Sie jedem Shop ein eigenes Order ID prefix.

Webhook antwortet Busy, retry later: Die Bestellung wurde im selben Moment von einer anderen Anfrage bestätigt, oder der Bestellstatus konnte nicht gesetzt werden. Cashfree wiederholt den Webhook. Schalten Sie das Debug log ein, um den Grund zu sehen.

Der Kunde sieht „Die Cashfree-Zahlungsseite konnte nicht geladen werden. Bitte versuchen Sie es erneut.“: Das Cashfree-Skript konnte im Browser nicht geladen werden, zum Beispiel wegen eines Blockers. Der Kunde kann erneut auf Pay Now klicken oder Choose another payment method wählen.

Der Kunde sieht „Wir konnten die Cashfree-Zahlung nicht starten“: Sehen Sie sich das Feld Log auf der Erweiterungsseite an. Typische Gründe sind falsche Schlüssel für den gewählten Modus oder eine Währung, die für Ihr Cashfree-Konto nicht aktiviert ist.

Der Kunde sieht „Diese Zahlungsart ist nicht verfügbar.“ nach Confirm Order: Die Kassensitzung passt nicht mehr zur Bestellung, oder die Zahlungsart wurde inzwischen ausgeschaltet. Der Kunde lädt die Kasse neu.

Der Kunde sieht „Zahlungssitzung nicht gefunden. Bitte versuchen Sie es erneut.“: Der Link zur Zahlungsseite gehört nicht zu einer Zahlung dieses Shops, oder die Cashfree-Sitzung ist beendet. Der Kunde bestätigt die Bestellung erneut.

Der Kunde sieht „Wir konnten die Zahlung nicht verifizieren“: Der Rücksprunglink passte nicht zur Zahlung. Wurde Geld belastet, bestätigt der Webhook die Bestellung trotzdem. Prüfen Sie die Zahlung im Cashfree-Dashboard, bevor der Kunde erneut bezahlt.

Die Bestellung steht nach der Zahlung im Prüfstatus: Lesen Sie die Notizen im Reiter VibeFox Cashfree Payments (siehe Bestellstatus) und erfüllen Sie dann die Bestellung oder erstatten Sie die Zahlung.

Im Reiter fehlt das Erstattungsformular: Der Reiter nennt den Grund: Die Zahlung ist noch nicht bestätigt, sie ist vollständig erstattet, Ihre Benutzergruppe hat kein Recht zur Änderung der Erweiterung, oder die API-Schlüssel der Umgebung der Zahlung sind nicht eingetragen.

Erstattung schlägt mit einer Meldung zum Sandbox- oder Live-Modus fehl: Die Zahlung erfolgte in dieser Umgebung, und ihre API-Schlüssel sind nicht eingetragen. Tragen Sie sie ein und versuchen Sie es erneut.

Deinstallation

Gehen Sie zu Extensions > Extensions, wählen Sie den Typ Payments und klicken Sie neben VibeFox Cashfree Payments 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. Auf OpenCart 4 werden außerdem die Ereignisse der Erweiterung und ihre Startaktion entfernt, die den Webhook im Wartungsmodus durchlässt. Ist Delete Data on Uninstall eingeschaltet, werden die übrigen Cashfree-Einstellungen (Titel, Beschreibung, Modus, Schlüssel, API-Version, Präfix der Bestell-ID, Protokollierung) und das Protokoll entfernt. Ist die Option ausgeschaltet, bleiben sie für eine spätere Neuinstallation erhalten. Die Cashfree-Transaktionen und -Erstattungen bleiben immer erhalten, sodass zuvor bezahlte Bestellungen auch nach einer Neuinstallation erstattet werden können. Bestehende Bestellungen behalten ihre Zahlungsnotizen.

Auf OpenCart 4 entfernen Sie außerdem die Dateien der Erweiterung: Gehen Sie nach der Deinstallation zu Extensions > Installer, klicken Sie in der Liste der installierten Erweiterungen neben VibeFox Cashfree Payments auf Uninstall (der orange −-Button) und danach auf Delete (der rote Mülleimer-Button), um das hochgeladene Paket zu entfernen.

Cashfree ist eine Marke ihres jeweiligen Inhabers. Diese Erweiterung ist nicht mit Cashfree verbunden und wird nicht von Cashfree unterstützt.