Dokumentation/API-Referenz

API REFERENCE

Signatur

1. Alle Zahlungsparameter erfassen

Sei M die Menge aller gesendeten und empfangenen Daten. Sortieren Sie M alphabetisch aufsteigend (lexikografisch) und fügen Sie die Parameter anschließend im URL-Format als Schlüssel-Wert-Paare zu Zeichenfolge A zusammen (zum Beispiel key1=value1&key2=value2…).

Bitte beachten Sie:

Sortieren Sie Parameternamen aufsteigend nach ASCII (lexikografische Reihenfolge).

Bei Parameternamen wird zwischen Groß- und Kleinschreibung unterschieden.

Lassen Sie bei der Prüfung der Signatur zurückgegebener Daten oder einer YabandPay-Push-Benachrichtigung die übermittelten Felder „sign“ und „data“ aus den zu signierenden Daten weg.

2. stringSign mit stringA und secret_key

Wenden Sie HMAC-SHA256 auf stringA an, um den Signaturwert (signValue) zu erhalten.

Verwenden Sie stringA und secret_key um stringSign zu erzeugen; führen Sie HMAC-SHA256 mit stringSign aus, um den Signaturwert (signValue) zu erhalten.

For example:

a) Alle Zahlungsparameter erfassen
array(13) {
  ["description"] => string(27) "YabandPay test"
  ["timeout"] => string(1) "0"
  ["pay_method"] => string(8) "online"
  ["sub_pay_method"] => string(6) "WeChat Pay"
  ["order_id"] => string(17) "20180902014018888"
  ["amount"] => string(3) "0.1"
  ["currency"] => string(3) "EUR"
  ["redirect_url"] => string(49) "https://www.yabandpay.com"
  ["notify_url"] => string(44) "https://www.yabandpay.com/notify"
  ["demo"] => string(4) "test"
  ["user"] => string(20) "YOUR_CASHIER_UID"
  ["method"] => string(17) "v3.CreatePayments"
  ["time"] => int(1555498137)
}
b) Sort all payment parameters
array(13) {
  ["amount"] => string(3) "0.1"
  ["currency"] => string(3) "EUR"
  ["demo"] => string(3) "test"
  ["description"] => string(27) "YabandPay test"
  ["method"] => string(17) "v3.CreatePayments"
  ["notify_url"] => string(44) "https://www.yabandpay.com/notify"
  ["order_id"] => string(17) "20180902014018888"
  ["pay_method"] => string(8) "online"
  ["redirect_url"] => string(49) "https://www.yabandpay.com"
  ["sub_pay_method"] => string(6) "WeChat Pay"
  ["time"] => int(1555498137)
  ["timeout"] => string(1) "0"
  ["user"] => string(20) "YOUR_CASHIER_UID"
}
c) Concatenate them into a URL-style query string
string(326) "amount=0.1&currency=EUR&demo=test&description=YabandPay test&method=v3.CreatePayments&notify_url=https://www.yabandpay.com/notify&order_id=20180902014018888&pay_method=online&redirect_url=https://www.yabandpay.com&sub_pay_method=WeChat Pay&time=1555498137&timeout=0&user=YOUR_CASHIER_UID"
d) Sign the resulting stringA using secret_key

In this example, secret_key is YOUR_SECRET_KEY

The resulting signature is:

string(64) "YOUR_SIGNATURE"