Zurück

VibeFox Midtrans for OpenCart — Hilfe

Voraussetzungen

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: Indonesische Rupiah (IDR). Midtrans belastet ausschließlich in IDR, daher wird die Zahlungsart nur angeboten, wenn die Kassenwährung IDR ist. Eine Währungsumrechnung findet nicht statt. Fügen Sie die Währung IDR unter System > Localisation > Currencies hinzu, falls Ihr Shop sie nicht hat.

Midtrans-Konto: Sie benötigen den Server Key aus Midtrans Dashboard > Settings > Access Keys, im Sandbox-Dashboard und im Produktiv-Dashboard. Nur der Server Key wird verwendet. Der Client Key wird für Snap Redirect nicht benötigt. Die Zahlungsarten selbst (GoPay, QRIS, virtuelle Konten und andere) werden in Ihrem Midtrans-Konto aktiviert.

VibeFox-Lizenzschlüssel: erhältlich auf vibefox.net. 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 OpenCart-3-Paket wcp_midtrans_payment_gateway-oc3-(version).ocmod.zip und das OpenCart-4-Paket wcp_midtrans_payment_gateway.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_midtrans_payment_gateway-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 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 Midtrans Payment Gateway und klicken Sie auf Install (die grüne +-Schaltfläche). Ihr Admin-Benutzer benötigt das Recht, die Liste der Zahlungserweiterungen zu bearbeiten.

3. Klicken Sie auf Edit (die Schaltfläche mit dem Stift), 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. Tragen Sie die Server Keys ein und kopieren Sie die URL für Zahlungsbenachrichtigungen in das Midtrans-Dashboard (siehe Konfiguration).

5. Aktivieren Sie Enable/Disable und klicken Sie auf Save. Testen Sie in der Sandbox und stellen Sie danach Environment auf Production um.

OpenCart 4

1. Gehen Sie im Admin-Bereich zu Extensions > Installer, klicken Sie auf Upload und wählen Sie die Datei wcp_midtrans_payment_gateway.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 Midtrans Payment Gateway, klicken Sie auf Install (die grüne +-Schaltfläche) und dann auf Edit (die Stift-Schaltfläche).

4. Geben Sie den Lizenzschlüssel, die Server Keys und die Benachrichtigungs-URL ein wie in den Schritten 3 bis 5 für OpenCart 3. Die Einstellungsseite und ihre Felder sind in beiden Versionen gleich. Nur die Benachrichtigungs-URL ist anders (siehe Konfiguration).

Eine neue Installation startet mit deaktivierter Zahlungsart und ausgewählter Sandbox-Umgebung.

Konfiguration

Alle Einstellungen befinden sich auf der Seite der Erweiterung: Extensions > Extensions > Payments > VibeFox Midtrans Payment Gateway > Edit. Die Abschnitte sind links aufgelistet; die Schaltfläche Save unter der Liste speichert die gesamte Seite. Oberhalb der Einstellungen warnt die Seite, wenn der Server Key der gewählten Umgebung fehlt (die Zahlungsart wird dann in der Kasse ausgeblendet) und wenn die Standardwährung des Shops nicht IDR ist. Solange Sandbox ausgewählt ist, zeigt sie außerdem Sandbox mode: payments are simulated, no real money is charged. an. Ohne das Recht, die Erweiterung zu bearbeiten, zeigt die Seite die Einstellungen an, kann sie aber nicht speichern.

Beim Speichern muss Title 1 bis 128 Zeichen haben, Sort Order muss eine ganze Zahl sein, Total muss eine Zahl größer oder gleich 0 sein und Payment page expiry (minutes) muss eine ganze Zahl sein. Ist ein Wert falsch, zeigt die Seite den Fehler an und nichts wird gespeichert.

Midtrans

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

Title: der Titel der Zahlungsart, der dem Kunden in der Kasse angezeigt wird. Er wird auch als Zahlungsart in der Bestellung gespeichert. Standard: Midtrans. Pflichtfeld.

Description: der Text, den der Kunde im Schritt Confirm Order oberhalb der Bestätigungsschaltfläche sieht. Standard: Pay securely via Midtrans — GoPay, QRIS, ShopeePay, cards, bank transfer and more. Im Sandbox-Modus wird darüber die Zeile SANDBOX MODE: no real money is charged. angezeigt.

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

Geo Zone: bietet Midtrans nur für Zahlungsadressen in der gewählten Geozone an. Standard: All zones. Geozonen richten Sie unter System > Localisation > Geo Zones ein.

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

API-Zugangsdaten

Kopieren Sie den Server Key aus Midtrans Dashboard > Settings > Access Keys. Der Abschnitt enthält Links zum Produktiv- und zum Sandbox-Dashboard.

Environment: die Midtrans-Umgebung, die neue Zahlungen verwenden. Beim Umschalten werden der Schlüssel und die API der gewählten Umgebung verwendet. Bestellungen behalten die Umgebung, in der sie bezahlt wurden, für Erstattungen und Benachrichtigungen. Standard: Sandbox.

Sandbox: zum Testen, ohne echtes Geld.
Production: echte Zahlungen.

Production Server Key: beginnt mit Mid-server-. Halten Sie ihn geheim.

Sandbox Server Key: beginnt mit SB-Mid-server-.

Gespeicherte Schlüssel werden nie wieder angezeigt. Das Feld bleibt leer und zeigt Saved — leave empty to keep it. an. Geben Sie einen neuen Wert nur ein, wenn Sie ihn ändern möchten. Um einen gespeicherten Schlüssel zu entfernen, setzen Sie unter dem Feld den Haken bei Clear the saved key on save und klicken Sie auf Save.

URL für Zahlungsbenachrichtigungen

Die Benachrichtigung teilt Ihrem Shop mit, dass eine Zahlung erfolgt ist. Das Feld Notification URL zeigt die zu verwendende URL. Auf OpenCart 3 sieht sie so aus: https://your-store/index.php?route=extension/payment/wcp_midtrans_payment_gateway/webhook, auf OpenCart 4 so: https://your-store/index.php?route=extension/wcp_midtrans_payment_gateway/payment/wcp_midtrans_payment_gateway.webhook. Sie wird aus der Storefront-Adresse Ihrer OpenCart-Installation gebildet. Kopieren Sie die URL genau so, wie die Einstellungen sie anzeigen, und fügen Sie sie unter Midtrans Dashboard > Settings > Payment > Notification URL ein, und zwar im Sandbox-Dashboard und im Produktiv-Dashboard, die Sie verwenden. Die URL muss aus dem Internet erreichbar sein. Wenn Sie sie im Browser öffnen, zeigt sie eine kurze Erklärung, damit Sie prüfen können, dass sie erreichbar ist. Auch die Schaltfläche Test notification URL im Midtrans-Dashboard wird beantwortet.

Jede Benachrichtigung muss eine gültige Signatur tragen, die mit einem Ihrer Server Keys erstellt wurde, und die Umgebung des Schlüssels muss zur Umgebung der Zahlung passen. Benachrichtigungen ohne gültige Signatur werden abgelehnt. Der Status wird dann über die Status-API von Midtrans erneut abgefragt, bevor sich die Bestellung ändert. Die Erweiterung verarbeitet folgende Transaktionsstatus von Midtrans:

settlement, capture (accepted): die Zahlung wurde durchgeführt. Die Bestellung wird als bezahlt markiert, wenn Betrag (in ganzen Rupiah) und Währung mit der Bestellung übereinstimmen.
capture (challenge): eine von der Betrugserkennung von Midtrans markierte Kartenzahlung. Die Bestellung wird in den Prüfstatus gesetzt, bis Sie sie im Midtrans-Dashboard genehmigen oder ablehnen.
pending: der Kunde hat eine verzögerte Methode gewählt (virtuelles Konto, Convenience-Store, QRIS) oder eine 3-D-Secure-Prüfung der Karte ist nicht abgeschlossen. Die Bestellung erhält den Wartestatus.
expire, cancel: die nicht bezahlte Transaktion ist abgelaufen oder wurde storniert. Eine wartende Bestellung erhält den Status expired / cancelled, für jede Zahlungsart. Eine Bestellung ohne Status behält keinen Status: Nur der Versuch wird geschlossen, und der Kunde kann erneut bezahlen.
deny: die Zahlung wurde abgelehnt. Eine wartende Bestellung erhält den Status failed.
failure: die Zahlung ist fehlgeschlagen. Eine wartende Bestellung erhält den Status failed.
refund, partial_refund: eine im Midtrans-Dashboard vorgenommene Erstattung wird in der Bestellung erfasst.

Ohne die Benachrichtigungs-URL wird eine Bestellung nur bestätigt, wenn der Kunde nach der Zahlung in den Shop zurückkehrt, und eine später vorgenommene verzögerte Zahlung wird erst erkannt, wenn der Kunde zurückkommt.

Zahlungseinstellungen

Midtrans belastet ausschließlich in IDR, und Beträge werden in ganzen Rupiah übermittelt. Stimmen die Bestellpositionen nicht mit dem gerundeten Gesamtbetrag überein, wird eine Zeile Rounding adjustment an Midtrans gesendet.

Payment page expiry (minutes): wie lange der Kunde zum Bezahlen Zeit hat (Snap-Seite, virtuelles Konto und so weiter). Lassen Sie das Feld leer oder setzen Sie 0 für den Midtrans-Standard.

Order ID prefix: wird der Nummer hinzugefügt, die an Midtrans gesendet wird, damit mehrere Shops ein Midtrans-Konto teilen können. Die Nummer ist die OpenCart-Bestell-ID mit einem Zeitstempel, zum Beispiel OC-123-1700000000. Zulässig sind nur Buchstaben, Ziffern und - _ . ~, bis zu 20 Zeichen; andere Zeichen werden beim Speichern entfernt. Benachrichtigungen anderer Shops werden ignoriert. Standard: OC-.

Bestellungen

OpenCart erstellt die Bestellung im Schritt Confirm Order ohne Status (eine unvollständige Bestellung). Die Bestellung erhält erst dann einen Status, nachdem Midtrans die Transaktion bestätigt hat. Jedes der folgenden Felder zeigt Ihre OpenCart-Bestellstatus.

Status after payment: der Status nach einer bestätigten Zahlung. Standard: In Bearbeitung. Wählen Sie einen Abschlussstatus, um bezahlte Bestellungen als abgeschlossen zu markieren, oder einen eigenen Prüfstatus, um jede bezahlte Bestellung manuell zu kontrollieren.

Awaiting Midtrans payment status: Midtrans meldet pending: Ein virtuelles Konto, ein Convenience-Store-Code oder ein QRIS-Code wurde ausgegeben, oder eine 3-D-Secure-Prüfung der Karte ist nicht abgeschlossen. Standard: Ausstehend.

Midtrans payment on hold status: die Zahlung benötigt Ihre Prüfung (siehe Bestellstatus). Standard: Ausstehend, da OpenCart keinen Status „On hold“ hat. Sie können unter System > Localisation > Order Statuses einen eigenen Status anlegen und hier auswählen.

Payment failed status: Midtrans meldet deny oder failure für eine wartende Bestellung. Standard: Fehlgeschlagen.

Payment expired / cancelled status: die ausstehende Transaktion einer wartenden Bestellung ist abgelaufen oder wurde storniert. Wenn Sie eine unbezahlte Midtrans-Bestellung selbst auf diesen Status setzen, wird ihre ausstehende Midtrans-Transaktion (zum Beispiel ein ausgegebenes virtuelles Konto) abgelaufen, sodass sie nicht mehr bezahlt werden kann. Standard: Storniert.

Refunded status: die Zahlung wurde über die Bestellseite oder im Midtrans-Dashboard vollständig erstattet. Standard: Erstattet.

Erweitert

Debug log: schreibt API-Aufrufe und Benachrichtigungen in midtrans_p_debug.log.php im Logs-Ordner von OpenCart (storage/logs). Die Datei kann nicht über das Web geöffnet werden. Fehler werden immer protokolliert. Schlüssel 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: ist dies aktiviert, entfernt die Deinstallation der Erweiterung die Gateway-Einstellungen und das Protokoll. Die Midtrans-Zahlungsreferenzen und Erstattungen von Bestellungen bleiben immer erhalten, sodass alte Bestellungen nach einer Neuinstallation erstattet werden können. Standard: aus.

Import / Export

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

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

Kasse

Im Schritt Payment Method wählt der Kunde die Zahlungsart (standardmäßig Midtrans). Im Schritt Confirm Order sieht der Kunde Ihre Beschreibung und den Hinweis You will be redirected to the Midtrans payment page (GoPay, QRIS, ShopeePay, cards, bank transfer and more). OpenCart erstellt die Bestellung in diesem Schritt, weiterhin ohne Status. Klickt der Kunde auf Confirm Order, erstellt die Erweiterung eine Midtrans-Snap-Transaktion für den Bestellbetrag in ganzen Rupiah, mit den Bestellpositionen, Versand, Rabatten, Steuern sowie den Rechnungs- und Lieferdaten des Kunden, und leitet den Kunden zur Zahlungsseite von Midtrans weiter. Dort wählt der Kunde eine beliebige Zahlungsart, die in Ihrem Midtrans-Konto aktiviert ist. Bei OpenCart 4 wählt der Kunde die Zahlungsart mit der Schaltfläche Choose im Block der Zahlungsart im Fenster Payment method options und klickt unten auf der Kasse auf Confirm Order.

Nach dem Bezahlen kehrt der Kunde in Ihren Shop zurück. Der Rücksprung-Link markiert eine Bestellung nie als bezahlt: Die Bestellung wird erst bezahlt, wenn Midtrans sie bestätigt, entweder durch die signierte Benachrichtigung oder durch eine Anfrage an die Status-API von Midtrans, wenn der Kunde zurückkommt. Die Bestellung erhält dann 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. Bei einer verzögerten Zahlung zeigt die Seite außerdem We are waiting for Midtrans to confirm your payment. If you chose a bank transfer, virtual account or convenience store, please complete the payment using the instructions from Midtrans. You will receive an e-mail once the payment is confirmed. Kann Midtrans beim Zurückkommen des Kunden nicht erreicht werden, zeigt eine Seite Payment confirmation den Hinweis We are confirming your payment with Midtrans. The order will be updated automatically — please do not pay again. mit einer Schaltfläche Check again und einer Schaltfläche Back to checkout.

Hat der Kunde die Snap-Seite ohne Zahlung verlassen, gelangt er zurück zur Kasse mit The Midtrans payment was not completed. You can try again below. Wurde die Zahlung abgelehnt oder ist sie abgelaufen, lautet die Meldung Your Midtrans payment was declined or has expired. Please try again or choose another payment method. Der Warenkorb bleibt erhalten. Auf OpenCart 4 werden diese Meldungen über der Kasse angezeigt. 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 bezahlt dieselbe Bestellung erneut. In beiden Fällen behandelt die Erweiterung alle Bestellungen eines Warenkorbs als eine Zahlung: Zahlt der Kunde erneut, wird ein unbenutztes oder ausstehendes Snap über denselben Betrag wiederverwendet (ein bereits ausgegebenes virtuelles Konto bleibt gültig); hat sich der Betrag geändert, wird zuerst die ausstehende Transaktion bei Midtrans abgelaufen; wurde inzwischen ein früheres Snap bezahlt, wird diese Zahlung bestätigt, und der Kunde gelangt zur Erfolgsseite, ohne dass eine neue Transaktion entsteht.

OpenCart 4 behält die Bestellung in der Kasse, bis die Erfolgsseite angezeigt wird. Wurde diese Bestellung ohne Zahlung geschlossen (zum Beispiel wurde die Zahlung abgelehnt oder ist abgelaufen, oder Sie haben die Bestellung storniert), wird der Kunde mit Your previous order was cancelled without a payment. Please confirm the order again to pay with a new order. zurück zur Kasse geschickt, und das nächste Confirm Order bezahlt eine neue Bestellung. Ist die Bestellung bereits aufgegeben und der Warenkorb hat sich seitdem geändert, lautet die Meldung Your previous order #(number) has already been placed. Your cart has changed: please confirm the new order to pay for it. Eine Änderung des Warenkorbs, auch eine neue Menge, gilt als neuer Warenkorb, der eine eigene Zahlung braucht. Wird die Zahlung einer Bestellung abgelehnt oder ist sie abgelaufen, nachdem der Warenkorb bereits geleert wurde (zum Beispiel nach einer Zahlung per virtuellem Konto), sieht der Kunde The Midtrans payment of order #(number) was declined or has expired, so the order will not be shipped. To buy these items, please place a new order.

Kann Midtrans die Zahlung nicht starten, bleibt der Kunde im Schritt Confirm Order mit einer kurzen Meldung über der Schaltfläche: Could not connect to Midtrans. Please try again in a moment., Midtrans payments are temporarily unavailable. Please choose another payment method or contact us. (zum Beispiel bei einem falschen Server Key) oder der Grund von Midtrans. Der technische Grund wird im Protokoll festgehalten.

Die Benachrichtigung funktioniert auch, wenn 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 auch die Rückkehr des Kunden von Midtrans durchlässt.

Die Erweiterung nutzt nur Snap Redirect. Es gibt kein Snap-Popup, kein Kartenformular auf Ihrer Website, keine gespeicherten Karten oder Ein-Klick-Zahlungen, keine Einstellungen für Teilzahlungen oder Aktionen (Zahlungsarten konfigurieren Sie im Midtrans-Dashboard) und keine Abonnements. Kartenzahlungen werden sofort erfasst, ohne getrennte Autorisierung und Erfassung.

Bestellungen und Erstattungen

Bestellstatus

No status (missing order): der Kunde wurde zu Midtrans weitergeleitet und hat noch nicht bezahlt, oder Midtrans hat die Zahlung noch nicht bestätigt. Unter Sales > Orders werden solche Bestellungen nur mit dem Filter Order Status auf Missing Orders angezeigt.

Awaiting Midtrans payment status (Standard Ausstehend): der Kunde hat eine verzögerte Methode gewählt oder eine Kartenzahlung begonnen, die nicht abgeschlossen ist. Sobald Midtrans die Zahlung meldet, wechselt die Bestellung zu Status after payment.

Status after payment (Standard In Bearbeitung): die Zahlung wurde bestätigt. Eine Notiz zeigt die Zahlungsart, die Midtrans-Bestell-ID und die Transaktion.

Midtrans payment on hold status (Standard Ausstehend): eine Kartenzahlung wird durch eine Betrugsprüfung geprüft (challenge, noch kein Geld erfasst), der bezahlte Betrag oder die Währung stimmten nicht mit der Bestellung überein (die Bestellung wird nicht als bezahlt markiert), oder eine Zahlung ist für eine stornierte Bestellung eingegangen (die Bestellung wird nicht automatisch wieder geöffnet). Die Notiz erklärt es. Prüfen Sie die Bestellung und erfüllen Sie sie dann oder erstatten Sie die Zahlung.

Payment expired / cancelled status (Standard Storniert): die unbezahlte Transaktion einer wartenden Bestellung ist abgelaufen oder wurde storniert.

Payment failed status (Standard Fehlgeschlagen): die Zahlung ist fehlgeschlagen, oder eine geprüfte Kartenzahlung wurde abgelehnt.

Refunded status (Standard Erstattet): die Zahlung wurde vollständig erstattet.

OpenCart benachrichtigt den Kunden über diese Statusänderungen auf die übliche Weise. Trifft für denselben Warenkorb eine zweite Zahlung ein, bleibt die Bestellung unverändert. Eine Notiz an der bezahlten Bestellung bittet Sie, die zweite Zahlung im Midtrans-Dashboard zu erstatten. Eine Zahlung zu einer erstatteten Bestellung fügt nur eine Notiz hinzu.

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

Registerkarte VibeFox Midtrans Payment Gateway

Öffnen Sie unter Sales > Orders eine mit Midtrans bezahlte Bestellung. Unten auf der Bestellseite, neben History und Additional, zeigt die Registerkarte VibeFox Midtrans Payment Gateway die Midtrans order ID, die Transaction ID (verlinkt mit der Transaktion im Midtrans-Dashboard der Zahlungsumgebung) mit dem Etikett Sandbox bei Sandbox-Zahlungen, die Payment method, den Status, die Beträge Paid / refunded, das Erstattungsformular, den Erstattungsverlauf und die Midtrans notes der Bestellung. Die Registerkarte wird Benutzern angezeigt, die Zugriff auf die Erweiterung haben.

Erstattungen

Geben Sie auf der Registerkarte VibeFox Midtrans Payment Gateway den Amount ein (der noch nicht erstattete Betrag ist vorausgefüllt), optional einen Reason (optional), und klicken Sie auf Refund via Midtrans. Bestätigen Sie die Frage Refund this amount through Midtrans? This cannot be undone. Voll- und Teilerstattungen werden in ganzen Rupiah unterstützt; ein Betrag mit Dezimalstellen wird abgelehnt. Sie benötigen das Recht, die Erweiterung zu bearbeiten (festgelegt unter System > Users > User Groups). Sie können bis zu dem Betrag erstatten, den Midtrans tatsächlich belastet hat, auch wenn die Bestellung später bearbeitet wurde. Die Erstattung wird in der Umgebung gesendet, in der die Zahlung erfolgte; daher muss der Server Key dieser Umgebung gesetzt sein. Midtrans erlaubt Erstattungen über die API nur für bestimmte Zahlungsarten und abgewickelte Transaktionen. Lehnt Midtrans die Erstattung ab, zeigt die Registerkarte den Fehler, und es wird keine Erstattung erfasst; erstatten Sie dann im Midtrans-Dashboard. Eine erfolgreiche Erstattung wird dem Erstattungsverlauf und den Notizen hinzugefügt. Eine Vollerstattung setzt die Bestellung auf Refunded status, ohne den Kunden zu benachrichtigen und ohne Produkte in den Bestand zurückzubuchen, wie eine manuelle Statusänderung. Eine Teilerstattung ändert den Status nicht. Erstattungen sind erst verfügbar, nachdem Midtrans die Zahlung als abgewickelt gemeldet hat.

Produktrücksendungen unter Sales > Returns zahlen über Midtrans kein Geld zurück.

Im Midtrans-Dashboard vorgenommene Erstattungen kommen über die Benachrichtigung an und werden automatisch mit dem Grund Refunded in the Midtrans dashboard dem Erstattungsverlauf hinzugefügt. Wird dort die gesamte Zahlung erstattet, erhält die Bestellung den Refunded status.

Lizenzschlüssel

Die Erweiterung arbeitet mit einem VibeFox-Lizenzschlüssel von vibefox.net. Der Lizenzblock License — VibeFox Midtrans Payment Gateway ist der erste Block unter Extensions > Extensions > Payments > VibeFox Midtrans Payment Gateway > 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-midtrans 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 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 Midtrans 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 Admin-Bereich im selben Browser angemeldet ist, sieht die Zahlungsart im Shop weiterhin, markiert mit (unlicensed — visible to admins only), 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 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 jedoch 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 Eingabe des Schlüssels, danach einmal wöchentlich. Ein Cron-Job ist nicht nötig. Das Deinstallieren der Erweiterung entfernt immer den Lizenzschlüssel und den Lizenzstatus.

Fehlerbehebung

Midtrans erscheint nicht in der Kasse: Prüfen Sie, ob die Lizenz aktiv ist, Enable/Disable eingeschaltet ist und die gewählte Environment ihren Server Key hat. Prüfen Sie, ob die Kassenwährung IDR ist, ob die Zahlungsadresse in der gewählten Geo Zone liegt und ob die Bestellung den in den Einstellungen festgelegten Total erreicht. Die Einstellungsseite zeigt eine Warnung, wenn der Schlüssel fehlt oder die Shop-Währung nicht IDR ist.

Die Zahlung wurde durchgeführt, aber die Bestellung bleibt ohne Status: Die Benachrichtigung funktioniert nicht. Prüfen Sie, ob die URL für Zahlungsbenachrichtigungen im Midtrans-Dashboard der verwendeten Umgebung (Sandbox oder Production) hinterlegt ist, ob sie genau der URL unter Notification URL entspricht und ob sie erreichbar ist: Öffnen Sie sie im Browser, es erscheint eine kurze Erklärung. Aktivieren Sie Debug log, um die Benachrichtigungen zu sehen. Die Bestellung erhält ihren Status auch, wenn der Kunde nach der Zahlung in den Shop zurückkehrt.

Die Benachrichtigung antwortet Invalid signature: Die Benachrichtigung wurde nicht mit Ihrem Sandbox- oder Production-Server-Key signiert. Prüfen Sie, ob die Schlüssel in den Einstellungen zum selben Midtrans-Konto gehören wie das Dashboard, das die Benachrichtigungen sendet.

Die Benachrichtigung antwortet Server key not configured: Es ist kein Server Key gesetzt. Tragen Sie ihn in den Einstellungen ein; Midtrans wiederholt die Benachrichtigung.

Die Benachrichtigung antwortet Order not found — ignored: Die Midtrans-Bestell-ID wurde nicht von diesem Shop vergeben, zum Beispiel von einem anderen Shop auf demselben Midtrans-Konto. Geben Sie jedem Shop einen eigenen Order ID prefix.

Die Benachrichtigung antwortet Environment mismatch — ignored: Die Benachrichtigung wurde mit dem Schlüssel der anderen Umgebung signiert als jener, in der die Zahlung erfolgte.

Die Benachrichtigung antwortet Verification failed, please retry: Die Status-API von Midtrans war nicht erreichbar. Midtrans wiederholt die Benachrichtigung.

Die Benachrichtigung antwortet Busy, please retry: Der Warenkorb wurde gerade von einer anderen Anfrage aktualisiert, oder der Bestellstatus konnte nicht gesetzt werden. Midtrans wiederholt die Benachrichtigung. Sehen Sie im Protokoll nach dem Grund.

Die Bestellung ist im Prüfstatus: Lesen Sie die Midtrans notes im Reiter. Die Kartenzahlung wird durch eine Betrugsprüfung geprüft, der bezahlte Betrag oder die Währung stimmte nicht mit der Bestellung überein, oder die Zahlung ist eingegangen, nachdem die Bestellung storniert wurde.

Der Kunde sieht nach Confirm Order einen Fehler: Sehen Sie im Feld Log auf der Erweiterungsseite nach; Fehler werden immer protokolliert. Ein falscher Server Key führt zur Meldung, dass Midtrans-Zahlungen vorübergehend nicht verfügbar sind. Midtrans only supports payments in IDR (Indonesian Rupiah). Please choose another payment method. bedeutet, dass die Bestellung nicht in IDR ist. This payment method is not available. bedeutet, dass die Kassensitzung nicht mehr zur Bestellung passt oder die Zahlungsart inzwischen deaktiviert wurde: Der Kunde muss die Kasse neu laden.

Der Kunde gelangt mit Payment verification failed. zurück zur Kasse: Der Rücksprung-Link war unvollständig oder gehört nicht zur Bestellung. Die Bestellung erhält ihren Status trotzdem aus der Benachrichtigung.

Kein Erstattungsformular im Reiter: Der Reiter nennt den Grund: Die Zahlung ist noch nicht abgewickelt, sie ist vollständig erstattet, Ihre Benutzergruppe hat kein Recht zur Bearbeitung der Erweiterung, oder für die Umgebung, in der die Bestellung bezahlt wurde, ist kein Server Key gesetzt.

Erstattung schlägt fehl: Die Zahlungsart oder der Transaktionsstatus erlaubt keine Erstattungen über die API. Erstatten Sie im Midtrans-Dashboard; die Erstattung wird dann automatisch in der Bestellung erfasst.

Für Entwickler: Bevor die Snap-Transaktion erstellt wird, löst die Erweiterung das OpenCart-Ereignis midtrans_p_snap_payload mit den Anfragedaten und der Bestellung aus; Bestell-ID und Betrag können nicht geändert werden.

Deinstallation

Gehen Sie zu Extensions > Extensions, wählen Sie den Typ Payments und klicken Sie neben VibeFox Midtrans Payment Gateway 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 des Abschnitts Orders, die bei einer Neuinstallation auf ihre Standardwerte zurückgesetzt werden. Die OpenCart-Ereignisse der Erweiterung werden ebenfalls entfernt (auf OpenCart 4 zusätzlich deren Startup-Aktion, die Benachrichtigungen im Wartungsmodus durchlässt). Ist Delete data on uninstall aktiviert, werden die übrigen Gateway-Einstellungen (Titel, Beschreibung, Umgebung, Server Keys, Zahlungseinstellungen, Protokollierung) und das Protokoll entfernt. Ist es deaktiviert, bleiben sie für eine spätere Neuinstallation erhalten. Die Midtrans-Zahlungsreferenzen und Erstattungen von Bestellungen bleiben immer erhalten, sodass vorher bezahlte Bestellungen nach einer Neuinstallation weiterhin 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 Midtrans Payment Gateway 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.

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