Hash MAC-Authentisierung in der Anfrage
Zum Schutz vor unbefugter Manipulation Ihrer Zahlungstransaktionen prüft das Computop Paygate mit Hilfe eines Hash Message Authentication Code (HMAC), ob Ihre Zahlungsanfrage echt ist und nicht manipuliert wurde. Dazu übergeben Sie bei jeder Transaktion im Parameter MAC einen HMAC-Wert an das Paygate.
Hintergrund: Im Gegensatz zum HMAC-Verfahren hat jedes Codierverfahen den Nachteil, dass es ein passendes Decodierverfahren gibt. Jeder, der den richtigen Schlüssel besitzt oder die Verschlüsselung knackt, kann die Daten lesen und manipulieren. Daher ist keine Verschlüsselungsmethode jemals 100% sicher. Beim Hash-Verfahren ist hingegen keine Dekodierung möglich, so dass ein Hash-Wert die Authentizität der Nachricht zweifelsfrei bestätigen kann.
Das Computop Paygate nutzt einen Hash Message Authentication Code (HMAC), um die Authentizität Ihrer Zahlungen zu prüfen. Dazu wird der MAC SHA-256-Algorithmus mit einer 32-stelligen Schlüssellänge (256 Bit) verwendet. Das zusätzliche Kennwort macht das HMAC-Verfahren besonders sicher.
Folgende Tabelle beschreibt, wie Sie die Hash-Werte für Ihre Zahlung erzeugen:
Schritt | Aufgabe | |||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Melden Sie sie bitte beim Computop Helpdesk an, der Ihnen das Hash-Kennwort mitteilt. | |||||||||||||||||||||||||||||||||
2 | Der HMAC-Wert wird mit Hilfe des Kennworts und mehrerer Parameterwerte berechnet. Zur Berechnung werden die Parameter PayID, TransID, MerchantID, Amount and Currency verwendet und mit Sternchen getrennt:
Hinweis: Falls eine Transaktion nicht alle diese Parameter unterstützt, können Sie die fehlenden Werte einfach weglassen. Beispielsweise liegt bei der ersten Transaktion noch keine PayID vor, sodass Sie diese nicht übertragen müssen. Die PayID ist Bestandteil der Hash-Berechnung bei nachfolgenden Transaktionen:
| |||||||||||||||||||||||||||||||||
3 | Verwenden Sie den HMAC SHA-256-Algorithmus, den fast alle Programmiersprachen unterstützen, um den Hash-Wert mit dem Kennwort und den Parameterwerten zu berechnen. | |||||||||||||||||||||||||||||||||
4 | Verwenden Sie den Parameter MAC, um den hexadezimal codierten Hash-Wert bei jeder Transaktion im codierten Datenfeld an das Paygate zu übertragen. |
Ihre Implementierung prüfen
Eine einfache Anwendung zur Überprüfung der Umsetzung Ihrer HMAC-Berechnung finden Sie hier: https://computop.com/paygate-test
Mit der Anwendung können Sie mit unserer Paygate API spielen – verwenden Sie einfach Ihre MerchantID und Ihr Blowfish-Kennwort, die Sie bereits erhalten haben.
Hinweis: Beachten Sie, dass der Parameter MAC für alle nachfolgenden Transaktionen (z. B. Buchung, Gutschrift) obligatorisch ist, wenn er mit der ersten Transaktion (z. B. Autorisierung) übertragen wurde.
Wichtig: Das Paygate lehnt Transaktionen mit falschen oder fehlenden HMAC-Werten sofort ohne weitere Verarbeitung ab, weil das ein Hinweis auf Hackerangriffe ist. Deshalb erscheinen Transaktionen, die das Paygate mit den Fehlercodes 20100044 oder 20120044 ablehnt, nicht in Computop Analytics.
Wichtig: Die MerchantID, welche in der HMAC Berechnung verwendet wird, muss identisch mit der MerchantID im unverschlüsselten Request sein (Parameter MerchantID). Bei der Verarbeitung der "MerchantID" muss die Groß- und Kleinschreibung beachten werden. "YourMerchantId" und "YourMerchantID" dürfen nicht vermischt werden.
Listing mit HMAC-Beispielen
|