Über Hosted Payment Page

Allgemeines zur Hosted Payment Page

Die Hosted Payment Page ist ein Checkout, der nur den Schritt der Zahlarten-Auswahl enthält. Sie ist ein im responsiven Design gestaltetes HTML-Formular, welches auf allen Geräten korrekt dargestellt wird.

Bei Zahlungen über die Hosted Payment Page verbindet der Shop den Kunden mit dem HTML-Formular des , damit er dort die Zahlart auswählt. Nach dem Bestätigen der Auswahl leitet das den Kunden, je nach Zahlart, entweder zu einem HTML-Formular des oder zu einem Formular des externen Dienstleisters und informiert den Shop nach Abschluss über das Zahlungsergebnis.

Folgende Tabelle enthält die Zahlarten, die Sie über die Hosted Payment Page nutzen können (klicken Sie bitte auf die Tabellen-Überschrift, um die Spalten ggf. alphabetisch zu sortieren):


Folgende Tabelle enthält die Kartenmarken, die Sie über die Hosted Payment Page nutzen können. Bei Übergabe des Wertes CC im Parameter PayTypes werden alle für einen Händler konfigurierten Marken angezeigt. Die Auswahl bestimmter Marken ist durch die Übergabe einer Zeichenfolge der gewünschten Marken jeweils durch Pipe-Zeichen getrennt möglich.




Ablauf der Zahlung

Um Zahlungen über die Hosted Payment Page auszuführen, rufen Sie folgende URL mit HTTPS GET oder HTTPS POST auf:

paymentPage.aspx


Alle Daten, die für eine Zahlungsabwicklung notwendig sind, werden als Parameter übergeben. Damit weder der Kunde noch ein Dritter die Daten manipulieren kann, werden die Parameter mit Blowfish verschlüsselt.

Beim Aufruf des Formulars entschlüsselt das die Parameter und zeigt die HTML-Seite mit den Zahlarten an. Dort wählt der Kunde die Zahlart aus und startet die Weiterleitung per Mausklick auf die Schaltfläche „Weiter“.

Nach Durchführung der Zahlung leitet das den Kunden per HTTPS GET auf eine Shop-Seite zurück (URLSuccess, URLFailure) und übergibt dabei das Zahlungsergebnis als Blowfish-verschlüsselte Parameter. Zusätzlich übermittelt das das Ergebnis per HTTPS POST an die Notify-Seite des Shops (URLNotify). Der Shop nimmt das Zahlungsergebnis entgegen und entschlüsselt die Daten, um den Kunden über den Status zu informieren.


Aufruf der Hosted Payment Page

Der Aufruf der Hosted Payment Page beginnt mit der korrekten Zusammenstellung der Parameter, die aus einem Schlüssel und einem Wert bestehen und durch ein Gleichheitszeichen (=) getrennt sind:

MerchantID=Test


Alle Parameter werden in einer Zeichenkette aneinandergereiht und durch das Zeichen & getrennt:

Amount=100&Currency=EUR&TransID=12345


Hinweis: Da die Zeichen "=" und "&" als Trennzeichen verwendet werden, können diese Zeichen nicht als Wert übergeben werden. Alle Werte, die Sie ohne Blowfish-Verschlüsselung übergeben, müssen URL-encoded sein.

Eine korrekte Parameter-Zeichenkette für das enthält grundsätzlich drei Parameter: MerchantID, Len und Data. Die Parameter MerchantID und Len sind unverschlüsselt. Nur der Parameter Data wird Blowfish-verschlüsselt:

MerchantID=Test&Len=67&Data=0A67FE96a65d384350F50FF1


Der Parameter Data enthält die sensiblen Zahlungsdaten wie Betrag und Währung. Die verschlüsselten Bytes sind Hex-codiert und auf zwei Zeichen von links mit einer Null aufgefüllt. Die Verschlüsselung erfolgt über Blowfish ECB und steht Ihnen als Source-Code und Komponente zur Verfügung.

Für die Entschlüsselung ist der Parameter Len sehr wichtig, der die Länge der unverschlüsselten(!) Zeichenkette im Parameter Data enthält. Da bei der Verschlüsselung mit Blowfish die zu verschlüsselnde Datenmenge auf ein Vielfaches von 8 vergrößert wird, muss bei der Entschlüsselung die korrekte Länge der Zeichenkette bekannt sein. Andernfalls tauchen am Ende der Zeichenkette zufällige Zeichen auf.

Die Übergabe der Parameter erfolgt per HTTPS POST oder HTTPS GET. Die empfohlene Übertragungsmethode ist HTTPS POST, weil die Parameterzeichenkette bei GET an die URL angehängt wird, die je nach Browser auf 2048 Bytes begrenzt ist.

Hinweis: Bitte beachten Sie, dass die maximale Länge einer Zahlungsanfrage auf 5120 Zeichen begrenzt ist. Wenn Sie längere Zeichenketten benötigen, melden Sie sich bitte beim .

Die folgenden Listings zeigen die Entwicklung eines Zahlungsaufrufs. Das erste Listing ist die unverschlüsselte Parameterzeichenkette:

MerchantID=Test&TransID=100000001&Amount=11&Currency=EUR&URLSuccess=https://www.shop.de/ok.html&URLFailure=https://www.shop.de/failed.html&URLNotify=https://www.shop.com/notify.cgi&OrderDesc=Mein Einkauf


Hinweis: Bitte beachten Sie, dass jedem Parameter ein Wert zugewiesen wird. Leere Parameter dürfen nicht übergeben werden, da andernfalls die Zahlung scheitern kann.

Diese Zeichenkette wird verschlüsselt und als Parameter Data übergeben, so dass der HTTPS GET Aufruf der Hosted Payment Page so aussieht:

<a href=paymentPage.aspx?MerchantID=Test&Len=162&Data=E98D40FFFD622C5FE7414F73539A1852C2CE7C8B09D34DF217E27FA2E194B9968DE9ABAE3B1F44B5485EFE3EF2597C7395BADBAD4340CDFD000DD57129EEFAA0BE904A7E2339DCF9363DA6ACDBE5EF98E169FC3092B160252A037135421FD0CE092C174A7D1D63517BD45099AC2B682F5E3CD2C942A6F0E741A833C0&Language=en&URLBack=https://www.shop.com/canceled”>


Hinweis: Bitte beachten Sie, dass Parameter wie Language oder URLBack unverschlüsselt übergeben werden. Eine Tabelle mit allen möglichen unverschlüsselten Parametern finden Sie ebenfalls in diesem Dokument.


-Schnittstelle


Parameter der Hosted Payment Page

Diese Parameter sind für alle Zahlarten Pflicht und müssen Blowfisch-verschlüsselt im Parameter Data an die Hosted Payment Page gesendet werden.

Hinweis: Alle weiteren, zahlartspezifischen Parameter entnehmen Sie bitte dem Handbuch der jeweiligen Zahlart.

Die folgende Tabelle beschreibt die verschlüsselten Übergabeparameter:

Parameter für Hosted Payment Page


Folgende Parameter sind optional und können unverschlüsselt an die Hosted Payment Page übergeben werden:

Optionale Parameter für Hosted Payment Page



Allgemeine Antwortparameter der Hosted Payment Page

Diese Parameter sind für alle Zahlungsarten gleich. Mit dem Parameter pt können Sie sehen, welche Zahlungsmethode der Kunde verwendet hat. Bitte entnehmen Sie alle weiteren speziellen Parameter für eine Zahlungsart dem Handbuch der jeweiligen Zahlungsart.

Allgemeine Antwortparameter für URLNotify, URLSuccess und URLFailure


Corporate PaymentPage: XSLT-Layout für Formulare

Sie können mit dem Parameter Template ein individuelles Layout für das Formular der Hosted Payment Page nutzen, das 100%ig zu Ihrem Shop-Layout passt. Zu diesem Zweck entwirft Ihr Grafiker ein HTML-Template im Shop-Design auf Basis der XSLT-Technologie (Extensible Stylesheet Language Transformation). Der  kopiert dieses XSLT-Template auf unseren -Server. Wenn Sie den Namen Ihrer XSLT-Datei im Parameter Template übergeben, erscheint das -Formular in Ihrem Layout.

Die XSLT-Templates für das Formular der Hosted Payment Page haben gleich mehrere Vorteile:

  1. Sie können die aufwendige PCI-Sicherheitszertifizierung umgehen
  2. Die Hosted Payment Page ist responsiv, d.h. sie funktioniert auf Smartphones, Tablets oder auf dem Laptop

Allgemeine Informationen zu XSLT finden Sie unter www.w3.org.


Für die Nutzung der Corporate Paypage mit XSLT gelten die nachfolgenden Konventionen:

Dateinamen

Eine von Ihnen gestaltete XSL-Datei definiert Ihr individuelles Layout. Die zugehörige XML-Datei enthält die Texte, die auf dem Formular angezeigt werden sollen. So lässt sich problemlos eine Mehrsprachigkeit realisieren. In den Bezeichnungen der Dateien verwenden Sie stets Ihre MerchantID.

XSL templateMerchantID_PaymentPage.xsl
XML text fileMerchantID_PaymentPage.xml
Sub folder for pictures, CSS- and JS-filesTemplates/imagesMerchantID_PaymentPage


Um keine Sicherheitshinweise zu erhalten, stellen Sie bitte bei externen Bildquellen sicher, dass diese über SSL aufgerufen werden.

Zum Aufruf des individuellen Layouts verwenden Sie den Parameter „Template“ mit Ihrer MerchantID und hängen ihn unverschlüsselt an den Aufruf des Formulars der Hosted Payment Page an, zum Beispiel: paymentPage.aspx?MerchantID=IhreMID&Len=123&Data=AGSDJ…ASDF&template=IhreMerchantID

Hidden Fields

Folgende Hidden Fields müssen implementiert werden, damit die Werte beim Abschicken des Formulars weitergereicht werden können:

Wert vonName des "Hidden Fields"
MerchantID"MerchantID"
Request-Länge
"Len"
Request-Daten"Data"
Template"Template"
Language"Language"
Zurück-Button-URL"URLBack"
Zahlart"PaymentMethod"
Kreditkartenmarke"CreditCardBrand"

Sprachauswahl

Die Sprachauswahl auf dem Formular der Hosted Payment Page erfolgt automatisch anhand des Parameters Language. Die anderen Sprachbereiche werden herausgefiltert. Wenn Sie z.B. mit JavaScript auf das Feld eines anderen Sprachbereichs zugreifen wollen, ist das über den folgenden Pfad möglich: paygate/language/@name.

XML-Struktur

Mit dem Parameter „Language“ wird gesteuert, welcher Abschnitt der XML-Textdatei ausgelesen wird. Standardmäßig wird immer deutsch „de“ verwendet.

Die XML-Datei sollte folgendes Grundgerüst haben:


Das Encoding ist auch „UTF-8“ möglich.

Mit <xsl:variable name=““ select=“paygate/language/@name“/> können Sie direkt von der XSL-Datei einen XML-Sprachenabschnitt ansprechen.

Zum Überblick, welche Parameter zusätzlich von der Hosted Payment Page gerendert werden, sehen Sie sich bitte folgende Struktur an (XSL-Datei wird gegen folgenden XML-String gerendert):

Auf jeden einzelnen Wert dieser XML-Struktur, welche im Backend aus der XML-Sprachdatei und zusätzlichen Werten gerendert wird, können Sie in Ihrer XSL-Datei zugreifen.

JavaScript

Sie können individuelle JavaScript-Methoden entweder direkt im HEAD-Bereich Ihrer XSL-Datei oder in der main.js-Datei welche Sie in Ihrem Images-Ordner unter Templates/imagesMerchantID_PaymentPage/js finden.

Hinweis: Bitte verwenden Sie keine externen Links auf Ihr JavaScript!