VibeFox Authorize.Net for PrestaShop — Hilfe
Anforderungen
PrestaShop: 8.0 bis 9.x.
PHP: 8.0 oder neuer. Das Modul lässt sich auf älteren PHP-Versionen nicht installieren.
HTTPS: Ihre Kasse muss HTTPS verwenden. Accept.js lässt sich auf reinen HTTP-Seiten nicht ausführen.
Authorize.Net-Konto: Sie benötigen die API Login ID, den Transaction Key und den Public Client Key Ihres Authorize.Net-Kontos sowie einen Signature Key, wenn Sie Webhooks verwenden. Produktionskonten (account.authorize.net) und Sandbox-Konten (sandbox.authorize.net) haben unterschiedliche Zugangsdaten. Authorize.Net-Konten stehen Händlern in den USA, Kanada, Großbritannien, Europa, Australien und Neuseeland zur Verfügung.
Währung: die Warenkorbwährung muss USD, CAD, CHF, DKK, EUR, GBP, NOK, PLN, SEK, AUD oder NZD sein, und Ihr Authorize.Net-Konto muss in dieser Währung abrechnen. Bei anderen Währungen wird die Zahlungsart in der Kasse ausgeblendet.
VibeFox-Lizenzschlüssel: wird auf vibefox.net erworben. Ein Schlüssel gilt für eine Domain.
Installation
1. Gehen Sie im Back-Office zu Modules > Module Manager und klicken Sie auf Upload a module. Wählen Sie die ZIP-Datei des Moduls.
2. Klicken Sie nach Abschluss des Uploads auf Configure, oder suchen Sie später in der Modulliste nach VibeFox Authorize.Net Gateway und klicken Sie dort auf Configure.
3. Geben Sie Ihren VibeFox-Lizenzschlüssel in License key im Lizenzblock oben auf der Seite Configure ein und klicken Sie auf Activate (siehe Lizenzschlüssel).
4. Geben Sie die Zugangsdaten der Sandbox- und der Produktionskonten ein (siehe Konfiguration). Richten Sie optional den Webhook ein.
5. Aktivieren Sie Enable/Disable, wählen Sie den Transaction type und klicken Sie auf Save. Testen Sie eine Zahlung im Sandbox-Modus mit der Karte 4111 1111 1111 1111, einem beliebigen zukünftigen Ablaufdatum und einem beliebigen CVV, und deaktivieren Sie danach Sandbox mode.
Bei der Installation legt das Modul zwei Bestellstatus an: Authorize.Net payment authorized und Authorize.Net payment on hold. PrestaShop aktiviert das neue Zahlungsmodul für alle Währungen, Länder und Kundengruppen. Sie können dies unter Payment > Preferences einschränken.
Konfiguration
Alle Einstellungen befinden sich auf der Modulseite: Modules > Module Manager > VibeFox Authorize.Net Gateway > Configure. Jeder Abschnitt hat eine eigene Schaltfläche Save, die die ganze Seite speichert. Über den Feldern warnt die Seite, wenn SSL für den Shop nicht aktiviert ist (Accept.js funktioniert nur auf HTTPS-Seiten), wenn die Standardwährung des Shops von Authorize.Net nicht unterstützt wird, wenn für den aktuellen Modus keine API Login ID, kein Transaction Key oder kein Public Client Key hinterlegt ist (die Zahlungsart wird dann in der Kasse ausgeblendet) und wenn für den aktuellen Modus kein Signature Key hinterlegt ist (Webhooks sind dann deaktiviert). Solange der Sandbox-Modus aktiv ist, zeigt die Seite Sandbox mode is on: test transactions, no real charges. an.
Authorize.Net
Enable/Disable: Enable Authorize.Net schaltet die Zahlungsart ein oder aus. Standard: deaktiviert.
Title: der Name der Zahlungsart, den Kunden in der Kasse sehen. Er wird auch als Name der Zahlungsart in der Bestellung gespeichert. Standard: Credit Card. Pflichtfeld.
Description: der Text unter der Zahlungsart in der Kasse. Standard: Pay securely with your credit card via Authorize.Net.
API-Zugangsdaten
Öffnen Sie im Authorize.Net Merchant Interface Account > Settings > Security Settings. Kopieren Sie unter API Credentials & Keys die API Login ID und erstellen Sie einen Transaction Key und einen Signature Key. Kopieren Sie unter Manage Public Client Key den Public Client Key. Sandbox und Produktion verwenden unterschiedliche Zugangsdaten. Die Seite zeigt die Felder beider Modi, sodass Sie beide Sätze behalten können.
Sandbox mode: verwendet die Authorize.Net-Sandbox (Testtransaktionen, keine echten Belastungen). Dabei werden der API-Endpunkt, Accept.js und die Zugangsdaten für neue Zahlungen umgeschaltet. Standard: aktiviert. Deaktivieren Sie ihn, um echte Zahlungen anzunehmen. Solange er aktiv ist, sehen Kunden unter der Zahlungsart einen Hinweis mit der Testkarte 4111 1111 1111 1111.
Sandbox API Login ID und Live API Login ID: die API Login ID des Sandbox- bzw. des Produktionskontos.
Sandbox Transaction Key und Live Transaction Key: der Transaction Key dieses Kontos.
Sandbox Public Client Key und Live Public Client Key: der öffentliche Schlüssel, den Accept.js im Browser verwendet.
Sandbox Signature Key und Live Signature Key: nur für Webhooks erforderlich. Er prüft den Header X-ANET-Signature jeder Benachrichtigung.
Gespeicherte Transaction Keys und Signature Keys 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.
Clear saved secrets: Markieren Sie einen Schlüssel und klicken Sie auf Save, um ihn zu entfernen. Ein leeres Feld behält den gespeicherten Wert bei.
Zahlung
Transaction type: legt fest, wie die Karte belastet wird. Eine Autorisierung verfällt nach 30 Tagen.
Webhooks (empfohlen)
Ohne Webhooks müssen Bestellungen, die vom Fraud Detection Suite zurückgehalten werden, sowie Bestellungen, die im Authorize.Net-Panel erfasst oder storniert wurden, von Hand aktualisiert werden. Gehen Sie im Merchant Interface zu Account > Settings > Business Settings > Webhooks und klicken Sie auf Add Endpoint, sowohl im Sandbox- als auch im Produktionskonto. Verwenden Sie die URL, die in diesem Abschnitt unter Endpoint URL angezeigt wird. Mit lesbaren URLs sieht sie etwa so aus: https://your-shop/module/wcp_authorizenet_gateway/webhook, eventuell mit einem Sprachcode wie /en/. Kopieren Sie die URL genau so, wie die Einstellungen sie anzeigen. Wählen Sie diese Ereignisse aus (sie sind ebenfalls in diesem Abschnitt aufgeführt):
Geben Sie den Signature Key jedes Kontos in Sandbox Signature Key bzw. Live Signature Key ein. Webhooks ohne gültige Signatur werden abgelehnt. Eine Benachrichtigung muss mit dem Schlüssel des Modus signiert sein, in dem die Zahlung erfolgt ist; eine Benachrichtigung des anderen Modus ändert nichts. Für jede Benachrichtigung fragt das Modul bei Authorize.Net außerdem den aktuellen Status und Betrag der Transaktion ab, bevor sich die Bestellung ändert. Wiederholte Benachrichtigungen ändern daher nichts.
Erweitert
Debug log: schreibt API-Anfragen und -Antworten in logs/wc_ang_debug.log.php im Modulordner. Die Datei kann nicht über das Web geöffnet werden. Schlüssel, Kartentoken und personenbezogene Daten werden maskiert. Standard: deaktiviert. Fehler wie abgelehnte oder fehlgeschlagene Zahlungen, API-Fehler und fehlgeschlagene Erstattungen werden immer protokolliert, auch wenn diese Option deaktiviert ist.
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 die Deinstallation des Moduls die Einstellungen und das Protokoll. Die Authorize.Net-Transaktionen, Erstattungen und die Bestellstatus des Moduls bleiben immer erhalten, sodass zuvor bezahlte Bestellungen nach einer Neuinstallation noch erfasst und erstattet werden können. Standard: deaktiviert.
Kasse
Im Zahlungsschritt wählt der Kunde die Zahlungsart (standardmäßig Credit Card) und gibt Kartennummer, Ablaufdatum (MM/YY) und Kartenprüfnummer (CVV) in das Formular darunter ein. Accept.js wird nur auf der Kassenseite geladen. Wenn der Kunde die Bestellung abschickt, tauscht Accept.js die Kartendaten im Browser gegen einen einmaligen Token. Die Kartenfelder haben keine Formularnamen, daher werden Kartennummer und CVV nie an Ihren Server gesendet.
Das Modul belastet den Token über die Authorize.Net-API mit dem Gesamtbetrag des Warenkorbs in der Warenkorbwährung. Rechnungsadresse, E-Mail-Adresse und IP-Adresse werden zusammen mit der Transaktion zur Adressprüfung und für Betrugsfilter übermittelt. Die Warenkorbnummer wird als Rechnungsnummer gesendet, da vor der Zahlung noch keine Bestellung existiert. Die Bestellung wird erst als bezahlt markiert, nachdem Authorize.Net dies bestätigt hat: Wird die Transaktion genehmigt, wird die Bestellung sofort angelegt, und der Kunde sieht die übliche Bestellbestätigungsseite mit Your card payment has been received. Bei Authorize only zeigt die Seite Your card payment has been authorized. The amount will be charged when your order is processed. Hält der Fraud Detection Suite die Transaktion zurück, zeigt die Seite Your payment is being reviewed. We will update your order as soon as the review is complete.
Wird die Karte abgelehnt, bleibt der Kunde im Zahlungsschritt und sieht Payment failed: mit dem Grund, zum Beispiel eine abgelehnte Karte, ein falscher Kartencode oder eine abgelaufene Karte. Es wird keine Bestellung angelegt, und der Warenkorb bleibt erhalten. Konfigurations- und API-Fehler werden Kunden nicht angezeigt: Sie sehen eine allgemeine Meldung, die Details stehen im Protokoll. Kann der Shop Authorize.Net nicht erreichen, sieht der Kunde Payment error: unable to connect to the payment gateway. Please try again. Sind die Kartenfelder leer, fordert das Formular auf: Please enter the card number, expiry date and card code.
Ein Doppelklick, ein zweiter Tab oder eine wiederholte Absendung belastet einen Warenkorb nie doppelt. Ein zweiter Versuch, während der erste noch läuft, zeigt Your payment is already being processed. Please wait a moment and check your order history before trying again. Wurde eine Zahlung genehmigt, die Bestellung aber nicht angelegt werden konnte, sieht der Kunde Your payment was received, but the order could not be completed automatically. Please contact us — do not pay again. Die Bestellung wird dann beim nächsten Versuch oder durch den Webhook aus der genehmigten Zahlung angelegt, ohne die Karte erneut zu belasten.
Ändert sich der Warenkorb während der Zahlung, stimmt der belastete Betrag nicht mehr mit dem Warenkorb überein. Die Bestellung wird dann mit einer Notiz auf Authorize.Net payment on hold gesetzt, und die Zahlung wird mit dem tatsächlich belasteten Betrag erfasst.
Der Webhook funktioniert auch, wenn der Shop im Wartungsmodus ist, und wird nicht durch die Ländereinschränkung Ihres Shops blockiert.
Das Modul bietet keine gespeicherten Karten oder Kundenprofile, keine Abonnements oder wiederkehrenden Zahlungen, kein eCheck/ACH, Apple Pay, Google Pay, PayPal oder 3-D Secure, keine Teilerfassung einer Autorisierung und keine automatische Währungsumrechnung.
Bestellungen und Erstattungen
Bestellstatus
No order: die Karte wurde abgelehnt oder die Zahlung ist fehlgeschlagen. Es existiert nur der Warenkorb.
Payment accepted: die Karte wurde belastet (Authorize and capture), oder eine Autorisierung wurde erfasst. Die Zahlung wird mit der Authorize.Net Trans ID als Transaktions-ID erfasst; eine Notiz zeigt den Betrag, die Trans ID, den Autorisierungscode, den Kartentyp und die letzten vier Ziffern.
Authorize.Net payment authorized: die Mittel sind nur autorisiert (Authorize only). Erfassen Sie sie vor der Auslieferung.
Authorize.Net payment on hold: der Fraud Detection Suite hat die Transaktion zur Prüfung zurückgehalten, der belastete Betrag stimmt nicht mit dem Bestellbetrag überein, oder eine per Webhook gemeldete Erfassung stimmt nicht mit dem Bestellbetrag überein. Die Notiz erklärt es. Genehmigen oder lehnen Sie eine zurückgehaltene Transaktion im Authorize.Net-Panel ab; mit Webhooks wird die Bestellung automatisch aktualisiert.
Canceled: ein Webhook hat gemeldet, dass die Transaktion abgelehnt, storniert oder abgelaufen ist, bevor die Bestellung bezahlt wurde, oder Sie haben eine nicht erfasste Autorisierung storniert. Wird die Transaktion einer bezahlten Bestellung im Authorize.Net-Panel storniert, ändert sich ihr Status nicht, und es wird eine Warnnotiz hinzugefügt.
Refunded: die Zahlung wurde über das Modul vollständig erstattet oder storniert.
Wird eine zweite Transaktion für einen Warenkorb genehmigt, der bereits eine Bestellung hat, bleibt die Bestellung unverändert. Eine Notiz fordert Sie auf, das Duplikat im Authorize.Net-Panel zu prüfen und zu stornieren oder zu erstatten.
Authorize.Net-Zahlungsblock
Die Bestellseite zeigt einen Block Authorize.Net payment mit der Trans ID, dem Transaktionstyp, dem Transaktionsstatus, der Karte und dem Autorisierungscode, dem belasteten Betrag, dem Bestellbetrag und dem erstatteten Betrag, einem Abzeichen Sandbox für Sandbox-Zahlungen, dem Erstattungsverlauf und den Authorize.Net notes der Bestellung. Erfassung und Erstattungen erfordern nur das Recht, Bestellungen zu bearbeiten, nicht den Zugriff auf die Modulseiten.
Erfassung
Klicken Sie bei einer Bestellung im Status Authorize.Net payment authorized im Block auf Capture payment und bestätigen Sie Capture the authorized amount through Authorize.Net? Der autorisierte Betrag wird erfasst, die Zahlung mit der Trans ID gespeichert und die Bestellung wechselt zu Payment accepted. Schlägt die Erfassung fehl, wird der Fehler angezeigt und in den Notizen vermerkt. Sie können auch im Authorize.Net-Panel erfassen; mit Webhooks wird die Bestellung automatisch aktualisiert.
Erstattungen
Geben Sie im Block den Betrag ein (der noch nicht erstattete Betrag ist vorausgefüllt), optional einen Grund, klicken Sie auf Refund via Authorize.Net und bestätigen Sie Refund this amount through Authorize.Net? This cannot be undone. Eine Erstattung des vollen Betrags storniert zuerst die Transaktion, wenn sie noch nicht abgerechnet ist, oder eine nicht erfasste Autorisierung. Abgerechnete Transaktionen, meist nach 24 Stunden, können ganz oder teilweise erstattet werden. Vor der Abrechnung ist eine Teilerstattung nicht möglich: Erstatten Sie den vollen Betrag, um die Transaktion zu stornieren, oder versuchen Sie es nach der Abrechnung erneut. Erstattungen erfolgen in dem Betrag und in der Währung, die Authorize.Net belastet hat. Nach einer Betragsabweichung können Sie daher bis zu dem Betrag erstatten, den der Kunde tatsächlich bezahlt hat, nicht den Bestellbetrag. Lehnt Authorize.Net die Erstattung ab, zeigt der Block den Fehler, und es wird keine Erstattung erfasst. Eine erfolgreiche Erstattung oder Stornierung wird dem Erstattungsverlauf und den Notizen hinzugefügt. Eine vollständige Erstattung setzt die Bestellung auf Refunded (Canceled, wenn nur eine Autorisierung storniert wurde). Eine Teilerstattung ändert den Status nicht. Solange eine Transaktion zur Prüfung zurückgehalten wird, werden keine Erstattungen angeboten.
Erfassungen, Erstattungen und Webhook-Prüfungen einer Bestellung verwenden die Zugangsdaten des Modus, in dem die Bestellung bezahlt wurde. Bestellungen des anderen Modus können daher auch nach dem Umschalten von Sandbox mode noch erfasst und erstattet werden. Bewahren Sie die Zugangsdaten dieses Modus in ihren Feldern auf, bis diese Bestellungen abgeschlossen sind.
Das Modul erstellt keine Gutschriften. Die Standard-Erstattungsschaltflächen von PrestaShop auf der Bestellseite senden kein Geld über Authorize.Net zurück. Im Authorize.Net-Panel vorgenommene Erstattungen werden dem Shop nicht gemeldet: Aktualisieren Sie die Bestellung manuell.
Lizenzschlüssel
Das Modul funktioniert mit einem VibeFox-Lizenzschlüssel von vibefox.net. Der Lizenzblock License — VibeFox Authorize.Net Gateway ist der erste Block auf Modules > Module Manager > VibeFox Authorize.Net Gateway > Configure, oberhalb der Einstellungen. Geben Sie den Schlüssel in License key ein und klicken Sie auf Activate. Danach zeigt der Block den Schlüssel maskiert, den Status (zum Beispiel das Datum, bis zu dem die Lizenz gültig 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: presta-payment-authorizenet und der Link Manage licenses and domains in your account, der Ihr vibefox.net-Konto öffnet. Den Schlüssel können nur Mitarbeiter mit der Berechtigung Configure für das Modul ändern. Die Texte des Blocks folgen der Sprache des Back Office (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 in Ihrem Konto einen Domain-Platz freigegeben haben, klicken Sie auf Check now. Ist der Lizenzserver nicht erreichbar, arbeitet das Modul mit dem zuletzt bekannten Status weiter.
Ein Schlüssel gilt für eine Domain: die Domain des Hauptshops, auch bei einer Multistore-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 die Kartenzahlung mit Authorize.Net Kunden in der Kasse nicht angezeigt. Wird trotzdem eine Zahlung gestartet, sieht der Kunde This payment method is not available. Please choose another one. Der PrestaShop-Shop weiß nicht, dass Sie im Back Office angemeldet sind; daher wird die Zahlungsart auch für Sie ausgeblendet: Sie können das Modul vor dem Kauf eines Schlüssels einrichten, aber nicht in der Kasse testen. Ein Hinweis erscheint unter Modules > Module Manager auf dem Tab Alerts. Bestehende Bestellungen sind nicht betroffen: bereits gestartete Zahlungen werden weiterhin bestätigt, und Erfassungen und Erstattungen funktionieren.
Läuft eine Lizenz ab, arbeitet das Modul weiter, doch Updates und Support erfordern eine Verlängerung. Der Status wird während Ihrer Arbeit im Back Office 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 nötig. Das Deinstallieren oder Zurücksetzen des Moduls entfernt immer den Lizenzschlüssel und den Lizenzstatus.
Fehlerbehebung
Authorize.Net wird nicht in der Kasse angezeigt: prüfen Sie, ob die Lizenz aktiv ist, Enable/Disable eingeschaltet ist und der aktuelle Modus eine API Login ID, einen Transaction Key und einen Public Client Key hat. Die Einstellungsseite zeigt eine Warnung, wenn etwas fehlt. Prüfen Sie, ob die Warenkorbwährung unterstützt wird, und unter Payment > Preferences, ob das Modul für die Warenkorbwährung, das Land des Kunden und die Kundengruppe erlaubt ist.
Die Zahlung war erfolgreich, aber die Bestellung bleibt bei Authorize.Net payment on hold oder authorized: der Transaktionstyp ist Authorize only (erfassen Sie sie im Bestellblock), oder Authorize.Net hat die Transaktion zur Prüfung zurückgehalten. Genehmigen oder lehnen Sie sie im Authorize.Net-Panel ab. Damit solche Bestellungen automatisch aktualisiert werden, richten Sie den Webhook ein: Prüfen Sie, ob der Endpunkt im Konto des verwendeten Modus existiert, ob seine URL genau der unter Endpoint URL angezeigten entspricht, ob die vier Ereignisse ausgewählt sind und ob der Signature Key dieses Kontos eingetragen ist.
Webhook answers webhooks are not configured: für keinen der beiden Modi ist ein Signature Key eingetragen.
Webhook answers invalid signature: der Signature Key gehört zu einem anderen Konto, oder ein Schlüssel wurde in Authorize.Net geändert. Erstellen oder kopieren Sie den Signature Key erneut und fügen Sie ihn in das Feld seines Modus ein.
Webhook answers mode mismatch: die Benachrichtigung wurde mit dem Schlüssel des einen Modus signiert, die Zahlung wurde aber im anderen Modus getätigt. Prüfen Sie, ob der Sandbox- und der Live-Signature-Key nicht vertauscht sind.
Webhook answers verification failed, retry later: der Shop konnte die Transaktion nicht über die Authorize.Net-API abrufen, oder die Zugangsdaten des Modus der Zahlung fehlen. Authorize.Net wiederholt die Zustellung.
Webhook answers busy, retry later: die Bestellung wurde gerade von einer anderen Anfrage aktualisiert, oder die Bestellung konnte nicht angelegt werden. Authorize.Net wiederholt die Zustellung. Den Grund finden Sie im Feld Log.
Die Webhook-URL zeigt im Browser method not allowed: das ist normal. Die URL akzeptiert nur Anfragen von Authorize.Net.
Das Kartenformular zeigt The secure card form (Accept.js) could not be loaded: die Kasse muss HTTPS verwenden, und der Public Client Key und die API Login ID des aktuellen Modus müssen korrekt sein.
Payment error: the card could not be tokenized: Accept.js hat keinen Token zurückgegeben. Der Kunde sollte die Kartendaten erneut eingeben und es noch einmal versuchen.
Der Kunde sieht einen allgemeinen Fehler: sehen Sie im Feld Log auf der Modulseite nach; Fehler werden dort immer geschrieben. Eine Währung, die das Konto nicht unterstützt, wird von Authorize.Net abgelehnt.
Eine Teilerstattung schlägt fehl, weil die Transaktion noch nicht abgerechnet ist: erstatten Sie den vollen Betrag, um die Transaktion zu stornieren, oder versuchen Sie es nach der Abrechnung erneut, meist innerhalb von 24 Stunden.
Erstattung oder Erfassung schlägt mit einer Meldung zum Modus fehl: die Zahlung wurde im Sandbox- oder Live-Modus getätigt, und die API Login ID und der Transaction Key dieses Modus sind nicht eingetragen. Geben Sie sie ein und versuchen Sie es erneut.
Deinstallation
Gehen Sie zu Modules > Module Manager, öffnen Sie das Menü neben VibeFox Authorize.Net Gateway und wählen Sie Uninstall. Lizenzschlüssel und Lizenzstatus dieses Moduls werden immer entfernt. Ist Delete data on uninstall aktiviert, werden die Einstellungen und das Protokoll entfernt. Ist es deaktiviert, bleiben alle Einstellungen für eine spätere Neuinstallation erhalten. Die Authorize.Net-Transaktionen und Erstattungen sowie die Bestellstatus Authorize.Net payment authorized und Authorize.Net payment on hold bleiben immer erhalten, sodass zuvor bezahlte Bestellungen nach einer Neuinstallation noch erfasst und erstattet werden können. Bestehende Bestellungen behalten ihre Zahlungsnotizen und Transaktions-IDs.
Authorize.Net ist eine Marke ihres jeweiligen Inhabers. Dieses Modul ist weder mit Authorize.Net verbunden noch wird es von Authorize.Net unterstützt.
