API REFERENCE
Ondertekening
1. Verzamel alle betalingsparameters
Neem alle verzonden en ontvangen gegevens op in verzameling M. Sorteer M in oplopende alfabetische (lexicografische) volgorde en voeg de parameters samen tot string A met sleutel-waardeparen in URL-stijl (bijvoorbeeld key1=value1&key2=value2…).
Let op:
Sorteer parameternamen in oplopende ASCII-volgorde (lexicografisch).
Parameternamen zijn hoofdlettergevoelig.
Laat bij het verifiëren van de handtekening van geretourneerde gegevens of een pushmelding van YabandPay de meegestuurde velden “sign” en “data” buiten de te ondertekenen gegevens.
2. Genereer stringSign met stringA en secret_key
Pas HMAC-SHA256 toe op stringA om de handtekeningwaarde (signValue) te verkrijgen.
Gebruik stringA en secret_key om stringSign te maken en voer de bewerking HMAC-SHA256 uit op stringSign om de waarde van sign (signValue) te verkrijgen.
Voorbeeld:
a) Verzamel alle betalingsparameters
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) Sorteer alle betalingsparameters
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) Voeg ze samen tot een queryreeks in URL-stijl
string(326) "amount=0.1¤cy=EUR&demo=test&description=YabandPay test&method=v3.CreatePayments¬ify_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) Onderteken de resulterende stringA met secret_key
In dit voorbeeld is secret_key gelijk aan YOUR_SECRET_KEY.
De resulterende handtekening is:
string(64) "YOUR_SIGNATURE"
