0800 7240 689
Mo-Fr 9:00-20:00 Uhr

PrestaShop Payment Module

Übersicht - Hooks, Classes und Methoden

Dieser Blogbeitrag gibt einen Überblick über die Erstellung von Zahlungsmodulen für PrestaShop. Es gibt Zahlungsverfahren, wie beispielsweise PayPal, die weltweit verbreitet sind. Allerdings sollte beachtet werden, dass jedes Land seine eigene, bevorzugte Zahlungsweise hat.

Anstatt alle Zahlungsmethoden von der Module Klasse zu übernehmen, werden diese aus der Sonderklasse PaymentModule vererbt.
Mit den Zahlungsmethoden arbeiten folgende Tabellen: module_country, module_currency, module_group. Diese erlauben eine Beschränkung bei der Verwendung der Zahlungsmethode in einem bestimmten Land, in einer bestimmten Währung oder für eine bestimmte Gruppe von Nutzern.

Die wichtigste Methode in der Klasse PaymentModule ist validateOrder, die für die Auftragserstellung zuständig ist. In diesem Verfahren wird ein einziger hook class : actionValidateOrder genannt:

// Hook validate order
Hook::exec('actionValidateOrder', array(
    'cart' => $this->context->cart,
    'order' => $order,
    'customer' => $this->context->customer,
    'currency' => $this->context->currency,
    'orderStatus' => $order_status
));

Das Verfahren verwendet zwei Vorlagen: order_conf und voucher.

In der Regel gibt es mehrere Zahlungsmethoden:

  • Verwendung des API. Der Entwickler muss das API des Zahlungssystems benutzen, um verfügbare Methoden zu beziehen, Bestellungen zu erstellen,  Kreditkarteninformationen zu versenden, usw.;
  • Die Überleitung zur Zahlungsseite, seitens des Zahlungssystems - in der Regel ist es zur Erzeugung eines Formulars erforderlich, um die Zahlungsdaten direkt auf die Seite des Zahlungssystems zu übertragen;
  • Iframe-Integration - es befindet sich zwischen der ersten und der zweiten Methode. Da der Kunde die Seite nicht verlässt, obwohl die Wechselwirkung mit der API typischerweise geringer als bei dem ersten Verfahren ist;
  • Offline-Verfahren.

Möchte man mehr über die Funktionsweise von Zahlungsverfahren lernen, können einfache Verfahren betrachtet werden, die das System sofort anbietet: Scheck und Überweisung.

Im Folgenden werden die Methoden und Hooks aufgeführt, die üblicherweise von den Zahlungsmodulen verwendet werden. Demnach wird fast jedes Zahlungsmodul die folgenden Hooks verwenden:

  • "payment" – befindet sich beim Checkout / Kasse, wo der Kunden die Zahlungsmethode wählen muss;
  • "header" - wird verwendet, um die CSS und JavaScript Skripte einzubinden;
  • "orderConfirmation" - befindet sich auf der Seite, auf die der Benutzer nach dem Abschluss der Bestellung geleitet wird. In der Regel sind hier die Zahlungsinformationen enthalten;
  • "adminOrder "- befindet sich auf der Bestelldaten-Seite im Admin-Panel. Kann zum Beispiel verwendet werden, um Informationen über die Zahlung, Formulare, API-Nutzung oder Erstattungen anzuzeigen.

Vor dem Erstellen des Zahlungsmoduls, muss entschieden werden, zu welchem ​​Zeitpunkt die Bestellung erstellt wird. Manchmal kann das eine Voraussetzung des Bezahlsystems selbst sein. Es gibt Szenarien, in denen es besser ist, den Auftrag nach der Zahlung zu bilden, aber manchmal kann der Auftrag vor der Zahlung gebildet werden. 

Es ist immer notwendig, die Logik des Bezahlstatus´ zu reflektieren.

Die Schwierigkeit bei der Erstellung eines solchen Moduls, ist abhängig von der API, und den Aufgaben, die umgesetzt werden müssen, d.h., ob Rückerstattungen, Abonnements usw. gefördert werden müssen.

10.03.2015

Als PrestaShop Support Dienstleister betreuen wir eine Vielzahl von PrestaShop Online-Shops. Wir lösen für unsere Kunden technische Probleme und gewährleisten den Betrieb Ihres PrestaShop Online-Shop Systems.

Suchen Sie einen Dienstleister, der sich dauerhaft und zuverlässig um den Betrieb Ihres PrestaShop Online-Shops kümmert?