Documentação/Referência da API

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&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) Assine a stringA resultante usando secret_key

Neste exemplo, secret_key é YOUR_SECRET_KEY

A assinatura resultante é:

string(64) "YOUR_SIGNATURE"