PrestaShop 1.5 Zahlungsmodule an GC German anpassen

GC German liefert für PrestaShop 1.5.x einen eigenen Bestellvorgang mit. Da alle PrestaShop Zahlungsmodule keine eigene Bestellseite mit der verpflichtenden Button-Lösung bereit stellen, gibt es spezielle für GC German entwickelte Zahlungsmodule. Um es anderen Zahlungsanbietern zu ermöglichen, die eigenen Zahlarten an GC German anzupassen, gibt es hier einen kleinen Überblick.

Hooks

Um ein Zahlungsmodul an GC German anzupassen, müssen verschiedene Hooks beachtet werden.

  • hookDisplayPayment => Auswahl der Zahlungsart
  • hookActionPaymentValidation => Validierung von Payment-Seite auf Summary
  • hookDisplayPaymentInfo => Anzeige der Zahlart auf der Bestellseite
  • hookActionPaymentExecution => Bestellung aufgeben und Weiterleitung zur Payment-API
  • hookDisplayPaymentReturn => Anzeige nach Zahlungsvorgang oder -abbruch

Der Unterschied liegt vor allem in den etwas anders gestalteten Templates, der Integration in die Bestellübersicht und der Weiterverarbeitung der Daten, nachdem die Bestellung aufgegeben wurde.

Front Controller

In der Regel gibt es auch diese verschiedenen dazu passenden Front Controller des Moduls:

  • payment
  • info (optionaler Controller, der weitere Informationen auf der Zahlungsauswahl ermöglicht)
  • redirect
  • validate
  • return

Templates

Im Hook displayPayment wird ein kompatibles Template angezeigt (diplayPayment.tpl), was ein Formularteil der Zahlungsauswahlseite beim GC German Bestellvorgang darstellt.
Beim
hookDisplayPaymentInfo wird nur ein kleines Template benötigt, das für die Button-Lösung / Bestellübersicht notwendig ist.

Weitere Templates sind redirect.tpl (für die Weiterleitung zur Zahlungs-API) und displayPaymentReturn.tpl (für die Anzeige nach der Zahlung im Shop).

Ein gutes Beispiel für die Funktionsweise und den Überblick über den Ablauf ist das in GC German mitgelieferte Zahlungsmodul PayPal (gc_paypal).

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert