Search

Skip to end of metadata
Go to start of metadata

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:

PayID*TransID*MerchantID*Amount*Currency 

KeyWertAnmerkungen
PayIDReferenzierte PayIDKann leer sein, z.B. zum Erstellen eines anfänglichen Zahlungsvorgangs oder einer Risikomanagement-Anfrage; wird bei nachfolgenden Anfragen wie Erfassung/Erstattung verwendet.
TransIDIhre Transaktions-ID zur Referenzierung / Identifikation Ihrer AnfrageIhre eigene Referenz zur Identifikation jeder Anfrage / jedes Zahlungsvorgangs.
MerchantIDIhre von Computop vergebene MerchantIDIhre MerchantID zur Identifikation dieser Anfrage.
AmountBetrag in der kleinsten Währungseinheit, z.B.123=1,23Betrag dieser Anfrage; kann leer sein, falls der Wert z.B. für Statusanfragen nicht verwendet wird.
CurrencyWährung des Zahlungsvorgangs gemäß ISO 4217, z.B. EUR, USD, GBPWährung dieser Anfrage; kann leer sein, falls der Wert z.B. für Statusanfragen nicht verwendet wird.
YourHmacPasswortIhr von Computop zugeteiltes HMAC-KennwortIhr zu einer bestimmten MID zugeordnetes HMAC-Kennwort; falls Sie mehrere MIDs haben, haben Sie auch verschiedene HMAC-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-BerechnungFormelErgebnis
ohne PayID, mit Betrag/WährungHmacSHA256("*TID-4453732122167114558*yourMerchantId*1234*EUR", "mySecret")38CED807E293FC634A6C36FFAEA7BD2687038D40615781918AEF2DE7BB9A9903
ohne PayID, ohne TransID, mit Betrag/WährungHmacSHA256("**yourMerchantId*1234*EUR", "mySecret")ECBCAB7361CFFE1694D2E893280AED0FEEC2FCF518A736009D38CBD65F0DC68B
mit PayID, ohne Betrag/WährungHmacSHA256("fe3f002e19814eea8aa733ec4fdacafe*TID-4453732122167114558*yourMerchantId**", "mySecret")5A3ED13E4BF3492166E8E9B5898F372735B6FDCBFFC41B2AB4574A9A6FC9B734

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.

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*Test*11*EUR

Anfrage mit MAC-Parameter:

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=A0E3A8BB9473CF4D3F91181E0859650A9AF3F4AD0AE1E839AC7B750247A2E947

Anfrage ohne TransID:

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

String zur MAC-Erzeugung:

8ee4e922c39446ac9ee66095a4a4b475**Test*100*USD

Anfrage mit MAC-Parameter:

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



  • No labels