For the complete documentation index, see llms.txt. This page is also available as Markdown.

Signaturgenerierung

TIPP (TIP)

Händler können die folgenden Schritte ausführen, um die Signatur der Anfrage zu generieren. Die Plattform wird die Signatur nach Erhalt der Anfrage überprüfen. Wenn die Signaturüberprüfung fehlschlägt, wird die Anfrage abgelehnt und der entsprechende Statuscode (status code) zurückgegeben.

Vorbereitung (Preparation)

Händler müssen sich mit einer Händlernummer registrieren und eine Zahlungsanwendung über das Händler-Backend erstellen, um APP_ID und APP_SECRECT zu erhalten.

Bedingung (Condition)

Alle Schnittstellen der POST-Methode in diesem Dokument müssen die Signatur validieren, andere Schnittstellen müssen vorerst nicht validiert werden.

Generierung (Generation)

Die Signaturzeichenfolge besteht aus vier Zeilen, ein Parameter pro Zeile. Die Zeile endet mit \n (Zeilenumbruch, der ASCII-Codierungswert ist 0x0A), und fügen Sie in der letzten Zeile kein \n hinzu. Wenn der Parameter selbst auf \n endet, müssen Sie zusätzlich ein \n anhängen.

URL\n
Request timestamp\n
Request random string\n
Request message body

Nehmen wir die Bestellabfrage (order inquiry) als Beispiel.

Der erste Schritt besteht darin, die absolute URL der Anfrage abzurufen und den Domainnamen zu entfernen, um die signierte URL zu erhalten. Wenn die Anfrage Abfrageparameter enthält, sollte die URL mit '? ' und der entsprechenden Abfragezeichenfolge ergänzt werden.

/v1/transaction/query

Der zweite Schritt besteht darin, den aktuellen Zeitstempel (Millisekunden) des Systems beim Start der Anfrage abzurufen. Das heißt, die Gesamtzahl der Sekunden vom 1. Januar 1970, 00:00:00 GMT bis zur Gegenwart, als Anfrage-Zeitstempel. Die Plattform wird die Verarbeitung von Anfragen ablehnen, die vor langer Zeit gestellt wurden. Bitte halten Sie die Zeit des händlereigenen Systems genau.

Der dritte Schritt besteht darin, eine 32-Bit-Zufallszeichenfolge (random string) zu generieren.

Der vierte Schritt besteht darin, den Anfrage-Nachrichtentext in der Anfrage abzurufen (request body).

Der fünfte Schritt besteht darin, die Anfrage-Signaturzeichenfolge gemäß den vorherigen Regeln wie folgt zu erstellen:

Verschlüsselung (Encryption)

Nehmen wir den Javascript-Verschlüsselungsprozess als Beispiel:

Beispiel nach der Verschlüsselung:

Verketten (Concatenate)

Das Spleißformat der Signaturinformationen lautet wie folgt: app_id=APP_ID, mch_id=Händler-ID, nonce_str=Die in Schritt 3 generierte Zufallszeichenfolge, timestamp=Der in Schritt 2 generierte Zeitstempel, signature=Kryptografische Signaturzeichenfolge.

HTTP-Header (HTTP header)

Die Dokumenten-API übergibt die Signatur über einen HTTP-Authorization-Header. Authorization besteht aus zwei Teilen: Authentifizierungstyp und Signaturinformationen. Der Authentifizierungstyp unterstützt vorerst nur TTPAY-AES-256-ECB.

Authorization-Header wie folgt: (Hinweis: Beispiel, da der Schriftsatz Zeilenumbrüche enthalten kann, sollten die tatsächlichen Daten in einer Zeile stehen)

Schließlich können wir eine HTTP-Anfrage erstellen, die eine Signatur enthält.

Demo-Code (Demo code)

Zuletzt aktualisiert