API REFERENCE
Assinatura
1. Reúna todos os parâmetros de pagamento
Considere M o conjunto de todos os dados enviados e recebidos. Ordene M em ordem alfabética crescente (ordem lexicográfica) e, em seguida, concatene os parâmetros na string A usando pares chave-valor no formato de URL (por exemplo, key1=value1&key2=value2…).
Observação:
Ordene os nomes dos parâmetros em ordem ASCII crescente (ordem lexicográfica).
Os nomes dos parâmetros diferenciam maiúsculas de minúsculas.
Ao verificar a assinatura dos dados retornados ou de uma notificação push da YabandPay, exclua os campos transmitidos “sign” e “data” dos dados usados para gerar a assinatura.
2. Gere stringSign usando stringA e secret_key
Aplique HMAC-SHA256 a stringA para obter o valor da assinatura (signValue).
Use stringA e secret_key para obter stringSign; execute a operação HMAC-SHA256 em stringSign para obter o valor da assinatura (signValue).
Por exemplo:
a) Reúna todos os parâmetros de pagamento
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) Ordene todos os parâmetros de pagamento
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) Concatene-os em uma string de consulta no formato de URL
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) Assine a stringA resultante usando secret_key
Neste exemplo, secret_key é YOUR_SECRET_KEY
A assinatura resultante é:
string(64) "YOUR_SIGNATURE"
