Главное
Основная информация
Генерация подписи
Депозиты
Начало работы
Создание депозита
Создание депозита без переадресации (iframe)
Уведомление о депозите (webhook)
Проверка статуса депозита
Получение списка депозитов
Депозиты без 8 дневного ожидания (Steam Trade Protection)
Одобрение депозита с 8 дневным холдом
Недошедшие уведомления о платежах
Депозиты без SkinsBack UI
Создание депозита без SkinsBack UI (API)
Получить инвентарь пользователя
Вывод скинов
Прайс-лист (наличие скинов)
Поиск скинов
Купить скин
Массовая покупка скинов
Статус покупки скина
История покупок скинов
Другое
Баланс проекта
История выводов с баланса и депозитов
Валюты и курсы
Статус сервера
Real-time обновления: WebSockets
Real-time обновления: WebHooks
Создание депозита
В отличие от классических платежных систем, SkinsBack не принимает определенную сумму для пополнения. Сумма пополнения отправляется на Result URL (webhook) после передачи нам игровых вещей.
В ответе данного метода будет содержаться URL, на который необходимо перенаправить пользователя (это и есть страница оплаты).
Параметры 'min_amount' и/или 'max_amount' обязательны для использования только для создания Limited депозитов. Тогда также обязательно указывать и параметр 'currency'. Если 'min_amount' будет меньше суммы минимальной сделки для игры, будет использована сумма минимальной сделки для игры.
Синим выделены обязательные параметры.
Отправьте POST запрос на API Endpoint со следующими параметрами:
method
string
create
order_id
string
Уникальный ID депозита в вашей системе
steam_id
string
Steam ID пользователя по умолчанию. Пользователь может сменить аккаунт во время пополнения.
trade_token
string
'token' из Trade URL пользователя (8 символов)
result_url
string
Опциональный Result URL, который будет использоваться
вместо того, который указан в настройках проекта
вместо того, который указан в настройках проекта
fail_url
string
Опциональный Fail URL
success_url
string
Опциональный Success URL
min_amount
double
Минимальная сумма пополнения.
Используется строго с 'currency'
Используется строго с 'currency'
max_amount
double
Максимальная сумма пополнения. Должна быть больше, чем 'min_amount'.
Используется строго с 'currency'
Используется строго с 'currency'
widget
bool
Если значение 1, то в ответе от сервера будет передан URL, который предназначен для отображения интерфейса пополнения внутри вашего сайта (iframe). Подробнее в пополнение непосредственно на сайте
game
string
Игра, открываемая по умолчанию при загрузке инвентаря в форме оплаты ('cs2', 'dota2', 'rust')
custom_multiplier
double
Кастомный множитель цены (переопределяет значение из настроек проекта). Мин. значение: 0.5, макс.: 2
custom_currency
string
Кастомная валюта (обязательно с custom_currency_rate). Вы можете передать название своей валюты и указать ее курс. Цены на скины будут отображаться в этой валюте. Максимум 4 символа.
custom_currency_rate
double
Курс кастомной валюты (обязательно с custom_currency). Мин. значение: 0,1
Ответ от сервера:
В случае успеха, в ответе от сервера будет объект JSON, со следующим содержанием:
url
string
URL, на который надо переадресовать пользователя
transaction_id
int
Transaction ID в нашей системе
Пример успешного ответа:
{
"status": "success",
"url": "https://skinsback.com/_/pay/9421749033d9d3f725c67572575975de/",
"transaction_id": 13
}
Список возможных ошибок:
1
invalid_order_id
Неверно передано значение order_id
2
invalid_steam_id
Неверный steam_id. Пример Steam ID: 76561198827262007
5
order_id_already_exists
Указанный order_id уже был использован для создания депозита
7
invalid_max_value
Максимальная сумма пополнения должна быть больше значений 'min_value' и минимальной суммы сделки для игры
8
invalid_currency
Указана неверная валюта
9
invalid_result_url
Указан неверный URL
10
invalid_success_url
Неверный Success URL
11
invalid_fail_url
Неверный Fail URL
12
invalid_custom_currency
Указана неверная произвольная валюта
13
invalid_custom_currency_rate
Указан неверный курс произвольной валюты
14
invalid_custom_multiplier
Указан неверный опциональный множитель. Мин. значение: 0.5, макс: 2.
15
invalid_game
Указана неверная игра
стандартные ошибки:
-1
please_use_post_method
Необходимо использовать POST метод
-2
invalid_shopid
ID проекта не найден в системе
-3
invalid_signature
Неверно сформирована подпись
-4
shop_not_active
Проект неактивен
-5
invalid_method
Неверный API метод
-7
request_limit_reached
Превышен лимит запросов (500/в минуту)
-8
invalid_ip_address
Укажите IP адрес в настройках проекта
-9
under_maintenance
Сайт на обслуживании
-10
invalid_client_secret
Неверный передан заголовок X-CLIENT-SECRET
Пример ответа с ошибкой:
{
"status": "error",
"error_code": 1,
"error_message": "invalid_order_id"
}
Пример запроса с авторизацией через заголовки на PHP:
<?php
$params = array(
'method' => 'create',
'order_id' => 1,
'steam_id' => '76561198827262007',
'trade_token' => 'i1ArBZey',
'currency' => 'usd'
);
$clientId = '12312312323123';
$clientSecret = '123123123123213';
$headers = [
'X-CLIENT-ID: ' . $clientId,
'X-CLIENT-SECRET: ' . $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);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$server_output = curl_exec($ch);
curl_close ($ch);
var_dump($server_output);
Пример запроса с подписью на 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);