Zurück

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

Währung: USD (Ecuador) oder COP (Kolumbien). Bei Bestellungen in anderen Währungen wird die Zahlungsart in der Kasse nicht angezeigt.

HTTPS: Kushki setzt voraus, dass die Kasse im Live-Modus über HTTPS ausgeliefert wird.

Kushki-Konto: Sie benötigen die öffentliche und die private Merchant ID Ihres Kushki-Testkontos (UAT) und Ihres Produktivkontos. Sie finden sie in der Kushki Console unter Developers > Credentials. Für den optionalen Webhook benötigen Sie außerdem den Webhook-Signaturschlüssel jedes Kontos (siehe Konfiguration).

VibeFox-Lizenzschlüssel: erhältlich auf vibefox.net. Ein Schlüssel gilt 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 OpenCart-3-Paket wcp_kushki_payment-oc3-(version).ocmod.zip und das OpenCart-4-Paket wcp_kushki_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_kushki_payment-oc3-(version).ocmod.zip. Die Erweiterung hat keine OCMOD-Änderungen, daher muss Extensions > Modifications nicht aktualisiert werden. Statt des Installers können Sie auch den Inhalt des Ordners upload aus diesem Paket in das Stammverzeichnis Ihres Shops kopieren.

2. Gehen Sie zu Extensions > Extensions und wählen Sie den Typ Payments. Suchen Sie VibeFox Kushki Payment und klicken Sie auf Install (der grüne +-Button). Ihr Admin-Benutzer benötigt das Recht, die Liste der Zahlungserweiterungen zu ändern.

3. Klicken Sie auf Edit (der Stift-Button), um die Einstellungsseite zu öffnen. Fügen Sie Ihren VibeFox-Lizenzschlüssel im Lizenzblock oben auf der Seite in License key ein und klicken Sie auf Activate (siehe Lizenzschlüssel).

4. Geben Sie die öffentliche und die private Test-Merchant-ID ein und lassen Sie Test mode eingeschaltet. Optional richten Sie in der Kushki Console den Webhook ein und fügen dessen Signaturschlüssel ein (siehe Konfiguration).

5. Aktivieren Sie Enable / Disable, klicken Sie auf Save und führen Sie eine Testbestellung durch. Wenn alles bereit ist, geben Sie die Live-Merchant-IDs (und die Live-Webhook-Signatur) ein und deaktivieren Sie Test mode.

OpenCart 4

1. Gehen Sie im Admin-Bereich zu Extensions > Installer, klicken Sie auf Upload und wählen Sie die Datei wcp_kushki_payment.ocmod.zip. Benennen Sie die Datei nicht um: OpenCart 4 entnimmt den Erweiterungscode 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 (die grüne +-Schaltfläche).

3. Gehen Sie zu Extensions > Extensions und wählen Sie den Typ Payments. Suchen Sie VibeFox Kushki Payment, klicken Sie auf Install (die grüne +-Schaltfläche) und dann auf Edit (die Stift-Schaltfläche).

4. Geben Sie den Lizenzschlüssel, die Merchant IDs und 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 der Webhook ist anders (siehe Webhook).

Eine neue Installation startet mit deaktivierter Zahlungsart und eingeschaltetem Testmodus.

Konfiguration

Alle Einstellungen befinden sich auf der Seite der Erweiterung: Extensions > Extensions > Payments > VibeFox Kushki Payment > Edit. Die Abschnitte sind links aufgelistet; die Schaltfläche Save unter der Liste speichert die gesamte Seite. Über den Einstellungen warnt die Seite, wenn die Zahlungsart aktiviert ist, aber die Merchant IDs des aktuellen Modus fehlen (die Zahlungsart wird dann in der Kasse ausgeblendet), wenn die Standardwährung Ihres Shops weder USD noch COP ist, wenn der Live-Modus ohne HTTPS genutzt wird (bei OpenCart 4, wenn die Shop-Adresse mit http:// beginnt) und wenn für den aktuellen Modus kein Webhook-Signaturschlüssel hinterlegt ist. Solange der Testmodus eingeschaltet ist, zeigt sie Test mode is on: the Kushki test environment is used, no real money is charged. an. 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 und nicht länger als 128 Zeichen, Sort Order muss eine ganze Zahl sein (negative Zahlen sind erlaubt), Total eine Zahl größer oder gleich 0, und jeder Bestellstatus muss existieren. Ist ein Feld falsch, wird nichts gespeichert und die Seite nennt das Feld. Leerzeichen um die IDs werden beim Speichern entfernt.

Kushki

Enable / Disable: Enable Kushki card payments schaltet die Zahlungsart ein oder aus. Standard: aus.

Title: der Name der Zahlungsart, den Kunden in der Kasse sehen. Er wird auch als Name der Zahlungsart in der Bestellung gespeichert. Standard: Credit / debit card (Kushki). Pflichtfeld, bis zu 128 Zeichen.

Description: der Text, der im Schritt Confirm Order über dem Kartenformular angezeigt wird. Standard: Pay securely with your card. Card details are entered in a Kushki form and never stored on this site.

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

Geo Zone: bietet Kushki nur für Zahlungsadressen in der gewählten Geo Zone an. Standard: All zones. Geo Zones werden unter System > Localisation > Geo Zones eingerichtet.

Total: der Warenkorbbetrag in der Standardwährung des Shops, den eine Bestellung erreichen muss, bevor Kushki angeboten wird. Lassen Sie das Feld leer, um Kushki bei jedem Betrag anzubieten.

API-Zugangsdaten

Kopieren Sie die öffentliche und die private Merchant ID aus der Kushki Console (Developers > Credentials; die Seite verlinkt auf die Console). Test- (UAT) und Produktivkonten haben unterschiedliche IDs. Der Testmodus verwendet nur die Test-IDs, der Live-Modus nur die Live-IDs.

Test mode: nutzt die Kushki-Testumgebung (UAT): die Test-Merchant-IDs, das Testkartenformular und die Test-API gemeinsam. Es wird kein echtes Geld belastet, und in der Kasse wird ein TEST MODE-Abzeichen angezeigt. Standard: ein. Schalten Sie es aus, um echte Zahlungen anzunehmen. Erstattungen gehen immer in die Umgebung, in der die Zahlung erfolgt ist.

Test Public Merchant ID: die öffentliche Merchant ID Ihres Kushki-Testkontos. Mit ihr wird das Kartenformular geladen.

Test Private Merchant ID: die private Merchant ID Ihres Kushki-Testkontos. Sie wird auf dem Server für Belastungen und Erstattungen verwendet.

Live Public Merchant ID: die öffentliche Merchant ID Ihres Kushki-Produktivkontos.

Live Private Merchant ID: die private Merchant ID Ihres Kushki-Produktivkontos. Halten Sie sie geheim.

Gespeicherte private Merchant IDs und Webhook-Signaturen 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, aktivieren Sie unter dem Feld Clear the saved value on save und klicken Sie auf Save.

Webhook (empfohlen)

Zahlungen werden sofort durch die Antwort der Kushki-API bestätigt, daher ist der Webhook nicht zwingend erforderlich. Er bestätigt zusätzlich eine Zahlung, deren Antwort verloren ging (zum Beispiel bei einem Timeout), und meldet Stornierungen, Erstattungen und Chargebacks, die in der Kushki Console vorgenommen wurden. Tragen Sie in der Kushki Console (Webhooks) die URL ein, die in diesem Abschnitt unter Webhook URL angezeigt wird. Auf OpenCart 3 sieht sie so aus: https://your-store/index.php?route=extension/payment/wcp_kushki_payment/webhook, auf OpenCart 4 so: https://your-store/index.php?route=extension/wcp_kushki_payment/payment/wcp_kushki_payment.webhook. Sie wird aus der Shop-Adresse Ihrer OpenCart-Installation gebildet. Kopieren Sie die URL genau so, wie die Einstellungen sie anzeigen. Tun Sie dies für das Testkonto und für das Produktivkonto.

Die Erweiterung verarbeitet diese Kartenbenachrichtigungen:

Genehmigte Belastung: bestätigt eine Bestellung, deren Belastungsantwort verloren ging, oder bestätigt eine Bestellung im Prüfstatus, wenn Ticketnummer, Betrag und Währung übereinstimmen.
Abgelehnte Belastung: schließt einen ausstehenden Belastungsversuch ab. Eine Bestellung im Prüfstatus derselben Belastung wird auf Failed Status gesetzt.
Stornierungen, Erstattungen, Chargebacks und andere Ereignisse: werden den Bestellnotizen hinzugefügt. Der Bestellstatus wird nicht geändert.

Test webhook signature: der Webhook-Signaturschlüssel des Kushki-Testkontos (Console > Webhooks).

Live webhook signature: der Webhook-Signaturschlüssel des Kushki-Produktivkontos.

Webhooks ohne gültige Signatur werden abgelehnt. Eine Benachrichtigung muss mit dem Schlüssel des Modus signiert sein, in dem die Zahlung erfolgte; daher bestätigt eine Testbenachrichtigung niemals eine Live-Zahlung. Ohne Signaturschlüssel werden alle Webhook-Benachrichtigungen abgelehnt, Zahlungen funktionieren aber weiterhin, weil sie durch die API-Antwort bestätigt werden.

Bestellungen

OpenCart legt die Bestellung im Schritt Confirm Order ohne Status an (eine fehlende Bestellung). Die Bestellung erhält einen Status erst, nachdem Kushki die Kartenbelastung genehmigt hat. Jedes Feld unten listet Ihre OpenCart-Bestellstatus auf.

Order Status After Payment: Kushki hat die Belastung mit einer Ticketnummer für den Bestellbetrag und die Währung genehmigt. Standard: In Bearbeitung.

On Hold (Review) Status: Kushki hat die Belastung ohne Ticketnummer genehmigt oder einen anderen Betrag bzw. eine andere Währung gemeldet. Eine Notiz erklärt den Grund; prüfen Sie die Zahlung vor der Auftragsbearbeitung in der Kushki Console. Standard: Zahlung ausstehend, weil OpenCart keinen Status „Wartend“ hat. Sie können unter System > Localisation > Order Statuses einen eigenen Status anlegen und hier auswählen.

Failed Status: eine Bestellung im Prüfstatus, deren Belastung Kushki später als abgelehnt meldet (Webhook). Standard: Fehlgeschlagen.

Canceled Status: Bestellungen in diesem Status (oder im Status „Erstattet“) werden durch einen späten Webhook nie wieder geöffnet. Standard: Storniert.

Refunded Status: wird gesetzt, nachdem die Zahlung im Bestell-Tab erstattet wurde. Standard: Erstattet.

Erweitert

Debug log: schreibt Kushki-Anfragen und Webhooks in kushki_p_debug.log.php im Logs-Ordner von OpenCart (storage/logs). Die Datei kann nicht über das Web geöffnet werden. Warnungen und Fehler werden immer protokolliert. Protokolle enthalten nie Merchant IDs, Kartentoken oder E-Mail-Adressen von Kunden. 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: ist die Option aktiviert, entfernt das Deinstallieren der Erweiterung die Einstellungen und das Protokoll. Die Kushki-Zahlungsdatensätze (Belastungen und Erstattungen) bleiben immer erhalten, sodass alte Bestellungen nach einer Neuinstallation noch erstattet werden können. Standard: aus.

Import / Export

Export: Download JSON speichert die Einstellungen als JSON-Datei. Private Merchant IDs und Webhook-Signaturen werden nicht exportiert.

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

Kasse

Im Schritt Payment Method wählt der Kunde die Zahlungsart (standardmäßig Credit / debit card (Kushki)). OpenCart legt die Bestellung im Schritt Confirm Order an, weiterhin ohne Status. Dort sieht der Kunde Ihre Beschreibung und das Kushki-Kartenformular mit dem Bestellbetrag in der Bestellwährung. Der Kunde gibt die Karte ein, wählt Ratenzahlungen, falls das Kushki-Formular sie anbietet, und drückt den Zahlungsbutton innerhalb des Kushki-Formulars. Die Zahlung wird dann automatisch gesendet, wie der Hinweis unter dem Formular sagt: Enter your card in the secure Kushki form above and press its pay button — the payment is sent automatically. Klickt der Kunde stattdessen auf den OpenCart-Button Confirm Order, erscheint die Meldung Please enter your card details in the Kushki form and press its pay button.

Bei OpenCart 4 wählt der Kunde die Zahlungsart mit der Schaltfläche Choose im Block der Zahlungsart im Fenster Payment method options. Das Kushki-Kartenformular erscheint dann im Bestätigungsblock unten auf der Kasse, über der Schaltfläche Confirm Order, und wird jedes Mal, wenn OpenCart diesen Block neu lädt, für die aktuelle Bestellsumme neu aufgebaut.

Ihr Shop belastet die Karte dann auf dem Server. Die Bestellung wird erst als bezahlt markiert, wenn Kushki sie mit einer Ticketnummer bestätigt. Danach erhält die Bestellung ihren Status auf die übliche OpenCart-Art, mit den üblichen Bestell-E-Mails und der Bestandsaktualisierung; der Warenkorb wird geleert, und der Kunde sieht die Erfolgsseite von OpenCart mit Your card payment has been received. Betrag und Währung, die Kushki meldet, werden mit der Bestellung verglichen. Eine Bestellung im Prüfstatus zeigt Your payment is being reviewed. We will update your order as soon as the review is complete.

Wird die Karte abgelehnt, bleibt die Bestellung ohne Status, der Kunde bleibt im Schritt Confirm Order mit Your payment was declined und dem Grund von Kushki und kann im neu geladenen Formular eine andere Karte versuchen. Bei Netzwerk-, Schlüssel- oder Serverproblemen sieht der Kunde The payment could not be processed right now. Please try again in a moment or choose another payment method. Der technische Grund wird in das Protokoll und in die Bestellnotizen geschrieben. Ein zweiter Klick, während eine Zahlung verarbeitet wird, zeigt A payment for this order is already being processed. Please wait a moment and check your order status.

OpenCart 3 legt jedes Mal eine neue Bestellung an, wenn der Schritt Confirm Order angezeigt wird, OpenCart 4 behält eine Bestellung für die Kasse und aktualisiert sie. In beiden Fällen wird ein Warenkorb nur einmal bezahlt: Ein bereits bezahlter Warenkorb oder eine genehmigte Belastung, deren Bestellung noch keinen Status hat, wird nie erneut belastet, und der Kunde sieht die Erfolgsseite. Geht die Antwort von Kushki verloren (zum Beispiel bei einem Timeout), sieht der Kunde die allgemeine Meldung, der Belastungsversuch bleibt aber erhalten. Meldet der signierte Webhook die genehmigte Belastung, erhält die Bestellung ihren Status. Zahlt der Kunde erneut, bevor ein Webhook eintrifft, ist das eine neue Belastung; eine späte Genehmigung der ersten Belastung fügt dann nur eine Notiz zu einer möglichen Doppelbelastung hinzu.

OpenCart 4 behält die Bestellung in der Kasse, bis die Erfolgsseite angezeigt wird. Wurde diese Bestellung ohne Zahlung geschlossen (zum Beispiel wurde eine zur Prüfung stehende Belastung später abgelehnt oder Sie haben die Bestellung storniert) oder ist sie für einen früheren Warenkorb bereits bezahlt und der Kunde hat den Warenkorb seitdem geändert, wird der Kunde beim Bezahlen zurück zur Kasse geschickt, und das nächste Confirm Order erstellt eine neue Bestellung. Über der Kasse sieht der Kunde Your previous order is closed (declined, cancelled or refunded by the store). Please confirm the order again: the cart will be paid with a new order., wenn die Bestellung geschlossen wurde, oder Your previous order is already paid for other cart contents. Please confirm the order again: the current cart will be paid with a new order., wenn sie für einen früheren Warenkorb bezahlt wurde. Eine Änderung des Warenkorbs, auch eine neue Menge, gilt als neuer Warenkorb, der eine eigene Zahlung braucht.

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 Startup-Aktion hinzu, die den Webhook durchlässt. 3-D Secure, Betrugsregeln und die angebotenen Ratenzahlungen werden in der Kushki Console eingerichtet.

Die Erweiterung unterstützt nur Kartenzahlungen mit einem Schritt. Sie kennt keine Teilerstattungen, gespeicherten Karten oder Abonnements, keine Barzahlung, Banküberweisung (PSE) oder Debitkarten-Weiterleitungen und keine getrennte Autorisierung und Erfassung.

Bestellungen und Erstattungen

Bestellstatus

Kein Status (fehlende Bestellung): der Kunde hat nicht bezahlt, die Karte wurde abgelehnt, oder die Antwort von Kushki ging verloren und der Webhook ist noch nicht eingetroffen. Unter Sales > Orders werden solche Bestellungen nur mit dem Filter Order Status auf Missing Orders angezeigt.

Order Status After Payment (Standard In Bearbeitung): Kushki hat die Belastung bestätigt (durch die API-Antwort oder durch den Webhook). Eine Notiz zeigt den Modus, den Betrag, die Kushki-Ticketnummer und die Referenz.

On Hold (Review) Status (Standard Zahlung ausstehend): Kushki hat einen Erfolg ohne Ticketnummer gemeldet oder einen anderen Betrag bzw. eine andere Währung als die Bestellung. Die Notiz erklärt es. Prüfen Sie die Transaktion in der Kushki Console und bearbeiten Sie die Bestellung oder erstatten Sie die Zahlung. Eine spätere signierte Genehmigung mit Ticketnummer und passendem Betrag setzt die Bestellung auf Order Status After Payment.

Failed Status (Standard Fehlgeschlagen): der Webhook meldete, dass die Belastung einer Bestellung im Prüfstatus abgelehnt wurde.

Refunded Status (Standard Erstattet): die Zahlung wurde über die Erweiterung erstattet.

Meldet Kushki eine weitere genehmigte Belastung für eine Bestellung, die bereits bezahlt, storniert oder erstattet ist, bleibt die Bestellung unverändert. Eine Notiz bittet Sie, auf eine Doppelbelastung zu prüfen und sie in der Kushki Console zu erstatten. Ein Webhook aus der Testumgebung für eine Live-Zahlung (oder umgekehrt) wird mit einer Notiz ignoriert.

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

Tab VibeFox Kushki Payment

Öffnen Sie unter Sales > Orders eine Bestellung, die mit Kushki bezahlt wurde. Unten auf der Bestellseite, neben History und Additional, zeigt der Tab VibeFox Kushki Payment die Ticket number (mit der Markierung TEST bei Testzahlungen), die Transaction reference, die Environment, das Result, die Beträge Charged / order amount, das Erstattungsformular, den Erstattungsverlauf und die Kushki notes der Bestellung. Der Tab wird Benutzern angezeigt, die Zugriff auf die Erweiterung haben.

Erstattungen

Kushki erstattet die gesamte Belastung, daher sind nur vollständige Erstattungen möglich. Im Tab VibeFox Kushki Payment ist der Amount ausgefüllt, den Kushki belastet hat. Geben Sie optional einen Reason (optional) ein und klicken Sie auf Refund via Kushki; bestätigen Sie anschließend die Frage Refund the full payment through Kushki? This cannot be undone. Sie benötigen das Recht, die Erweiterung zu ändern (festgelegt unter System > Users > User Groups). Bei jedem anderen Betrag zeigt die Erweiterung Kushki refunds the full payment only. Enter the full charged amount an, und es wird nichts gesendet. Die Erstattung erfolgt in dem Betrag und in der Währung, die Kushki belastet hat; nach einer Betragsabweichung erhält der Kunde also zurück, was tatsächlich belastet wurde, nicht den Bestellbetrag. Eine Zahlung kann nur einmal erstattet werden.

Die Erstattung wird im Modus gesendet, in dem die Zahlung erfolgt ist (Test oder Live), daher muss die private Merchant ID dieses Modus gesetzt sein. Lehnt Kushki die Erstattung ab, zeigt der Tab Kushki refund failed mit dem Code und der Meldung von Kushki an, und es wird keine Erstattung erfasst. Eine erfolgreiche Erstattung wird dem Erstattungsverlauf und den Notizen mit der Kushki-Erstattungsticketnummer hinzugefügt, und die Bestellung wird auf Refunded Status gesetzt, ohne den Kunden zu benachrichtigen und ohne Produkte wieder in den Bestand zu buchen, wie bei einer manuellen Statusänderung. Erstattungen erfordern eine bestätigte Kushki-Belastung mit Ticketnummer.

Produktrücksendungen unter Sales > Returns schicken kein Geld über Kushki zurück. Stornierungen und Erstattungen, die in der Kushki Console vorgenommen werden, kommen über den Webhook an und werden den Notizen hinzugefügt. Der Bestellstatus wird nicht automatisch geändert.

Lizenzschlüssel

Die Erweiterung funktioniert mit einem VibeFox-Lizenzschlüssel von vibefox.net. Der Lizenzblock License — VibeFox Kushki Payment ist der erste Block unter Extensions > Extensions > Payments > VibeFox Kushki 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 zum erneuten Prüfen des Status, Change key zum Eingeben eines anderen Schlüssels und Remove key zum Entfernen des Schlüssels aus diesem Shop. Darunter stehen die Zeile Product: opencart-payment-kushki und der Link Manage licenses and domains in your account, der Ihr vibefox.net-Konto ö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. 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 gilt 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 Kushki Kunden in 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 Zahlungsart im Shop weiterhin, markiert mit (unlicensed — visible to admins only), damit Sie die Erweiterung vor dem Kauf eines Schlüssels einrichten und testen können. Auf OpenCart 4 gibt es diese Vorschau nicht: Der Shop sieht die Admin-Anmeldung nicht, daher ist die Zahlungsart ohne aktiven Schlüssel 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 begonnene Zahlungen werden weiterhin bestätigt, und Erstattungen funktionieren.

Läuft eine Lizenz ab, arbeitet die Erweiterung weiter, Updates und Support erfordern aber eine Verlängerung. Der Status wird automatisch erneut geprüft, wenn Sie das Admin-Dashboard oder die Seite Edit öffnen: einmal täglich in den ersten 14 Tagen nach der Eingabe des Schlüssels, danach einmal wöchentlich. Ein Cron-Job ist nicht nötig. Beim Deinstallieren der Erweiterung werden Lizenzschlüssel und Lizenzstatus immer entfernt.

Fehlerbehebung

Kushki erscheint nicht in der Kasse: prüfen Sie, ob die Lizenz aktiv ist, Enable / Disable eingeschaltet ist und der aktuelle Modus beide Merchant IDs hat: die Test-IDs im Testmodus, die Live-IDs im Live-Modus. Die Einstellungsseite zeigt eine Warnung, wenn IDs fehlen. Prüfen Sie, ob die Bestellwährung USD oder COP ist, ob die Zahlungsadresse in der gewählten Geo Zone liegt und ob die Bestellung den in den Einstellungen festgelegten Total erreicht.

Die Zahlung ging durch, aber die Bestellung bleibt ohne Status: die Antwort der Kushki-API ging verloren, zum Beispiel durch ein Timeout. Der Webhook bestätigt solche Zahlungen. Prüfen Sie in der Kushki Console, ob die Webhook-URL genau der Angabe unter Webhook URL entspricht, für das Konto des von Ihnen verwendeten Modus, und ob der Signaturschlüssel dieses Kontos im passenden Feld steht (Test webhook signature oder Live webhook signature). Eine genehmigte Belastung ohne den bezahlten Betrag und die Währung setzt die Bestellung auf On Hold (Review) Status.

Webhook meldet Webhook signature not configured: es ist keine Webhook-Signatur gesetzt. Fügen Sie den Signaturschlüssel in die Einstellungen ein.

Webhook meldet Invalid signature: der Signaturschlüssel gehört zu einem anderen Konto oder Modus, oder die Benachrichtigung wurde auf dem Weg verändert.

Webhook meldet Order mismatch: die Benachrichtigung gehört nicht zu einem Belastungsversuch dieser Bestellung (falscher Versuchsschlüssel oder falsche Transaktion). Es wird nichts geändert.

Webhook meldet Busy, retry later: die Bestellung wurde im selben Moment von einer anderen Anfrage verarbeitet, oder der Bestellstatus konnte nicht gesetzt werden. Kushki kann die Benachrichtigung erneut senden. Fehler werden immer in das Protokoll geschrieben.

Die Webhook-URL zeigt im Browser nur POST: das ist normal. Die URL akzeptiert nur Benachrichtigungen von Kushki.

Das Kartenformular lädt nicht: der Kunde sieht The Kushki card form could not be loaded. Please reload the page or choose another payment method. Prüfen Sie die öffentliche Merchant ID des aktuellen Modus.

Der Kunde sieht This payment option is not available in this store. Please pay by card.: im Kushki-Formular wurde eine Zahlungsoption gewählt, die keine Karte ist. Die Erweiterung belastet nur Karten.

Der Kunde sieht beim Bezahlen einen Fehler: aktivieren Sie Debug log und sehen Sie im Feld Log auf der Erweiterungsseite nach. This payment method is not available. Please reload the checkout page. bedeutet, dass die Kassensitzung nicht mehr zur Bestellung passt oder die Zahlungsart inzwischen deaktiviert wurde: Der Kunde lädt die Kasse neu. Eine falsche oder fehlende private Merchant ID führt zur allgemeinen Meldung, dass die Zahlung nicht verarbeitet werden konnte.

Der Kunde sieht Your payment was received, but the order could not be completed automatically: Kushki hat die Belastung genehmigt, OpenCart konnte den Bestellstatus aber nicht setzen. Das Protokoll zeigt den Grund. Der nächste Zahlungsversuch desselben Warenkorbs setzt den Status ohne neue Belastung.

Erstattung schlägt mit einer Meldung zum Modus fehl: die Zahlung erfolgte im Test- oder Live-Modus, und die private Merchant ID dieses Modus ist nicht gesetzt. Geben Sie sie ein und versuchen Sie es erneut.

Kein Erstattungsformular im Tab: der Tab nennt den Grund: Die Zahlung ist bereits erstattet, die Bestellung hat keine Kushki-Ticketnummer (No Kushki ticket number found for this order — refund it in the Kushki Console.), Ihre Benutzergruppe hat kein Recht, die Erweiterung zu ändern, oder die private Merchant ID des Zahlungsmodus ist nicht gesetzt.

Deinstallation

Gehen Sie zu Extensions > Extensions, wählen Sie den Typ Payments und klicken Sie neben VibeFox Kushki Payment auf Uninstall (der rote −-Button). 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 Bereich Orders, die bei einer Neuinstallation auf ihre Standardwerte zurückgesetzt werden. Das OpenCart-Ereignis der Erweiterung wird ebenfalls entfernt (auf OpenCart 4 zusätzlich dessen Ereignisse, einschließlich des Ereignisses für die Meldung über der Kasse, und dessen Startup-Aktion, die den Webhook im Wartungsmodus durchlässt). Ist Delete data on uninstall aktiviert, werden die übrigen Einstellungen (Titel, Beschreibung, Testmodus, Merchant IDs, Webhook-Signaturen, Protokollierung) und das Protokoll entfernt. Ist die Option aus, bleiben sie für eine spätere Neuinstallation erhalten. Die Kushki-Zahlungsdatensätze (Belastungen und Erstattungen) bleiben immer erhalten, sodass früher bezahlte Bestellungen nach einer Neuinstallation noch erstattet werden können. Bestehende Bestellungen behalten ihre Zahlungsnotizen.

Um auf OpenCart 4 auch die Dateien der Erweiterung zu entfernen, gehen Sie nach der Deinstallation zu Extensions > Installer und klicken Sie neben VibeFox Kushki Payment in der Liste der installierten Erweiterungen auf Uninstall (die orangefarbene −-Schaltfläche). Klicken Sie dann auf Delete (die rote Papierkorb-Schaltfläche), um das hochgeladene Paket zu entfernen.

Kushki ist eine Marke ihres jeweiligen Inhabers. Diese Erweiterung ist weder mit Kushki verbunden noch von Kushki unterstützt.