Всім доброго дня!
Потрібно створити скрипт на JS та розмістити його на сервері із встановленим Node js.
Скрипт має приймати дані (параметри), які йому будуть передані через POST запит.
Отримані дані потрібно сортувати та використовуючи їх та Secret Key потрібно створити переменную signature (hmac-sha512).
Скрипт повинен повернути зашифровану signature у відповіді на POST.
<Подпись
Для аутентификации запроса, его нужно подписать.
Подпись формируется по алгоритму HEX(HMAC-SHA512(data, merchant_key)), где:
- data - строка, составленная из значений объекта params.
Чтобы сформировать строку - необходимо:- отсортировать ключи params по алфавиту
- сложить строку из значений за исключением вложенных объектов и
null - к полученной строке в конце добавить значение хедера x-utc-now-ms
- привести строку к нижнему регистру
- api_key - ключ мерчанта для взаимодействия по API.
Нижче наводжу приклад на PHP (у ньому є параметри, та показано приклад сортування для створення підпису)
<?php
function sign_data(string $key, array $data, string $utc_now) : string {
ksort($data);
$s = '';
foreach($data as $k=>$value) {
if (in_array(gettype($value), array('array', 'object', 'NULL')) ){
continue;
}
if(is_bool($value)){
$s .= $value ? "true" : "false";
} else {
$s .= $value;
}
}
$s .= $utc_now;
return hash_hmac('sha512', strtolower($s), $key);
}
$data = array(
"method" => "balance",
"params" => array("curr" => "BTC"),
"jsonrpc" => "2.0",
"id" => "1"
);
Сервер можна будь-який на ваш вибір.