1Einleitung

Diese Anleitung beschreibt die Installation, die Konfiguration und die Nutzung des Zahlungsmoduls für Drupal und paydirekt.

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

  • Sie benötigen unter anderem einen Owner Account für paydirekt für die Sandbox und / oder den Live Account. Diesen Account erhalten Sie direkt von paydirekt.
  • Sie benötigen das paydirekt Zahlungsmodul von www.sellxed.com/shop.

Falls Sie noch nicht im Besitze eines Vertrags mit paydirekt 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 Sandbox und anlegen der technischen Accounts.
  2. Konfiguration der Zahlungsarten und der Grundeinstellungen.
  3. Durchführung einer Testbestellung anhand der beigelegten Testdaten am Ende dieses Dokuments.
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 paydirekt nicht bis zu Ihrem Shop durchdringt.

2Konfiguration paydirekt

2.1Sandbox und Live Plattform zur Administration

Die Administration und Transaktionsansicht finden Sie, abhängig vom Betriebsmodus, unter folgenden Links. Die Sandbox benötigen Sie für die Testzahlungen.

2.2Konfiguration der API Keys

Führen Sie diese Schritte nach erfolgreichem Test nochmals für die Live Plattform durch.

2.2.1Erstellen eines technischen Benutzers

Melden Sie sich bei https://sandbox.paydirekt.de/merchant/ mit den erhaltenen Zugangsdaten an. Unter "Einstellungen > Benutzerverwaltung" können Sie einen neuen Benutzer hinzufügen respektive die Rechte bestehender Benutzer anpassen. Fügen Sie einen neuen Benutzer hinzu oder stellen Sie sicher, dass Ihr Owner Account die Rollen Reporting, Rückabwicklung, Techniker enthält.

Damit die Änderungen wirksam werden müssen Sie sich ab- und wieder anmelden.

Abbildung 2.1: Bearbeiten der Benutzerrolle (Symbolbild).

2.2.2Generieren eines API Keys und Secrets

Wenn Sie sich einloggen finden Sie nun unter "Einstellungen" die API Keys. Hier können Sie einen API Key und einen Secret Key neu ausstellen. Der API Key und der Secret Key wird Ihnen genau einmal angezeigt. Übertragen Sie die Daten direkt in das Hauptmodul.

Abbildung 2.1: Erstellen eines API Keys (Symbolbild).

2.2.3Logo

Sie können unter Einstellungen auch Ihr Logo hochladen. Dieses wird dann in den Emails und in der Zahlungsstrecke angezeigt.

2.2.4Transaktionsliste

Auf der Startseite haben Sie nun auch Zugriff auf die Transaktionen. Beachten Sie, abgelehnte Transaktionen werden in der Transaktionsliste nicht angezeigt. Von hier aus können Sie Zahlungen auch refundieren. Wir empfehlen Ihnen dies aber direkt via Shop durchzuführen. Zahlungen die Sie über das Backend zurück überweisen, werden nicht in den Shop synchronisiert und können dort nicht mehr refundiert werden.

Abbildung 2.1: Transaktionsübersicht.

2.3Konfiguration des Hauptmoduls

Navigieren Sie in das Hauptmodul in Ihrem Shop. Tragen Sie an der entsprechenden Stelle bitte folgende Daten ein:

  • API Key (haben Sie vorhin erstellt)
  • API Secret (haben Sie vorhin erstellt)

Speichern Sie die Daten entsprechend für den Live oder den Test Mode.

2.4Aktivieren der Zahlungsarten und Testing

Als Nächstes müssen Sie nur noch die Zahlart aktivieren und einen Test durchführen. Weitere Informationen zu den Konfiguration der Zahlungsarten und der Bedeutung der einzelnen Einstellungen finden Sie hier.

Nach Aktivierung und der Konfiguration der Zahlungsarten führen Sie einen Test mittels der publizierten Testdaten in der Anleitung durch. Sofern alle Tests erfolgreich verlaufen Sind, schalten Sie im Hauptmodul den Betriebsmodus auf Live.

3Modul Installation im Drupal 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 Drupal 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 Drupal 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.

4.1Konfiguration des Hauptmoduls

Um das Hauptmodul zu installieren suchen Sie unter Site Settings > Modules nach paydirekt. Aktivieren Sie das Modul mit dem Klick auf das Häckchen und klicken Sie auf Safe configuration.

Nach dem erfoglreichen Abschluss der Installation finden Sie die Konfiguration der Haupteinstellungen unter Store Settings > paydirekt . Tragen Sie hier die notwendigen Parameter ein. Informationen dazu finden Sie direkt in den Hilfetexten.

4.2Konfiguration der Zahlungsart

Nachdem das Hautpmodul erfolgreich konfiguriert wurde, finden Sie unter Store Settings > Payment Methods alle mitgelieferten Zahlungsarten. Aktivieren Sie jede Zahlungsart, welche Sie im Shop anbieten möchten. Sie können für jede Zahlungsart individuelle Einstellungen vornehmen und so die Zahlung optimal an Ihre Prozesse anpassen. Sie öffnen die Konfiguration indem Sie auf edit klicken. Unter dem Menüpunkt Action klicken Sie auf den Link. Es öffnet sich die Konfiguration der Zahlungsart.

Abbildung 4.1: Konfiguration der Zahlungsart.

4.3Direktes 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 paydirekt - Backend und Modul

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

4.4Unsicherer 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.

4.4.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.

4.5Optional: 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 paydirekt während dem Autorisierungsprozess. Die Zahlungsmethode wird auf jeden Fall angezeigt.

5Einstellungen / Konfiguration von Zahlungsarten

5.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 paydirekt 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.

5.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 paydirekt oder einen ähnlich lautenden pending status, der durch das Modul eingeführt wird.

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

Bestellungen mit dem Status 'pending paydirekt' 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 paydirekt blockiert werden. In diesem Fall überprüfen Sie die Einstellungen Ihrer Firewall und bitten den Hoster die IPs und User Agents von paydirekt zu aktivieren.

5.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.

6Das Modul in Aktion

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

####conditional(isFeatureCapturingActive or isFeatureCancellationActive)####

6.1Verbuchen / Stornieren von Bestellungen

6.1.1Verbuchen von Bestellungen

Beachten Sie

Das Transaktionsmanagement zwischen paydirekt und Drupal ist nicht synchronisiert. Wenn Sie Zahlungen bei paydirekt verbuchen, wird der Status im Shop nicht angepasst und ein zweites Verbuchen im Shop ist nicht möglich.

Damit Sie Bestellungen verbuchen können, müssen Sie sicherstellen, dass Sie in den Einstellungen in der Zahlungsart die Verbuchung auf deferred eingestellt haben.

Öffnen Sie die Bestellung welche Sie verbuchen möchten und wechseln Sie in den Tab Payments. Mit einem Klick auf view finden Sie alle Informationen zur Bestellung. Für die Verbuchung klicken Sie auf den Button Capture . Tragen Sie einen beliebigen Betrag ein welchen Sie der Kundenkarte belasten möchten. Mit dem Klick auf Capture erfolgt eine direkte Verbuchung der Bestellung bei paydirekt.

Abbildung 6.1: Verbuchen/Stornieren von Bestellungen innerhalb von paydirekt
####conditional####

6.2Nützliche Transaktionsinformationen zur Bestellung

Sie finden nach dem Öffnen jeder Bestellung, welche mit einem sellxed Modul abgewickelt wurde, eine Übersicht über die wichtigsten Informationen zur Transaktion, sowie eine Transaktionshistory, welche Aufschluss darüber gibt, was bisher mit der Transaktion passiert ist.

Um zur Ansicht der Transaktionsinformationen zu gelangen öffnen Sie die Bestellung und wechseln Sie in den Tab Payments. Hier finden Sie alle Informationen zur Bezahlung.

Abbildung 6.1: Transaktionsinformationen innerhalb Drupal.

6.3Gutschriften

Für belastete Transaktionen können Sie Gutschriften direkt im Shop erstellen und automatisch an paydirekt übermitteln. Zu diesem Zweck öffnen Sie die Bestellung. Wechseln Sie in den Tab Payment und klicken Sie auf view. Es öffnet sich ein neues Fenster. Klicken Sie auf Refund um Bestellungen rückzuvergüten.

Im Eingabefeld können Sie einen beliebigen Betrag rückerstatten. Mit dem Klick auf Gutschreiben wird die Gutschriftsanfrage direkt an paydirekt übermittelt und die Kreditkarte Ihres Kunden um den eingegebenen Betrag entlastet.

Abbildung 6.1: Rückerstattungen von Bestellungen innerhalb von paydirekt.

Bitte beachten Sie, dass Sie maximal 100% des ursprünglich gebuchten Betrags rückvergüten können.

6.4Einrichten Cron Job

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

Das Modul verwendet den Standard Drupal Cron. Informationen zur Einrichtung finden Sie unter: https://www.drupal.org/cron.

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

7Testing

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.

7.1Testdaten

Nachfolgend finden Sie die Testdaten für die Zahlungsmethoden:
paydirekt
User
SDE-Kaeufer
Password
SDE-Kaeufer2$
Standard Payer
User
unterAchtzehn
Password
unterAchtzehn2$
Age - Payer under 18 years
User
KaeuferGesperrt
Password
KaeuferGesperrt2$
Payer blocked at PayDirekt
User
SperreKB
Password
SperreKB2$
Payer blocked at Bank

8Fehler 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

8.1Die Referrer URL erscheint in meinem Analytics Tool

Unter Umständen kann die Referrer URL von paydirekt 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.

9Error 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.

10Erweiterte 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.

10.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.

Initialisieren Sie Drupal in Ihrem Script, dies ist nötig um die Verbindung zur Datenbank herzustellen.
define('DRUPAL_ROOT', getcwd());
require_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
Inkludieren Sie die Util Class des Moduls.
module_load_include('php', 'commerce_paydirektcw', 'includes/classes/PayDirektCw/Util');
NUn können Sie die Transaktion laden und das Transaktionsobjekt extrahieren.
Laden der Transaktion per Id:
$transactionById = PayDirektCw_Util::loadTransactionById($transactionId);
$transactionObject = $transactionById->getTransactionObject();
Laden der Transaktion per external Id:
$transactionByExternal = PayDirektCw_Util::loadTransactionByExternalId($externalId);
$transactionObject = $transactionByExternal->getTransactionObject();
Laden der Transaktion per order Id:
$transactionsByOrder = PayDirektCw_Util::getTransactionsByOrderId($orderId);
foreach($transactionsByOrder as $transaction){
	$transactionObject = $transaction->getTransactionObject();
	//Do something with each object
}