Geheime Schlüssel

Geheime Schlüssel erleichtern die verschlüsselte Kommunikation mit Mollies neuen API's. Die neuen API's bieten eine noch bessere Sicherheit als die bisherigen, weil:

  • Alle API-Anfragen werden über HTTPS geroutet.
    Damit wird sichergestellt, dass die API-Anfrage nicht von dritten eingesehen werden kann. HTTPS garantiert auch, dass Sie wirklich mit Mollie kommunizieren.
  • Die Authentifizierung erfolgt mittels eines Profilschlüssel. Das bedeutet, dass Sie keinen Benutzernamen und kein Passwort eingeben müssen. Wenn Sie es wünschen, können Sie einen anderen Profilschlüssel pro Website verwenden.
  • Jede API-Anfrage enthält einen Zeitstempel.
    Das bedeutet, dass die Anfrage später nicht erneut eingereicht werden kann.
  • Alle API-Anfragen sind unterzeichnetmit einem Geheimschlüssel.<>>So weiß unsere Plattform, dass die Anfrage von Ihrer Website gestellt wurde und authentisch ist, und dass die Parameter unterwegs nicht geändert wurden.
  • Die API kennzeichnet sich durch Versionen.; Es ist einfach, auf eine andere Version zu wechseln, und ältere Versionen werden langfristig unterstützt.

Verfügbare APIs

Die folgenden Mollie-APIs verwenden zur Sicherheit geheime Schlüssel:

Wie funktioniert es?

Jede API-Methode hat ihre eigene URL, die Sie über HTTP aufrufen können.
https://www.mollie.com/api/api-naam/versie/methode

Zum Beispiel, wenn Sie die Version v1 der API-Methode create-payment der Credit Card-API aufrufen wollen, verwenden Sie die URL:
https://www.mollie.com/api/creditcard/v1/create-payment

Unterschrift

Sie müssen jede API-Anfrage mit dem geheimen Schlüssel, der zu Ihrem Website-Profil gehört, unterschreiben. Zu diesem Zweck verwenden wir einen SHA1-HMAC oder Hash-basierten Message Authentication Code mit SHA1 als Hash-Algorithmus.

  1. Nehmen Sie den API-Endpunkt, den Sie aufrufen, zum Beispiel /api/reseller/account-valid/v1.
  2. Fügen Sie ihm ein ? hinzu.
  3. Alle Parameter und Werte in alphabetischer Reihenfolge, getrennt durch ein Und-Zeichen (&).
    /api/reseller/v1/account-valid?a=value&partner_id=1234567&profile_key=decafbad&q=mijn%20waarde×tamp=1454324006&z=value
    Erklärung: /api/reseller/account-valid/v1 ist die Methode, die aufgerufen wird, partner_id, profile_key und timestamp sind obligatorische Parameter für alle API-Anfragen und a, q und z sind die anderen Parameter für diese API-Anfrage.
    Bitte beachten Sie, dass Sie die Werte für die Parameter URL-kodieren müssen: my value wird my%20value.
  4. Verwenden Sie HMAC, um die Signatur dieser API-Anfrage zu berechnen und sie dem Parameter signature hinzuzufügen. Für einen Schlüssel verwenden Sie den 'Schlüssel', der zum Profil der Website gehört, Sie finden ihn auf der Profile-Seite. Als Algorithmus muss 'SHA1' gewählt werden. Die Signatur ist also immer 40 Zeichen lang, zum Beispiel: 6a018490f38ddc1571ab4cd9cd41f5e700c09ce2. Viele Programmiersprachen verfügen über eine Standardimplementierung des HMAC-Algorithmus. Siehe zum Beispiel hash_hmac() für PHP oder dieHMAC.hexdigest() Methode für Python.

Tip Möchten Sie mehr über HMACs wissen? Wikipedia hat eine detaillierte Beschreibung.

Immer obligatorische Parameter

Sie müssen diese obligatorischen Parameter entweder über POST oder im Query-String über GET senden. Diese Parameter werden zur Authentifizierung des API-Requests verwendet.

Parameter Erklärung Bemerkungen
partner_id Ihre Partner-ID
profile_key/em> Ihren Website-Profilschlüssel können Sie über die Profile-Seite abrufen. Zum Beispiel 115ea03a.
timestamp Die aktuelle Zeit in Unix-Zeit. Die Unix-Zeit ist jetzt 1454324006.
signature Die Unterschrift der Anfrage, siehe Unterschrift weiter unten. .

Versionen

Jede Mollie API ist mit Versionen ausgestattet. Wenn eine API geändert wird, startet Mollie eine neue Version. Alte API-Versionen werden für einen längeren Zeitraum verfügbar bleiben.

Die Versionsnummer finden Sie in der URL zwischen dem Namen der API und dem Namen der aufgerufenen Methode. Die Versionsnummer finden Sie auch in der Antwort, die Sie von der API erhalten.

Beispiel API-Ergebnis

<?xml version="1.0"?>
<response version="v1">
<success>true</success>
<resultcode>10</resultcode>
<resultmessage>Es funktioniert!</resultmessage>
</response>

Die folgenden Elemente sind in jedem API-Ergebnis enthalten:

  • <success> Zeigt an, ob eine Anfrage erfolgreich ausgeführt wurde.
  • <resultcode> Zeigt an, welcher Fehler während der Anfrage aufgetreten ist.
  • <resultmessage> Gibt zusätzliche Informationen über das Ergebnis.

Mögliche Ergebniscodes

Die folgenden Ergebniscodes sind für alle API-Anforderungen möglich:

Code Erklärung
10 Der Auftrag wurde erfolgreich ausgeführt.
31 Der Parameter partner_id fehlt.
22 Der Parameter timestamp fehlt.
23 Der Parameter signature fehlt.
24 Die API-Anfrage wurde über HTTP gesendet statt über HTTPS.
25 Das eingereichte Website-Profil kann nicht gefunden werden.
26 Die HTTP-Methode ist nicht gestattet, verwenden Sie bitte eine im Erlaubt-Header angegebene Methode.
27 Die Signatur der API-Anfrage ist nicht korrekt.
28 Der timestamp ist verfallen, liegt z.B. zu weit in der Vergangenheit oder der Zukunft.
29 Einer der obligatorischen Parameter fehlt
95 Die API ist vorübergehend nicht verfügbar.
96 Einer der Parameter enthält Bytes, die nicht als UTF-8 gelesen werden können.
98 Sie haben keinen Zugriff auf das angeforderte Objekt oder die API-Methode.
97 Das angegebene Objekt oder die angeforderte API-Methode existiert nicht.
99 Bei der Verarbeitung des API-Requests ist ein interner Fehler aufgetreten.

Downloads & Beispiele

Sie müssen das Rad nicht neu erfinden. Mollie hat für Sie ein gebrauchsfertiges PHP-Skript aufgereiht. Natürlich können Sie die Integration auch selbst vornehmen, wenn die Skripte nicht Ihren Anforderungen entsprechen.

Verwenden Sie node.js? In diesem Fall können Sie den Open-Source API-Client für node.js verwenden, der von Matthijs van Henten entwickelt wurde.

Support

Brauchen Sie Unterstützung? Bitte zögern Sie nicht, uns zu kontaktieren.