Помощь Контакты
ruRU
ENEN DEDE ESES PLPL PT-BRPT-BR PT-PTPT-PT RURU TRTR VIVI ZH-CNZH-CN
Подключить сайт
Помощь Контакты

API

Главное
Основная информация Генерация подписи
Депозиты
Начало работы Создание депозита Создание депозита без переадресации (iframe) Уведомление о депозите (webhook) Проверка статуса депозита Получение списка депозитов Депозиты без 8 дневного ожидания (Steam Trade Protection) Одобрение депозита с 8 дневным холдом Недошедшие уведомления о платежах
Депозиты без SkinsBack UI
Создание депозита без SkinsBack UI (API) Получить инвентарь пользователя
Вывод скинов
Прайс-лист (наличие скинов) Поиск скинов Купить скин Массовая покупка скинов Статус покупки скина История покупок скинов
Другое
Баланс проекта История выводов с баланса и депозитов Валюты и курсы Статус сервера Real-time обновления: WebSockets Real-time обновления: WebHooks

Генерация подписи

Подпись формируется посредством конкатенации всех параметров в виде "key:value;" и преобразования к SHA1 HMAC подписанной с помощью Client Secret. Массивы и объекты пропускаются. Узнать Client Secret можно в кабинете мерчанта.

Пример генерации подписи на PHP:

<?php

function buildSignature($params, $clientSecret)
{
    ksort($params);

    $paramsString = '';
    foreach($params AS $key => $value)
    {
        if($key == 'sign') continue;
        if(is_array($value)) { continue; }
        $paramsString .= $key .':'. $value .';';
    }
    $sign = hash_hmac('sha1', $paramsString, $clientSecret);

    return $sign;
}

$clientSecret = '123'; // Client Secret
$params = array(
    'method' => 'orderstatus',
    'order_id' => 1,
    'shopid' => '123' // Client ID
);
$params['sign'] = buildSignature($params, $clientSecret);

Пример генерации подписи на JavaScript:

function buildSignature(params, clientSecret)
{
    var paramsString = '';
    Object.keys(params).sort().forEach(function(key)
    {
        if (key === 'sign') return;
        if(typeof params[key] == 'object') return;
        paramsString += '' + key + ':' + params[key] + ';';
    });

    var crypto = require('crypto');
    paramsString = crypto.createHmac('sha1', clientSecret).update(paramsString).digest('hex');
    return paramsString;
}

var clientSecret = '123'; // Client Secret
var params = {
    method: 'orderstatus',
    order_id: 1,
    shopid: '123' // Client ID
}
params.sign = buildSignature(params, clientSecret);

Пример запроса с подписью на PHP:

<?php
$params = array(
	'shopid' => '1', // Client ID
    'method' => 'create',
	'order_id' => 1,
	'steam_id' => '76561198827262007',
	'trade_token' => 'i1ArBZey',
	'currency' => 'usd'
);
$clientSecret = '123123123123213';
// @see https://skinsback.com/ru/docs/api/v1/signature/
$params['sign'] = buildSignature($params, $clientSecret);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"https://skinsback.com/api.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec($ch);
curl_close ($ch);
var_dump($server_output);

Webhook: пример сверки подписи на PHP:

<?php

$clientSecret = '123'; // Client Secret
// @see https://skinsback.com/ru/docs/api/v1/signature/
if($_POST['sign'] != buildSignature($_POST, $clientSecret))
{
    die('Wrong signature');
}
© 2025 SkinsBack. All right reserved.
Помощь Контакты Оферта