- Регистрация
- 20.02.2022
- Сообщения
- 648
- Благодарностей
- 170
- Баллы
- 43
Всем привет! Работаю сейчас над API binance pay что может быть не так в этом запросе:
Посмотреть вложение 105438
Хеш:
Как сам запрос построен:
Посмотреть вложение 105439
Посмотреть вложение 105440
Параметры построены по документации
Заголовок запроса#
Как сгенерировать подпись API#
Шаг 1. Создайте контент
String payload=timestamp+" \n"+nonce+" \n"+body+" \n";
Копировать
Шаг 2. Подпишите содержимое
String signature = hex(hmac("sha512", payload, secretKey)).toUpperCase();
ответ всегда приходит {"status":"FAIL","code":"400002","errorMessage":"Signature for this request is not valid."}
Уже сутки не можем разобраться
Посмотреть вложение 105438
Тело запроса:
{"requestId":"{-Variable.bin_random-}","batchName":"Выплаты остатка с баланса","currency":"USDT","totalAmount":{-Variable.amount-},"totalNumber":1,"bizScene":"MERCHANT_PAYMENT","transferDetailList":[{"merchantSendId":"219928819256303616","transferAmount":{-Variable.amount-},"receiveType":"PAY_ID","transferMethod":"MERCHANT_PAYMENT","receiver":"{-Variable.payerId-}","remark":"Выплаты остатка с баланса"}]}
C#:
string payload = project.Variables["xei"].Value+ " \n" +project.Variables["bin_random"].Value+ " \n" +project.Variables["unixtime"].Value+ " \n";
string secretKey = project.Variables["sekret_bin"].Value;
using (var hmac = new HMACSHA512(Encoding.UTF8.GetBytes(secretKey)))
{
byte[] hashBytes = hmac.ComputeHash(Encoding.UTF8.GetBytes(payload));
return BitConverter.ToString(hashBytes).Replace("-", "").ToUpper();
}
Посмотреть вложение 105439
Посмотреть вложение 105440
Параметры построены по документации
Заголовок запроса#
Правило | Тип | Требуется | Описание |
---|---|---|---|
тип контента | строка | Y | приложение / json |
BinancePay-отметка времени | долго | Y | Отметка времени в миллисекундах, которую запрашивает... |
BinancePay-одноразовый платеж | строка | Y | Случайная строка, сгенерированная продавцами. M... |
BinancePay-Сертификат-SN | строка | Y | Ключ API, сгенерированный на портале администратора Binance Merchant |
BinancePay-Подпись | строка | Y | Подпись API. Пожалуйста, смотрите следующий шаг для... |
Шаг 1. Создайте контент
String payload=timestamp+" \n"+nonce+" \n"+body+" \n";
Копировать
Шаг 2. Подпишите содержимое
String signature = hex(hmac("sha512", payload, secretKey)).toUpperCase();
ответ всегда приходит {"status":"FAIL","code":"400002","errorMessage":"Signature for this request is not valid."}
Уже сутки не можем разобраться