• DeutschEnglish

HMAC-Authentisierung (Anfrage)

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.

with a 32-digit key length (256 bits) for this. The additional password makes the HMAC procedure particularly safe.

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:

PayID*TransID*MerchantID*Amount*Currency 

Key

Wert

Anmerkungen

PayID

Referenzierte PayID

Kann leer sein, z.B. zum Erstellen eines anfänglichen Zahlungsvorgangs oder einer Risikomanagement-Anfrage; wird bei nachfolgenden Anfragen wie Erfassung/Erstattung verwendet.

TransID

Ihre Transaktions-ID zur Referenzierung / Identifikation Ihrer Anfrage.

Nur ASCII druckbare Zeichen von 0x20 bis 0x7E.

Ihre eigene Referenz zur Identifikation jeder Anfrage / jedes Zahlungsvorgangs.

MerchantID

Ihre von Computop vergebene MerchantID

Ihre MerchantID zur Identifikation dieser Anfrage.

Amount

Betrag in der kleinsten Währungseinheit, z.B.123=1,23

Betrag dieser Anfrage; kann leer sein, falls der Wert z.B. für Statusanfragen nicht verwendet wird.

Currency

Währung des Zahlungsvorgangs gemäß ISO 4217, z.B. EUR, USD, GBP

Währung dieser Anfrage; kann leer sein, falls der Wert z.B. für Statusanfragen nicht verwendet wird.

YourHmacPasswort

Ihr vor Computop zugeteiltes MAC-Kennwort

Ihr zu einer bestimmten MID zugeordnetes MAC-Kennwort; falls Sie mehrere MIDs haben, haben Sie auch verschiedene MAC-Kennwörter.

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:

Beispiele zur MAC-Berechnung

Formel

Ergebnis

ohne PayID, mit Betrag/Währung

sha256("*TID-4453732122167114558*YourMerchantID*1234*EUR", "mySecret")

0522F1AF6A88597D396A5A877499F3C9087EBCF103B1B47D7E4D13421CC7EA36

ohne PayID, ohne TransID, mit Betrag/Währung

sha256("**YourMerchantID*1234*EUR", "mySecret")

1427748D983478080F22BE0878BD99AF7BE3E1C4B19C07AFD1B372BA552ADC08

mit PayID, ohne Betrag/Währung

sha256("fe3f002e19814eea8aa733ec4fdacafe*TID-4453732122167114558*YourMerchantID**", "mySecret")

6ED0CFDCE92CE13399552C4221B44E5B036DE943D7F84E33D1E73DF9871AE7C8

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

Anfrage ohne PayID:

MerchantID=YourMerchantID&TransID=100000001&Amount=11&Currency=EUR&URLSuccess=https://www.shop.de/ok.html&URLFailure=https://www.shop.de/failed.html&OrderDesc=My purchase

String zur MAC-Erzeugung:

*100000001*YourMerchantID*11*EURAnfrage mit MAC (Secret: "mySecret"):

MerchantID=YourMerchantID&TransID=100000001&Amount=11&Currency=EUR&URLSuccess=https://www.shop.de/ok.html&URLFailure=https://www.shop.de/failed.html&OrderDesc=My purchase&MAC=0A125E070BD4D7AE614BCB2D5A48FB80E1C4441E262A1024AE7F2A1819052A6F

Anfrage ohne TransID:

MerchantID=YourMerchantID&PayID=8ee4e922c39446ac9ee66095a4a4b475&Amount=100&Currency=USD

String zur MAC-Erzeugung:

8ee4e922c39446ac9ee66095a4a4b475**YourMerchantID*100*USD

Anfrage mit MAC (Secret: "mySecret"):

MerchantID=YourMerchantID&PayID=8ee4e922c39446ac9ee66095a4a4b475&Amount=100&Currency=USD&MAC=4016FD6C705399A024D8B4CCB0018814E05A5490DDEBEC04909E6DA138CB5AF8

Paygate

Documentation (EN)

Dokumentation (DE)

Paygate Status