1Einleitung

Diese Anleitung beschreibt die Installation, die Konfiguration und die Nutzung der Zahlungserweiterung für OpenCart und Opayo.

Bevor Sie mit der Installation beginnen können, stellen Sie sicher, dass Sie im Besitz aller notwendigen Daten sind:

  • Sie sollten von Opayo einen Händlernamen, Benutzernamen sowie ein Passwort für die Live und Test Plattform erhalten haben
  • OpenCart Zahlungsmodul von sellxed.com/shop
  • Zugangsdaten zu Ihrem Server und Shop

Falls Sie noch nicht im Besitze eines Vertrags mit Opayo sind, können Sie diesen gerne auch direkt durch uns beziehen.

1.1Ablauf der Installation

In diesem Dokument erhalten Sie alle Informationen, welche für die Installation des Moduls notwendig sind. Für die Inbetriebnahme des Moduls sollten Sie die einzelnen Punkte der Checkliste strikt befolgen. Nur so kann ein sicherer Einsatz in Übereinstimmung mit allen Sicherheitsregularien gewährleistet werden.

  1. Konfiguration der Test-Administrationsoberfläche von Opayo. Sie finden die Tetplattform unter https://test.sagepay.com/mysagepay/loginpage.msp
  2. Konfiguration der Grundeinstellungen des Zahlungsmoduls
  3. Konfiguration der Zahlungsarten
  4. Durchführen einer Testbestellung anhand der beigelegten Testdaten am Ende dieses Dokuments.
  5. Sofern der Test erfolgreich verlaufen ist, verlangen Sie die Liveschaltung Ihres Account bei Opayo. Mit den erhaltenen Zugangsdaten können Sie sich nun in der Live Umgebung einloggen. Die Live Umgebung finden Sie unter folgender URL: https://live.sagepay.com/mysagepay/loginpage.msp
Installationsservice

Unsere Zahlungsmodule sind standardmässig so vorkonfiguriert, dass die Installation gleich nach dem Eintragen der benötigten Keys funktionieren sollte. Sollten Sie einen Setting aus der Konfiguration des Moduls nicht kennen, können Sie sich gerne mit unserem Support in Verbindung setzen.

Unser Support Team steht Ihnen während der Geschäftszeiten gerne zur Verfügung: http://www.sellxed.com/support. Sie haben zudem jederzeit die Möglichkeit unseren Installationsservice zu bestellen. Wir sorgen für eine reibungslose Installation in Ihrem Shop: http://www.sellxed.com/shop/de/integration-und-installation.html

.htaccess Verzeichnisschutz

Für den Test des Zahlungsmoduls muss jeglicher Verzeichnisschutz oder IP Sperre auf Ihrem Server zwingend ausgeschaltet sein, sonst kann es sein, dass das Zahlungsfeedback von Opayo nicht bis zu Ihrem Shop durchdringt.

1.2System Anforderungen

Generell hat das Plugin die gleichen Anforderungen an das System wie OpenCart selber. Nachfolgend finden Sie die wichtigsten Anforderungen des Plugins:
  • PHP Version: 5.4.x oder höher
  • OpenSSL: Aktuelle Version mit Unterstützung von TLS 1.2 oder höher.
  • fsockopen: Die PHP Funktion fsockopen muss zur Verfügung stehen. Das Plugin muss Verbindungen zu anderen Servern öffnen können.
  • PHP Funktionen: Im weiteren müssen alle gängigen PHP Funktionen zur Verfügung stehen.

Verwenden Sie OpenCart in der Version 3.0.3.5 oder 3.0.3.6, müssen Sie ihren Store patchen, um das Twig-Extension-Problem zu beheben. Dies kann bspw. mit der Installation der folgenden Extension gelöst werden: https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=40469.

2Konfiguration Opayo - Backend

Loggen Sie sich für die Konfiguration bei Opayo im Administration Tool (MySagePay) ein:

Die Parameter welche auf den folgenden Seiten eingestellt werden sind Voraussetzung für die spätere Konfiguration des Hauptmoduls.

2.1Gültige IPs

Damit Sie von Ihrem Shop auf die Payment Page von SagePay zugreifen können muss die IP Ihres Servers bei SagePay als gültige IP eingetragen werden.

2.1.1Identifizieren der IP Adresse Ihres Shops

In einem ersten Schritt müssen Sie die IP Adresse Ihres Shops herausfinden. Dafür haben wir auf der Informationsseite des Plugins für Sie die Anzeige der IP eingebaut. Öffnen Sie dafür die About Seite des Plugins.

Alternativ erfragen Sie Ihre IP einfach direkt bei Ihrem Hoster Ihrer Website.

Abbildung 2.1: Hier ein Beispiel der About Seite mit IP von Magento

2.1.2Eintragen der gültigen IP

Klicken Sie nun auf Hinzufügen und tragen Sie die oben identifizierte IP Adresse ein. Als Subnetzmaske tragen Sie 255.255.255.000 ein.

Abbildung 2.1: Hinzufügen einer IP

3Modul Installation im OpenCart Shop

3.1Installation

Sie sollten zu diesem Zeitpunkt bereits im Besitz des Moduls sein. Falls nicht erhalten Sie die Moduldateien in Ihrem Benutzerkonto im sellxed Shop (Menüpunkt "Meine Downloadartikel"). Um das Modul in Ihrem OpenCart Shop zu installieren, führen Sie bitte folgende Schritte durch:

  1. Laden Sie das Plugin herunter. Den Download finden Sie in Ihrem sellxed.com Account unter "Meine Downloadartikel".
  2. Entpacken Sie das Archive, welches Sie heruntergeladen haben.
  3. Im entpackten Ordner finden Sie einen Ordner "files"
  4. Für einige Shops werden verschiedene Versionen des Plugins zur Verfügung gestellt.
  5. Laden Sie nun mit Ihrem preferierten FTP Programm den ganzen Inhalt dieses Ordners ins Stammverzeichnis Ihres Shops. Bei gewissen Shops gibt es einen spezifischen Ordner, welcher die Plugins enthält. Sollte dies der Fall sein laden Sie das Plugin in diesen Ordner hoch. Stellen Sie sicher, dass die Ordner nur zusammengeführt werden und nicht ersetzt.
  6. Falls nicht bereits geschehen, loggen Sie sich bitte in Ihrem Shop ein.

3.2Updates und Upgrades

Während der Supportdauer, erhalten Sie unbeschränkten Zugriff auf Updates und Upgrades in Ihrem Kundenkonto. Um über solche Updates informiert zu werden abonnieren Sie bitte den RSS-Feed. Mehr Informationen hierzu finden Sie hier: http://www.sellxed.com/de/updates_upgrades.

3.2.1Update Checklist

Bitte führen Sie vor jedem Update folgende Schritte durch:

  1. Erstellen Sie immer ein Backup der Files und der Datenbank, bevor Sie mit dem Update beginnen
  2. Testen Sie das Update auf einem Testsystem. Wir testen die Module intern, es kann aber sein, dass im Zusammenspiel mit anderen Plugins weitere Fehler auftreten.
  3. Warten Sie bis die Files vollständig auf den Server gespielt sind und besuchen Sie dann die Konfigurationsseite des Hauptmoduls. Falls vorhanden leeren Sie bitte auch noch alle Caches des Shopssystems

Je nach Update kann es sein, dass eine Datenbankmigration durchgeführt werden muss. Wir empfehlen Ihnen daher, dass Update zu einem Zeitpunkt durchzuführen, an dem nicht zu viele Kunden auf Ihrem Shop zugreifen.

Vorsicht bei Updates im Live Shop

Besondere Vorsicht ist bei Updates im Live Shop geboten. Testen Sie ein Update immer zuerst in einem Testsystem. Unser Support Team hilft Ihnen gerne bei Problemen. Bei Updates direkt im Live-System kann es jedoch zu unterbrüchen kommen, welche je nach Support Ressourcen bis zu 2 Tage dauern können.

3.2.2Update Instruktionen

Bevor Sie das Update aufspielen, lesen Sie bitte die Update Instruktionen. Diese finden sich am Ende der Pluginseite im Changelog. Sofern nichts weiteres in den Update Instruktionen steht, können die Files einfach überschrieben werden.

4Modul Konfiguration im OpenCart Shop

Die Konfiguration teilt sich in zwei Stufen. Der erste Schritt umfasst die Konfiguration des Hauptmoduls mit den Grundeinstellungen (vgl. Konfiguration des Hauptmoduls). In einem zweiten Schritt können für jede Zahlungsart individuelle Konfigurationen vorgenommen werden. Dies bringt Ihnen volle Flexibilität und grösste Anpassung an Ihre Prozesse.

Erstellen Sie Backups!

Bitte erstellen Sie auf jeden Fall ein Backup des Hauptverzeichnises Ihres Shops. Bei Problemen können Sie so jederzeit wieder zum Ursprungszustand zurückkehren.

Im Weiteren empfehlen wir Ihnen die Integration zuerst auf einem Testsystem durchzuführen. Es kann immer wieder zu Komplikationen mit von Ihnen installierten Drittmodulen kommen. Bei Fragen steht Ihnen unser kompetenter Support gerne zur Verfügung.

5Besonderheit OpenCart 1.5.x / 2.0 / 3.0 Installation

Das Modul ist mit OpenCart 2.x und 1.5.x kompatibel. Achten Sie darauf, dass Sie die Dateien des Ordners files_2.x verwenden, sollten Sie mit OpenCart 2 / MijoShop / AceShop arbeiten. Verwenden Sie den Order files_1.x, wenn Sie OpenCart 1.5 als Basis nutzen.

Um einen reibungslosen Einsatz zu garantieren, müssen Sie einige Besonderheiten bei den entsprechenden Versionen beachten.

5.1Konfiguration des Hauptmoduls

Sie finden die Einstellungen des Hauptmoduls unter "Extension > Modules > Opayo Base Module" . Installieren Sie das Modul indem Sie auf Install klicken.

Mit einem Klick auf Edit gelangen Sie in die Konfiguration des Hauptmoduls. Tragen Sie hier die Daten in die einzelnen Felder ein. Die benötigten Daten haben Sie entweder bereits im Backend von Opayo eingetragen oder von Opayo in vorheriger Korrespondenz erhalten. Jede Option wird zudem mit einem kurzen Info Text im Shop nochamls erläutert.

5.2OpenCart 2.0 / 3.0 - Refresh Modifications

Sollten Sie OpenCart 2.0 verwenden ist es wichtig, dass Sie die Modifications refreshen. Dazu gehen nach Module > Modifications. Oben Rechts finden Sie den Button refresh. Mit dem Klick darauf können Sie die Modifikationen neuladen. Stellen Sie sicher, dass der Ordner system > modifications Schreibrechte besitzt.

5.3Besonderheit OpenCart 1.0 Installation

Sollten Sie OpenCart 1.0 verwenden, dann benötigen Sie die Extension VQMOD. Weitere Informationen zur Installation und zum Projekt finden Sie unter https://github.com/vqmod/vqmod/wiki/Installing-vQmod-on-OpenCart

5.4Konfiguration der Zahlungsart

Nachdem das Hautpmodul erfolgreich konfiguriert wurde, finden Sie unter Extensions > Payments die Einstellungen zu den einzelnen Zahlungsarten in Ihrem Shop. Jede Zahlungsart wird Ihnen einzeln aufgelistet. Installieren Sie jene Zahlungsmethoden, welche Sie Ihren Kunden anbieten möchten. Sie können für jede Zahlungsart individuelle Einstellungen vornehmen und so die Zahlung optimal an Ihre Prozesse anpassen. Die zentralen Optionen werden in der Folge genauer erläutert.

Mit dem Klick auf Install wird eine Zahlungsmethode in Ihrem Shop installiert. Klicken Sie auf Edit um die Konfiguration der Zahlungsart anzupassen.

5.5Direktes Verbuchen von Bestellungen

Mit der Option "Buchung" legen Sie fest, ob Zahlungen direkt verbucht, oder zuerst autorisiert werden. Sofern Sie in einem ersten Schritt nur autorisieren möchten, stellen Sie sicher, dass die Zahlungen später verbucht werden.

Eine Reservation ist, abhängig von Ihrem Acquiring Vertrag, nur eine gewisse Zeit garantiert. Sollten Sie in dieser Zeit nicht verbuchen, kann es sein, dass die Autorisierung nicht mehr garantiert wird. Weitere Informationen zum Prozess der Verbuchung finden Sie weiter unten.

Unterschiedliche Einstellungen zwischen Opayo - Backend und Modul

Es kann sein, dass die Einstellungen im Modul für die Zahlungsweise Ihre Einstellungen im Backend von Opayo einfach überschreiben.

5.6Unsicherer Status

Sie können Bestellungen, für welche die Zahlung noch nicht garantiert werden kann, speziell markieren. Dies erlaubt Ihnen diese Bestellung vor dem Versand noch einmal manuell zu prüfen.

5.6.1Setzen von Order-Status

Sie können für jede Zahlungsart festlegen in welchen Status die Bestellung je nach Buchungsstatus verschoben werden soll. Es handelt sich hier um den initialen Status der Bestellung.

5.7Optional: Validierung

Mit der Validierung steuern Sie den Zeitpunkt wann eine Zahlungsart im Checkout angezeigt werden soll. Diese Einstellung ist für Module relevant bei denen die Benutzung von Voraussetzungen Ihres Kunden abhängig ist. Beispielsweise wenn noch eine Bonitätsprüfung erfolgen soll, oder die Zahlungsart nur in gewissen Ländern verfügbar ist. Es kann sein, dass diese Einstellung bei Ihnen nicht ersichtlich ist. Dann überspringen Sie diesen Punkt.

Sollte die Einstellung ersichtlich sein, haben Sie die Wahl zwischen folgenden Optionen:

  • Validierung vor Auswahl der Zahlungsmethode: Es erfolgt vor der Auswahl der Methode eine Validierungsprüfung. Sofern die Voraussetzungen nicht erfüllt sind, wird die Zahlungsart nicht angezeigt.
  • Validierung nach der Auswahl der Zahlungsmethode: Die Prüfung der Voraussetzung erfolgt nach der Wahl und vor der Bestätigung der Bestellung.
  • Während der Autorisierung: Die Validierungsprüfung erfolgt durch Opayo während dem Autorisierungsprozess. Die Zahlungsmethode wird auf jeden Fall angezeigt.

6Einstellungen / Konfiguration von Zahlungsarten

6.1Allgemeine Informationen zu den Zahlungsarten

Das Plugin wird mit einer grossen Auswahl von Zahlungsarten ausgeliefert. Sollte eine Zahlungsart nicht verfügbar sein, bitten wir Sie sich mit uns in Verbindung zu setzen.

Für die Nutzung einer Zahlungsmethode muss die Zahlungsart in Ihrem Konto bei Opayo und im Shop aktiviert sein. Informationen zur Konfiguration des Zahlungsmoduls finden Sie weiter oben.

In den folgenden Punkten finden Sie wichtige Informationen zu bestimmten Zahlungsarten, die sich vom Standard unterscheiden.

6.2Informationen zum Zahlungszustand

Sie können für jede Zahlungsart den initialen Zahlungsstatus individuell definieren (Status für autorisierte Zahlungen etc). Dabei definieren Sie den Zahlungsstatus für die einzelnen Zustände abhängig von der Verarbeitungsart der Bestellung (verbucht, autorisiert, etc.). Es handelt sich dabei um den initialen Status, welcher die Bestellung annimmt. Abhängig von der durch Sie durchgeführten Mutationen kann sich der Status ändern.

Wichtige Info bezüglich dem Bestellstatus

Setzen Sie den Status nie auf Pending Opayo oder einen ähnlich lautenden pending status, der durch das Modul eingeführt wird.

6.2.1Bestellstatus "ausstehend" / bevorstehende Zahlung (oder ähnlich)

Bestellungen mit dem Status 'pending Opayo' sind pendente Bestellungen. Der Status wird gesetzt, wenn der Kunde für die Zahlung umgeleitet wird aber nicht erfolgreich zurückkehrt oder das Feedback nicht bis zu Ihrem Shop gekommen ist (Kunde hat das Fenster auf der Payment Page geschlossen und die Zahlung nicht abgeschlossen). Abhängig von der Zahlungsart werden diese Bestellungen automatisch in abgebrochene Bestellungen umgewandelt und der Lagerbestand wieder freigegeben (sofern der Cronjob Aktiviert ist). Diese Zeitspanne hängt von den Eigenheiten der Zahlungsart ab, und kann nicht konfiguriert werden.

Wenn Sie eine Vielzahl ausstehender Bestellungen haben, deutet dies in der Regel darauf hin, dass die Notifikationen von Ihrem Webserver zu Opayo blockiert werden. In diesem Fall überprüfen Sie die Einstellungen Ihrer Firewall und bitten den Hoster die IPs und User Agents von Opayo zu aktivieren.

6.2.2Abgebrochene / stornierte Bestellungen

Bestellungen, die als abgebrochen markiert werden, wurden wie oben beschrieben automatisch in diesen Status aufgrund des Timeouts versetzt. Abgebrochen werden aber auch alle Bestellungen, welche von den Kunden aktiv abgebrochen wurden.

6.3Opayo Authorisierungsmethoden

Payment Page (Server) und iFrame (Server mit iFrame) sind die Authorisierungsmethoden, für welche keine PCI-zertifizierung erforderlich ist. Auf der Produktbeschreibungseite können Sie die Zahlarten und die konfigurierbaren Authrosierungsmethoden in Echtzeit einsehn. Bei der Authorisierungsmethode Server Authorisierung (Direct) handelt es sich um eine Integrationen, welche eine PCI Zeritifizierung verlangen. Sehen Sie von diesen Integrationen daher unbedingt ab, wenn Sie nicht PCI zertifiziert sind.

6.3.1Wahl der Autorisationsmethode - nationale Zahlarten

Sie haben die Wahl zwischen der Integration via InFrame oder Payment Page. Wenn Sie die nationalen Zahlungsverfahren wie ELV, Sofortüberweisung, etc. nutzen möchten, müssen Sie Payment Page als Autorisationsmethode wählen.

6.3.2Betrugserkennungsregeln

Sie haben die Möglichkeit Bestellungen nach gewissen Kriterien zu filtern und anschliessend vom System markieren zu lassen. Dafür wählen Sie die Regelkombination, welche - kumulativ erfüllt - dazu führt, dass die Bestellungen in einen Wartezustand zur manuellen Prüfung verschoben werden.

Abbildung 6.1: Fraud Rules Konfiguration.

6.4Opayo PayPal

Sie haben die Möglichkeit PayPal ebenfalls via Opayo abzuwickeln. Dazu muss die Zahlungsart in Ihrem Konto aktiviert werden.

Folgen Sie für die Konfiguration den Integrationshandbücher von Opayo. Diese Finden Sie im Administrationsbereich (MySagePay) unter dem Tab 'Zahlungsarten'.

7Das Modul in Aktion

In der Folge finden Sie eine Übersicht über die wichtigsten Funktionen im täglichen Gebrauch des Opayo Moduls.

7.1Nützliche Transaktionsinformationen zur Bestellung

Sie finden in jeder Bestellung, die mit unserem Modul abgewickelt wurde, eine Übersicht über die wichtigsten Informationen zur Transaktion. Unter anderem erauben diese Informationen die eindeutige Zuordnung der Bestellungen zu den Transaktionen, welche Sie bei Opayo im Backend sehen.

Abbildung 7.1: Transaktionsinformationen in OpenCart.

7.2Nutzung des Alias Managers / Token Lösung

Mit dem Alias Manager können Kreditkarten Ihrer Kunden für spätere Einkäufe sicher bei Opayo gespeichert werden. Die Nutzung wird aktiviert indem Sie die Option "Alias Manager" in der Konfiguration der Zahlungsart aktivieren. Für spätere Einkäufe kann der Kunde zwischen den bereits gespeicherten Karten wählen und muss so nicht die gesamte Karte nochmals erfassen.

Abbildung 7.1: Alias Manager
Alias Manager Optionen

Die Nutzung des Alias Mangers benötigt die Freischaltung der entsprechenden Option bei Opayo. Nehmen Sie dafür bitte direkt mit dem Support kontakt auf.

7.3Verbuchen / Stornieren von Bestellungen

7.3.1Verbuchen von Bestellungen

Um Bestellungen zu verbuchen, öffnen Sie den Transaktionsmanager unter Sales > Opayo Transactions. Hier finden Sie eine Übersicht über alle Transaktionen. Suchen Sie Die Bestellung im Feld der Bestellnummern. Mit "view" öffnen Sie die Transaktion zur Bestellung.

7.3.1.1Verbuchen kompletter Bestellungen oder Teilverbuchung (partial Capturing)

Durch den Klick auf den Button "Capture Transaction" öffnet sich ein neues Eingabefeld. Sie können nun jeden Artikel einzeln verbuchen, sofern Sie nicht alle Artikel auf einmal versenden können. Die Anzahl der Verbuchung von Teilbeträgen hängt von Ihrem Vertrag ab. Erkundingen Sie sich diesbezüglich direkt bei Opayo.

Verbuchung von Bestellungen im Backend von Opayo

Das Transaktionsmanagement zwischen Opayo und Ihrem Shop ist nicht synchronisiert. Wenn Sie Zahlungen im Backend von Opayo verbuchen, wird der Status im Shop nicht angepasst und ein zweites Verbuchen im Shop ist nicht möglich.

Falls Sie nicht alle Artikel der Bestellung verbuchen wollen, können Sie die Transaktion durch anklicken des Kästchens auch für spätere Verbuchungen schliessen.

Abbildung 7.1: Verbuchen von Bestellungen.
Partial Capturing

Erkundigen Sie sich, ob mehrere Verbuchungen von Opayo in Ihrem Vertrag unterstützt werden. Sonst kann es vorkommen, dass die Transaktion bei einer Teilverbuchung für spätere Verbuchungen geschlossen bleibt.

7.3.2Bestellungen stornieren

Mit dem Klick auf "Cancel Transaction" erfolgt ein Storno der Transaktion und der reservierte Betrag wird auf der Karte Ihres Kunden sofort freigegeben.

Abbildung 7.1: Capture oder Cancel in OpenCart.

7.4Rückvergüten von Bestellungen

Um Bestellungen rückzuvergüten, öffnen Sie die Transaktionsinformationen (vgl. oben).

Sie können jeden einzelnen Artikel oder einen beliebigen Betrag rückerstatten indem Sie die Totalbeträge oder die Anzahl Artikel anpassen.

Abbildung 7.1: Refunds in OpenCart für Opayo.
Maximaler Refund

Mit unserem Zahlungsmodul können Sie nie mehr als 100% des ursprünglich autorisierten Betrages zurückerstatten.

Durch das Ausführen einer Gutschrift verändert sich der Zustand der Bestellung nicht.

7.5Einrichten Cron Job

Um die zeitgesteuerten Funktionen des Plugins zu aktivieren (bspw. Update Service, Löschen pendenteter Bestellungen, etc.) müssen Sie in OpenCart Cron Jobs einrichten. Insbesondere die Update funktion ermöglicht Ihnen nachträgliche Änderungen der Transaktion bei Opayo über die API abzuholen (Bitte beachten Sie, dass es sein kann, dass hier zusätzliche Optionen freigeschaltet werden müssen.

Damit die zeitgesteuerten Aktionen durchgeführt werden richten Sie bitte einen Cron Job in Ihrem Server auf folgenden Controller ein:

https://www.your-shop.com/index.php?route=sagepaycw/cron/cron

Wir empfehlen Ihnen hier eine Cron Engine wie beispielsweise EasyCron. Damit können Sie die Datei (URL) mit einem externen Service aufrufen

8Testing

Bevor Sie vom Test Modus in den Live Modus wechseln, sollten Sie das Modul ausführlich testen.

Testen

Vergessen Sie nicht, nach erfoglreichem Testing den Betriebsmodus von Test auf Live umzustellen.

8.1Testdaten

Nachfolgend finden Sie die Testdaten für die Zahlungsmethoden:
Credit / Debit Card
Kartennummer
4929000000009
Expiry Date
12/2020
CVC
123
Visa
Kartennummer
4929000005559
Expiry Date
12/2020
CVC
123
MasterCard
Kartennummer
5404000000000043
Expiry Date
12/2020
CVC
123
Debit Visa
Kartennummer
4462000000000003
Expiry Date
12/2020
CVC
123
Visa Electron
Kartennummer
4917300000000008
Expiry Date
12/2020
CVC
123

9Fehler und deren Lösungen

Sie finden ausführliche Informationen unter http://www.sellxed.com/de/faq. Sollte sich Ihr Problem mit den zur Verfügung gestellten Informationen nicht lösen lassen, melden Sie sich bitte direkt bei uns: http://www.sellxed.com/de/support

9.1Die Referrer URL erscheint in meinem Analytics Tool

Unter Umständen kann die Referrer URL von Opayo fälschlicherweise im Analytics Tool erscheinen. Dies passiert, wenn der Kunde mit einer HTTP Header Weiterleitung zurück in den Shop geleitet wird. Die meisten Analytic Tools können dieses Problem jedoch minimieren, indem die entsprechende URL aus dem Report ausgeschlossen wird.

Für Google Analytics hilft dieses Step-by-Step Guide am Beispiel von PayPal: Weitere Infos sind unter Punkt 4 beschrieben.

10Kompatibilität zu Third-Party Plugins

Unten aufgeführte Plugins sind kompatibel mit unseren Zahlungsmodulen und erleichtern Ihnen in gewissen Bereichen die Arbeit.

10.1Geburtstag und Geschlecht in OpenCart

Für gewisse Zahlungsanbieter ist es nötig den Geburtstag sowie das Geschlecht des Kunden zu prüfen. OpenCart tut dies standartmässig nicht.

Geburtstag und Geschlecht Abfragen in ihren Checkout einfügen
  1. Fügen Sie dem Checkout Ihres Shops zwei neue Custom Fields hinzu. Dies können Sie im Backend Ihres Shops unt ""Customers > Custom Fields" tun.
  2. Modifizieren Sie dann die "order context getters" so, dass diese den Wert der Order / Session (oder wo immer der vorgängige Schritt die Daten speichert) zurück geben.

    Order Context Getters

    • AbstractOrderContext
    • getBillingDateOfBirth()
    • getBillingGender()

    Diese Funktionen finden Sie in "system/library/cw/SagePay/AbstractOrderContext.php".

11Error Logging

Das Modul logged verschiedene unerwartete Fehler und sonstige Fehler abhängig vom konfigurierten Logging Level. Sollte es ein Problem mit dem Modul geben kann das Log Hinweise auf dessen Ursache liefern.

11.1Log Levels

Sie können das Log Level in den Einstellungen von Opayo konfigurieren.

  • Error: Logt nur unerwartete Fehler. (Standart)
  • Info: Logt zusätzliche Informationen.
  • Debug: Logt debugging relevante Informationen.

11.2Pfad der Log Datei

Die Log Datei wird standarmässig im Log Ordner von OpenCart gespeichert. Der Pfad wir in der config.php Ihres Shops gespeichert. (Standart Pfad: {shopRootDirectory}/system/logs oder {shopRootDirectory}/system/storage/logs)

12Erweiterte Informationen

Dieser Abschnitt des Manuals beinhaltet Informationen für Anwender mit speziellen Anforderungen. Sämtliche hier aufgeführte Informationen und Konfigurationen sind optional und für die normale Verwendung des Plugins nicht erforderlich.

12.1Transaction Object

In diesem Abschnitt finden Sie Informationen wie Sie Daten zu einer Transaktion aus der Datenbank auslesen können um diese, z.B. in einem ERP System, weiter zu verarbeiten.

Für die Code Snippets in diesem Abschnitt wird angenommen, dass sich Ihr Script im Stammordner des Shops, in einer Standart Ordnerstruktur befindet.

In your script initialize the base of OpenCart.
Opencart 1.x
require_once('config.php');

require_once(DIR_SYSTEM . 'startup.php');

require_once(DIR_SYSTEM . 'library/customer.php');
require_once(DIR_SYSTEM . 'library/affiliate.php');
require_once(DIR_SYSTEM . 'library/currency.php');
require_once(DIR_SYSTEM . 'library/tax.php');
require_once(DIR_SYSTEM . 'library/weight.php');
require_once(DIR_SYSTEM . 'library/length.php');
require_once(DIR_SYSTEM . 'library/cart.php');

$registry = new Registry();
$loader = new Loader($registry);
$registry->set('load', $loader);
$config = new Config();
$registry->set('config', $config);
$db = new DB(DB_DRIVER, DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
$registry->set('db', $db);
Opencart 2.x
require_once('config.php');
require_once(DIR_SYSTEM . 'startup.php');
// Registry
$registry = new Registry();

// Config
$config = new Config();
$config->load('default');
$config->load('catalog');
$registry->set('config', $config);
$loader = new Loader($registry);
$registry->set('load', $loader);
$registry->set('db', new DB($config->get('db_engine'), $config->get('db_hostname'), $config->get('db_username'), $config->get('db_password'), $config->get('db_database'), $config->get('db_port')));
Opencart 3.x
require_once('config.php');
require_once(DIR_SYSTEM . 'startup.php');
// Registry
$registry = new Registry();

// Config
$config = new Config();
$config->load('default');
$config->load('catalog');
$registry->set('config', $config);
$loader = new Loader($registry);
$registry->set('load', $loader);
$registry->set('db', new DB($config->get('db_type'), $config->get('db_hostname'), $config->get('db_username'), $config->get('db_password'), $config->get('db_database'), $config->get('db_port')));
Include the module specific files and set registry.
require_once DIR_SYSTEM.'library/cw/init.php';
require_once DIR_SYSTEM.'library/cw/SagePayCw/Util.php';
require_once DIR_SYSTEM.'library/cw/SagePayCw/Entity/Transaction.php';
SagePayCw_Util::setRegistry($registry);
Now you can load the transaction and then extract the transactionObject.
Load the transaction by Id:
$transactionById = SagePayCw_Entity_Transaction::loadById($transactionId);
$transactionObject = $transactionById->getTransactionObject();
Load transactions by Order ID:
$transactionsByOrderId = SagePayCw_Entity_Transaction::getTransactionsByOrderId($orderId);
foreach($transactionsByOrderId as $transaction){
	$transactionObject = $transaction->getTransactionObject();
	//Do something with each object
}