Erzeugen eines Sicherheits-Hashes für die Website

  Zuletzt aktualisiert: 

 

Um Ihre Zahlungen vor unbefugten Änderungen zu schützen, müssen Sie die Schritte auf dieser Seite befolgen, um einen Sicherheits-Hash für die Website zu berechnen, der in ein Feld namens sitesecurity auf Ihrem server-seitigen Zahlungsformular. Der Hash wird aus einer Auswahl bestimmter Felder generiert, darunter ein Passwort, das mit unserem Support-Team vereinbart wird. Bei der Erstellung des Hashes müssen Sie sicherstellen, dass Sie die in Ihrer eigenen Serversitzung vorhandenen Werte verwenden und nicht die eingestellten Werte.

  Brauche ich das?


Die auf dieser Seite dokumentierte Konfiguration ist für den folgenden Anwendungsfall geeignet:

  • Neue Integrationen mit Payment Pages

Dadurch wird verhindert, dass der Kunde wichtige Aspekte der Transaktion (z. B. den Betrag und Währung) ändern kann, bevor die Anfrage Autorisierung an uns übermittelt wird.

  Wie es funktioniert


Wir lesen die Felder in Ihrer Anfrage vor der Verarbeitung einer Autorisierung und generieren den Hash auf unseren Servern neu. Bei gültigen Anfragen muss der von uns generierte Sicherheits-Hash mit dem in Ihrer Anfrage angegebenen Wert übereinstimmen. Dies zeigt an, dass die Anfrage nicht durch den Kunden oder einen Dritten geändert worden ist.

CO10-EN.png


Wenn jemand versucht, den Wert eines der von Ihnen angegebenen Felder zu ändern, stimmt der Hash, den wir auf unseren Servern berechnen, nicht mit dem in der Anfrage übermittelten Hash überein. In diesem Fall wird die Zahlung nicht abgeschlossen und dem Kunden wird eine Fehlermeldung angezeigt.

CO11-EN.png

Bevor Sie fortfahren, kontaktieren Sie bitte unser Support-Team

  • Unser Support-Team wird die Sicherheit Ihrer Website auf Website-Referenz aktivieren und Sie beraten, wie Sie Ihr Konto am besten konfigurieren.
  • Im Rahmen dieses Prozesses müssen Sie sich auf die Felder einigen, die in den generierten Hash aufgenommen werden sollen (die Liste der Standardfelder finden Sie in der folgenden Tabelle).
  • Außerdem müssen Sie mit unserem Support-Team ein Passwort vereinbaren, das bei der Erstellung des Hashes ebenfalls berücksichtigt wird. Wenn Sie dieses Kennwort ändern müssen, wenden Sie sich bitte an den Support, um dies zu veranlassen.

  Geben Sie das Sicherheitspasswort Ihrer Website niemals an Dritte weiter. Bewahren Sie keine Kopien dieses Passworts auf.

Wenn die Sicherheit der Website aktiviert ist, werden die folgenden Standardfelder bei der Erstellung des Hashes verwendet:

Hinweis: Unterhalb dieser Tabelle finden Sie ein Beispiel für die Erstellung des Hashes.

 

Bestellung Name des Feldes Typ Länge Beschreibung
1 currencyiso3a Alpha 3

Die Währung , in der die Transaktion abgewickelt werden soll.

Klicken Sie hier für eine vollständige Liste der verfügbaren Währungen.

2 mainamount Numerisch 14 Der Betrag der Transaktion in Haupteinheiten, wobei ein Dezimalpunkt zur Kennzeichnung von Dezimalwerten verwendet wird, so dass €10 als 10.00 zurückgegeben wird.

Achten Sie darauf, dieses Feld nicht zu verwechseln mit baseamount, die wir in unserer API-Dokumentation ausgiebig verwenden, die stattdessen in Basiseinheiten formatiert ist und auf den Dezimalpunkt verzichtet.

3 sitereference Alphanumerisch einschließlich
Unterstrich
50 Die eindeutige Trust Payments Website-Referenz , die sich auf Ihr individuelles Konto bei uns bezieht. Wenn Sie Ihre Website-Referenz nicht kennen, wenden Sie sich bitte an unser Support-Team.
4 settlestatus Numerisch 3

Ein numerischer Wert, der zur Definition der Anweisung Abrechnung verwendet wird. Wenn Sie hier keinen Wert angeben, wird die settlestatus ist standardmäßig auf "0" eingestellt.

Klicken Sie hier für eine vollständige Liste der settlestatus Werte.

5 settleduedate Datum JJJJ-MM-TT 10 Sie können dieses Feld in der Anfrage ausfüllen, um das Datum anzugeben, an dem Sie Ihre Transaktion abrechnen möchten. Dieses Datum muss innerhalb von 7 Tagen nach dem Datum von Autorisierung liegen. Dieses Datum wird in der Antwort zurückgegeben.
6 authmethod Alpha 5

Entweder:

7 paypaladdressoverride Numerisch 1 Gilt nur für Payment Pages Integrationen: Legen Sie fest, wie die Lieferadresse bei der Verarbeitung von Zahlungen mit PayPal eingegeben werden soll.
8 strequiredfields Alphanumerisch Nicht definiert

Geben Sie Felder an, die vom Kunden eingegeben werden müssen. Mehrere Felder werden unterstützt.

Wenn der Kunde nicht alle erforderlichen Felder ausfüllt oder ungültige Informationen eingibt, wird die Zahlung nicht abgeschlossen.

9 version Numerisch 1 Gilt nur für Payment Pages Integrationen: Dieser Wert wird auf 2 gesetzt.
10 stprofile Alphanumerisch Nicht definiert Gilt nur für Payment Pages Integrationen: Wird verwendet, um das Styling für die Darstellung von Payment Pages festzulegen. Bei Verwendung des Standardaussehens wird dies auf "" gesetzt.default" (Klicken Sie hier für weitere Informationen über Profile).
11 ruleidentifier Alphanumerisch mit Bindestrichen Nicht definiert

Sie können eindeutige Bezeichner für die auf diese Anfrage anzuwendenden Regeln angeben (z. B. STR-1).

Klicken Sie hier für weitere Informationen.

12 stdefaultprofile Alphanumerisch Nicht definiert

Gilt nur für Payment Pages Integrationen: Wir bieten eine Reihe von Standardprofilen, die auf jede Sitzung angewendet werden können.

Klicken Sie hier, um mehr zu erfahren.

13 successfulurlredirect URL Nicht definiert Gilt nur für Payment Pages Integrationen: Dies ist die URL, an die der Browser des Kunden nach einer erfolgreichen Transaktion weitergeleitet wird, wenn STR-6 aktiviert ist.
14 declinedurlredirect URL Nicht definiert Gilt nur für Payment Pages Integrationen: Dies ist die URL, zu der der Browser des Kunden nach einer abgelehnten Transaktion umgeleitet wird, wenn STR-7 aktiviert ist.
15 successfulurlnotification URL Nicht definiert Dies ist die URL, an die die Benachrichtigung nach einer erfolgreichen Transaktion gesendet wird, wenn STR-8 aktiviert ist.
16 declinedurlnotification URL Nicht definiert Dies ist die URL, an die die Benachrichtigung nach einer abgelehnten Transaktion gesendet wird, wenn STR-9 aktiviert ist.
17 merchantemail E-Mail-Adresse 255 Dies ist die E-Mail-Adresse, an die alle E-Mail-Benachrichtigungen des Händlers gesendet werden, wenn STR-4 und/oder STR-5 aktiviert sind.

Maximale Länge von 255 (maximal 64 Zeichen vor dem "@"-Symbol).

18 allurlnotification URL Nicht definiert Dies ist die URL, an die die Benachrichtigung nach jeder Anfrage gesendet wird, wenn STR-10 aktiviert ist.
19 stextraurlnotifyfields Alphanumerisch Nicht definiert Dies wird verwendet, um zusätzliche Felder in URL-Benachrichtigungen.
20 stextraurlredirectfields Alphanumerisch Nicht definiert Dies wird verwendet, um zusätzliche Felder in URL-Weiterleitungen aufzunehmen.
21 credentialsonfile Numerisch 1 Dies ist erforderlich für Visa und Mastercard Transaktionen, bei denen der Händler die Funktion Daten Hinterlegt (CoF) nutzt. Wenn die Transaktion nicht für CoF in Frage kommt oder Sie die Anmeldeinformationen nicht für zukünftige Transaktionen verwenden möchten, können Sie dieses Feld auslassen.

Die zulässigen Werte für dieses Feld sind 0, 1 und 2.

0 - Keine Berechtigung für CoF, oder keine Absicht, die Berechtigungsnachweise zu einem späteren Zeitpunkt wieder zu verwenden.

1 - Transaktionsnachweise als verfügbar für zukünftige Verwendung gekennzeichnet.

2 - Zahlung mit zuvor gespeicherten Anmeldeinformationen.

Die obigen Angaben gelten für Händler mit einem Trust Payments Acquiring-Konto. Wenn Sie eine andere Acquiring-Bank verwenden, müssen Sie unser Support-Team kontaktieren, um zu prüfen, ob diese Funktion unterstützt wird, bevor Sie fortfahren.

22

requesttypedescriptions

Liste   Liste der requesttypedescriptions in dem Antrag eingereicht.

Nur anwendbar bei Verwendung von Erweitertes Post.

23 sitesecuritytimestamp Datum JJJJ-MM-TT hh:mm:ss   (Erforderlich im Hash - muss auch im Antrag angegeben werden) Möglichst genaue Angabe des Zeitstempels, der angibt, wann der Zahlungsvorgang des Kunden eingeleitet wurde. Der Kunde hat ab dem angegebenen Zeitpunkt 3 Stunden Zeit, um die Zahlung abzuschließen.

Zusätzliche Überlegungen:

  • Der Zeitstempel muss in UTC angegeben werden.
  • Der Zeitstempelwert darf NICHT in der Zukunft liegen.
24 password Alphanumerisch einschließlich Symbole 255 (im Hash erforderlich - muss NICHT in der Anfrage angegeben werden) Dies ist das Sicherheitspasswort für die Website, wie mit unserem Support-Team vereinbart.

Gültige Zeichen:

  • Großbuchstaben und Kleinbuchstaben
  • Ziffern 0-9
  • Räume
  • ~ ! # $ % ^ & * ( ) _ { } [ ] < > , ?

 

Wenn Sie Felder aus dieser Liste hinzufügen oder entfernen möchten, wenden Sie sich bitte an unser Support-Team. Wenn Sie ein Feld in Ihren generierten Hash aufnehmen, kann dieses Feld weder vom Kunden noch von einem unbefugten Dritten geändert werden. Wir empfehlen, so viele eindeutige Felder wie möglich aufzunehmen. Wir unterstützen die Aufnahme von benutzerdefinierten Feldern in Ihre Liste der vorgesehenen Felder.

  Sie dürfen keine Felder einfügen, die der Kunde nach dem Absenden des Beitrags ändern kann, z. B. in den meisten Fällen Name, Rechnungs- und Lieferdaten. Dies kann dazu führen, dass rechtmäßige Transaktionen nicht bearbeitet werden können.

Die IP-Adresse des Kunden kann sich während der Bearbeitung einer Transaktion ändern, insbesondere wenn er von einem mobilen Gerät aus surft. Aus diesem Grund empfehlen wir, dieses Feld nicht als eines der von Ihnen festgelegten Felder zu verwenden.

 

Beispiel für einen Durchgang

Klicken Sie auf die Überschriften unten, um die einzelnen Schritte zu erweitern.

Schritt 1: Vorbereiten der Schnur

Fügen Sie die Werte der angegebenen Felder in der oben gezeigten Reihenfolge. Nehmen wir zum Beispiel eine Anfrage mit den folgenden Feldern:

currencyiso3a = GBP
mainamount = 100.00
sitereference = test_site12345
sitesecuritytimestamp = 2019-05-28 14:22:37
password = PASSWORD

In diesem Beispiel würde die folgende Zeichenkette erzeugt werden:

GBP100.00test_site123452019-05-28 14:22:37PASSWORD

(Alle leeren Felder werden in der Hash nicht berücksichtigt)

  Achten Sie beim Anhängen der Feldwerte darauf, dass keine Leerzeichen in der Zeichenkette ausgelassen werden.

  Zeitstempel für die Sicherheit der Website

Dieser Zeitstempel sollte so genau wie möglich den Zeitpunkt wiedergeben, zu dem der Kunde seine Zahlungssitzung beginnt. (Dieser Zeitstempelwert darf NICHT in der Zukunft liegen)

Der Wert in diesem Feld muss im Format JJJJ-MM-TT hh:mm:ss angegeben werden.
Der Zeitstempel muss in der UTC-Zeitzone angegeben werden. (z. B. "2019-05-28 14:22:37")

Der Kunde hat 3 Stunden ab dem angegebenen Zeitpunkt, um die Transaktion abzuschließen, sonst werden wir den Antrag ablehnen.

  Reihenfolge der Felder

Bei der Erstellung des Hashes müssen die Felder in der oben aufgeführten Reihenfolge sein. Wenn die Felder nicht in der richtigen Reihenfolge sind, schlägt die Anfrage fehl.

Die Reihenfolge, in der die Felder gehasht werden, kann bei Bedarf geändert werden. Bitte wenden Sie sich an das Support-Team, wenn Sie Hilfe benötigen.

Die sitesecuritytimestamp und password Felder muss sind immer die letzten beiden Felder in der Zeichenkette, die zur Erzeugung des Hash verwendet wird. Sie können nicht zwischen den anderen Feldern neu positioniert oder ganz entfernt werden.

  Felder mit mehreren Werten

Wenn ein Feld in der Hash-Datei mehrere Werte enthält, werden diese Werte in der Reihenfolge der POST-Übertragung aneinandergereiht.

Beachten Sie die folgenden zusätzlichen Felder:
ruleidentifier=STR-7&ruleidentifier=STR-6

Wenn sie in die oben erzeugte Zeichenfolge eingefügt wird, wird sie zu:
GBP100.00test_site12345STR-7STR-62019-05-28 14:22:37PASSWORD

Schritt 2: Hash der Zeichenkette

Sie müssen Ihr System so einrichten, dass der Hash mit dem Algorithmus SHA-256 erzeugt wird. Bei der Generierung des Hashwerts werden nur die Feldwerte verwendet.

Beispiel-String:

GBP100.00test_site123452019-05-28 14:22:37PASSWORD

Beim Hashing mit SHA-256 ergibt sich der folgende Hash:

d08761660c77014d2a41d7dee54c2160863e2e560388601b71bae059d7f456ca

Sie können die folgenden Code-Beispiele als Referenz für die Erstellung Ihres Hashes verwenden:

Python PHP Java Perl
#!/usr/bin/python

import hashlib
stringToHash= "GBP100.00test_site123452019-05-28 14:22:37PASSWORD"
print hashlib.sha256(stringToHash).hexdigest()

  Stellen Sie sicher, dass Ihr System den Hash in Kleinbuchstaben überträgt

Andernfalls könnte der Hash ungültig werden und legitime Transaktionen verhindern.

Schritt 3: Hash mit h vorangestellt

Beispiel:

hd08761660c77014d2a41d7dee54c2160863e2e560388601b71bae059d7f456ca

Dies ist der endgültige Wert, der in der sitesecurity Feld für diese Transaktion.

  Es ist wichtig, dass dem erzeugten Hash der Buchstabe "h" vorangestellt wird.

Damit soll sichergestellt werden, dass die neueste Version der Sicherheitsfunktion der Website verwendet wird.
Andernfalls könnte der Hash ungültig werden und rechtmäßige Transaktionen verhindert werden.

  Sie müssen sicherstellen, dass Sie niemals das rohe (nicht gehashte) Sicherheitspasswort der Website POSTEN, da dies ein gemeinsames Geheimnis zwischen Ihnen und Trust Payments ist.

 

Ratschläge zur Fehlerbehebung für gehostete Payment Pages

CO12-EN.png

Wenn Sie Ihre Website-Sicherheitsimplementierung testen und Payment Pages die Fehlermeldung "Bei Ihrer Zahlung ist ein Problem aufgetreten - Ungültige Angaben" (Es gab ein Problem mit Ihrer Zahlung - Ungültige Details) zurückgibt, bedeutet dies, dass es eine Diskrepanz zwischen dem von Ihrem System generierten Hash und dem von Trust Payments erwarteten Wert gibt. Bitte stellen Sie sicher, dass Sie alle oben genannten Anweisungen befolgt haben. Wenn Sie immer noch Probleme haben, wenden Sie sich bitte an unser Support-Team, um Hilfe zu erhalten.

War dieser Artikel hilfreich?
0 von 0 Personen fanden dies hilfreich