Principal
Informações Principais
Gerando uma Assinatura
Depósitos
Começando
Criando um Depósito
Criando um Depósito sem Redirecionamento (iframe)
Notificação de Depósito (webhook)
Verificando o Status do Depósito
Obtendo a Lista de Depósitos
Depósitos sem período de espera de 8 dias (Steam Trade Protection)
Aprovação de depósito com retenção de 8 dias
Receba notificações de webhook com falha
Depósitos sem a interface do usuário do SkinsBack
Create a deposit without SkinsBack UI (API)
Obter o inventário do usuário
Retirada de skins
Lista de preços (disponibilidade de skins)
Pesquisar skins
Comprar skin
Comprar skins em grandes quantidades
Status da compra de skin
Histórico de compras de skins
Outro
Saldo do Projeto
Histórico de Saques e Depósitos
Moedas e taxas
Status do servidor
Eventos em tempo real: websockets
Eventos em tempo real: webhooks
Geração de assinatura
A assinatura é gerada concatenando todos os parâmetros no formato "key:value;" e convertendo em SHA1 HMAC assinado com o Client Secret. Matrizes e objetos são ignorados. O Client Secret pode ser obtido no painel do comerciante.
Exemplo de geração de assinatura em 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);
Exemplo de geração de assinatura em 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);
Exemplo de solicitação com assinatura em 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/pt-br/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: exemplo de validação de assinatura em PHP:
<?php
$clientSecret = '123'; // Client Secret
// @see https://skinsback.com/pt-br/docs/api/v1/signature/
if($_POST['sign'] != buildSignature($_POST, $clientSecret))
{
die('Wrong signature');
}