====== Grundlagen ====== Bei allen API Aufrufen handelt es sich um HTTPS POST Aufrufe. Die Daten sind als POST Felder an die jeweilige API URL zu übertragen. Alle Daten müssen UTF-8 kodiert übermittelt werden. Die Antwort besteht immer aus einem JSON Objekt. ===== Authentifizierung ===== Die Authentifizierung erfolgt durch Angabe der Händler-ID und Projekt-ID, welche Sie in den Projekteinstellungen im GiroCheckout finden. Weiterhin wird ein HMAC MD5 Hash über alle übergebenen Parameterwerte erstellt und im Parameter hash übermittelt. Mit diesem Hash werden die übermittelten Daten gegen Manipulation abgesichert. ===== Hinweise zu Beispielen ===== Für alle Beispiel-Aufrufe werden die folgenen Daten verwendet: * Händler-ID: 1234567 * Projekt-ID: 1234 * Projekt-Passwort: secure Alle Beispiele werden als cURL Aufruf dargestellt. Somit sind die Beispiele unabhängig von einer Programmiersprache. Implementierungsbeispiele in PHP finden Sie weiter unten. ===== Hash generieren ===== Der Hash wird über alle Feldinhalte der entsprechenden Funktion gebildet. Hierbei werden alle Inhalte ohne Trennzeichen und Feldbezeichner in der Reihenfolge der Schnittstellenbeschreibung aneinandergehägt. Über diese Zeichenkette wird mit dem Projekt-Passwort ein HMAC MD5 Hash gebildet, der im Parameter hash übermittelt wird.. **Beispielparameter** ^Parameter ^Wert ^ |merchantId |1234567 | |projectId |123 | |parameter1 |Wert1 | |parameter2 |Wert2 | **Beispiel-Zeichenkette für die Hash Berechnung:**\\ 1234567123Wert1Wert2 **PHP Beispiel zur Ermittlung des Parameters hash**\\ $string = '1234567123Wert1Wert2'; $hash = hash_hmac('MD5', $string, 'secure'); **Beispielparameter inkl. hash zur Übermittlung** ^Parameter ^Wert ^ |merchantId |1234567 | |projectId |123 | |parameter1 |Wert1 | |parameter2 |Wert2 | |hash |3ecfbd3170fde872b5912da5c2d0e794|