Адрес API
Все запросы следует направлять на адрес https://api.paynstars.com/
Подпись запросов
С каждым запросом необходимо передавать параметр sign, он формируется следующим образом:
Сортируем массив с данными запроса по ключам в алфавитном порядке и конкатенируем (объединяем) их значения с разделителем ":".
Хешируем получившуюся строку с помощью MD5, используя secret_key_1, например:
import crypto from 'crypto'; //npm install crypto
let request_data = {
"project_id": 1, // Идентификатор проекта
"amount": 100, // Сумма заказа (целое число)
"order_id": "ORD15621", // Ваш внутренний ID заказа
"secret_key_1": "UCi2jSi7btPg91t0bllFPSV9IJ1KWnCUT" // Секретный ключ #1
}
// Получаем отсортированные ключи объекта данных
let sortedKeys = Object.keys(raw_data).sort();
// Формируем строку данных для подписи
let data = sortedKeys.map(key => raw_data[key]).join(':');
// Создаем подпись для данных
let sign = crypto.createHash('md5').update(data).digest('hex');
// Удаляем секретный ключ из объекта данных
delete raw_data.secret_key;
// Добавляем подпись к объекту данных
raw_data.sign = sign;
<?php
$request_data = [
"project_id" => 1, // Идентификатор проекта
"amount" => 100, // Сумма заказа (целое число)
"order_id" => "ORD15621", // Ваш внутренний ID заказа
"secret_key_1" => "UCi2jSi7btPg91t0bllFPSV9IJ1KWnCUT" // Секретный ключ #1
];
// Получаем отсортированные ключи массива данных
$sortedKeys = array_keys($request_data);
sort($sortedKeys);
// Формируем строку данных для подписи
$data = implode(':', array_map(function($key) use ($request_data) {
return $request_data[$key];
}, $sortedKeys));
// Создаем подпись для данных
$sign = md5($data);
// Удаляем секретный ключ из массива данных
unset($request_data['secret_key_1']);
// Добавляем подпись к массиву данных
$request_data['sign'] = $sign;
print_r($request_data);
?>
Last updated