Unterfenster

Bei dem Unterfenster handelt es sich um ein weiteres Browserfenster, welches von einem übergeordneten Fenster geöffnet wird, um Zahlungen auf Ihrer Website entgegenzunehmen. Setzen Sie Unterfenster ein, wenn Sie das Kundenerlebnis und die Funktionalität erweitern wollen, indem Sie Inhalte oder Funktionen in einem von der Hauptseite getrennten Kontext darstellen. Mit dieser Einbindung werden die Kunden höchstwahrscheinlich nicht vom Zahlungsablauf abgelenkt, was die Konversionsrate erhöht.

Wie funktioniert es?

Wenn die Käufer Bestellungen in Ihrem Webshop aufgeben, wird das von Novalnet gehostete Zahlungsformular auf der Website als Unterfenster angezeigt. Die Käufer können die jeweils bevorzugte Zahlungsart auswählen. Sobald die Kunden den Zahlungsprozess abschließen, erhalten Sie das Ergebnis der Zahlung aus dem Unterfenster. Sie können auch eine Abfrage über die /transaction/details API durchführen, um zusätzliche Details zum Ergebnis der Transaktion zu erhalten.

Standardmäßig blockiert ein Browser Pop-Up-/Unterfenster. Um dies zu umgehen, wird empfohlen, anstatt das Unterfenster automatisch zu erstellen, es als Reaktion auf ein vom Endkunden ausgelöstes Ereignis (click event) anzuzeigen. Wir bieten Ihnen auch eine Option, das Pop-Up-Fenster zu laden, wenn es durch den Browser blockiert wird.

Schritte, um ein Unterfenster einzubinden

Befolgen Sie die Schritte unten, um die Einrichtung des Unterfensters in Ihrem Webshop durchzuführen (dabei beschreiben wir sowohl die Einbindung auf Seiten des Clients als auch auf Seiten des Servers),

Schritt 1: Generieren Sie den temporären Bezeichner

Senden Sie alle für die Transaktion notwendigen Parameter ohne Interaktion mit dem Nutzer an Novalnet und übermitteln Sie damit alle grundlegenden Daten für die Transaktion (Nutzer-/Bestelldetails, Händler-Zugangsdaten etc. außer den sensiblen Zahlungsdaten) durch einen Aufruf von Server zu Server. Zusätzlich wird ein temporärer Bezeichner transaction.txn_secret für die von Novalnet gehostete Zahlungsseite angelegt. Die Erstellung des Unterfensters ist nur dann möglich (Schritt 2) wenn der zurückgegebene Parameter result.status den Wert SUCCESS hat.

The return_url and error_return_url parameters should not be sent in the child window integration request, as the response is handled via postMessage.

Speichern Sie den temporären Bezeichner transaction.txn_secret aus dem Transaktions-Objekt der Zahlung / Rückmeldung der API, um das Ergebnis der Zahlung später zu überprüfen. Dies vermeidet auch das Risiko, dass Daten manipuliert werden.

Referenz zu den Parametern

Das Beispiel in den Schritten unten enthält nur die Mindest-Parameter für die Ausführung und Erklärung des Beispiels. Um mehr über alle Parameter, ihre Beschreibung, eine Erklärung des Headers und die Ergebnisse zu erfahren, sehen Sie sich dies hier an >>Link<<

Anpassung der Zahlungsseite mit einem Layout und Design Ihrer Wahl

Die Zahlungsseite, welche von Novalnet gehostet wird, lässt sich im Hinblick auf Layout und Design vollständig konfigurieren; Sie können diese anpassen, wie Sie wünschen. Sehen Sie sich dazu bitte den Block hosted_page unter dem Link für die Referenz zu den Parametern an, um das Layout mit Stylesheet, Header, Footer, etc. anzupassen.

Ausführen

Schritt 2: Anzeigen des Zahlungsformulars in einem Unterfenster

Sobald der temporäre Bezeichner (transaction.txn_secret) erfolgreich erzeugt wurde, können Sie die Seite auf Kundenseite (wo das Zahlungsformular angezeigt werden soll) nach der folgenden Vorgehensweise vorbereiten,

  1. Binden Sie checkout.js von Novalnet (https://paygate.novalnet.de/v2/checkout-1.1.0.js) ein, wie in dem Beispiel unten angegeben.
  2. Setzen Sie den temporären Bezeichner (transaction.txn_secret), damit Novalnet den dazugehörigen Zahlungsaufruf identifizieren kann.
  3. Setzen Sie den Typ der Einbindung (child_window), um es Novalnet zu erlauben, Ihren Aufruf zu verarbeiten und in dem Unterfenster darzustellen.

Ausführen


				

Schritt 3: Erhalt / Verarbeitung des Zahlungsstatus

Zum Abschluss der Zahlung fügen Sie die Funktionen ListenPostmessage and NovalnetResponseEventHandler hinzu, um die Rückmeldung vom Unterfenster zu verarbeiten und zu authentifizieren.

Sobald das Unterfenster dargestellt wird, sollten event listener für Ereignisse eingesetzt werden, um die Rückmeldung von Novalnet als POST-Nachricht zu erhalten. Sehen Sie sich dazu das Code-Beispiel zu Ihrer Information an. Nachdem das Unterfenster mit Hilfe der Funktion "closeChildWindow" in checkout.JS von Novalnet geschlossen wurde, sollte der event listener entfernt werden, der verwendet wurde, um die POST-Nachricht von Novalnet zu empfangen.

Authentifizierung der Rückmeldung aus dem Unterfenster

Es wird sehr empfohlen, die Rückmeldung aus dem Unterfenster zu authentifizieren. Um die Rückmeldung aus dem Unterfenster zu authentifizieren, benötigen Sie den vorher hinterlegten Parameter txn_secret.

Die Authentifizierung wird über einen Abgleich mit dem Parameter checksum durchgeführt, welcher in der Rückmeldung des Unterfensters übermittelt wurde. Hier müssen Sie Ihren Wert für checksum neu berechnen. Unten finden Sie die dazu notwendigen Schritte,

  1. Überprüfen Sie, ob Sie in der Rückmeldung aus dem Unterfenster die Parameter txn_secret und checksum erhalten haben..
  2. Erstellen Sie einen Token-String, indem Sie die Parameter tid, txn_secret, status und den umgekehrten String Ihres Zahlungszugriffsschlüssels miteinander verknüpfen.
  3. Generieren Sie Ihre Prüfsumme (checksum), indem Sie einen SHA256-Hash aus dem Token-String erstellen.
  4. Vergleichen Sie den Wert, welchen Sie für checksum aus der Rückmeldung des Unterfensters erhalten haben, mit der von Ihnen berechneten Prüfsumme.
  5. Stimmen die Prüfsummen überein, ist die Authentifizierung erfolgreich. Ansonsten könnten die Daten möglicherweise manipuliert sein.


Abholung aller Transaktionsdetails (optional)

Wenn Sie schon Meldungen aus dem Webhook-Prozess verarbeiten, ist dieser Schritt nicht notwendig, denn Ihr Webhook empfängt alle Transaktionsdetails.

Die Transaktionsantwort gibt Ihnen nur ein Minimum an Details über die Transaktion. Um die gesamten Transaktionsdetails abzurufen, führen Sie die /transaction/details-API aus, indem Sie die tid verwenden, die in der Antwort aus Schritt 2 zurückgegeben wurde.

Um mehr zu den Parametern, Beispielcodes und Ergebnissen bei der Abfrage von Transaktionsdetails über die API zu erfahren, sehen Sie sich dies hier an >>Link<<