API депозита скинами для CS2, Dota 2 и Rust
Принимайте скины CS2, Dota 2 и Rust с помощью нескольких REST-запросов. Готовая страница оплаты — для скорости, прямые платежи — для своего интерфейса.
Всё, что покрывает интеграция
Платёжные страницы
POST /payments возвращает pay_url и embed_url. Редирект, всплывающее окно или iframe.
Прямые платежи
GET /inventory отдаёт предметы клиента с ценами; POST /payments/direct отправляет трейд.
Подписанные вебхуки
HMAC-SHA256 по метке времени и телу запроса, допуск 5 минут, повторы около двух дней.
Тестовый режим
Ключи sk_test_, симуляция трейдов, POST /test/payments/{id}/simulate для любого исхода.
OpenAPI 3.1
Импортируйте /api/openapi.json в Postman, Insomnia или генератор кода.
Авторизация по двум заголовкам
X-Project-Key + X-Project-Secret, необязательный белый список IP, секреты хранятся в виде хешей.
Как это работает
Получение ключей
Зарегистрируйтесь и подайте проект — тестовые ключи работают сразу.
Создайте платёж
Один POST с вашим id заказа.
Обработка вебхука
Проверьте подпись, перечитайте платёж, зачислите баланс пользователю.
Создайте платёж
Один вызов возвращает ссылку на оплату. Полный справочник по всем эндпоинтам: Справочник API.
curl -X POST 'https://skinplata.com/api/v1/payments' \
-H 'X-Project-Key: pk_your_key' \
-H 'X-Project-Secret: sk_test_your_secret' \
-H 'Content-Type: application/json' \
-d '{"order_id":"inv-1042","game":"cs2","currency":"usd","min_amount":5,"metadata":{"user_id":"8812"}}'<?php
$ch = curl_init('https://skinplata.com/api/v1/payments');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'X-Project-Key: pk_your_key',
'X-Project-Secret: sk_test_your_secret',
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'order_id' => 'inv-1042',
'game' => 'cs2',
'currency' => 'usd',
'min_amount' => 5,
'metadata' => [
'user_id' => '8812',
],
]),
]);
$response = json_decode(curl_exec($ch), true);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);const res = await fetch('https://skinplata.com/api/v1/payments', {
method: 'POST',
headers: {
'X-Project-Key': 'pk_your_key',
'X-Project-Secret': 'sk_test_your_secret',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"order_id": "inv-1042",
"game": "cs2",
"currency": "usd",
"min_amount": 5,
"metadata": {
"user_id": "8812"
}
}),
});
const data = await res.json();
if (!res.ok) throw new Error(data.error.message);import requests
r = requests.post(
"https://skinplata.com/api/v1/payments",
headers={"X-Project-Key": "pk_your_key", "X-Project-Secret": "sk_test_your_secret"},
json={
"order_id": "inv-1042",
"game": "cs2",
"currency": "usd",
"min_amount": 5,
"metadata": {
"user_id": "8812"
}
},
timeout=30,
)
data = r.json()
if not r.ok:
raise RuntimeError(data["error"]["message"])Одна интеграция — три игры
- Готовая страница оплаты или свой выбор предметов через API
- Живые цены на каждый предмет в 16 валютах
- Один трейд-оффер на платёж, клиент принимает его в Steam
- Подписанные вебхуки на каждый статус, повторы в течение двух дней
- Тестовый режим с симуляцией трейдов и тестовым балансом
- Выплаты в USDT, USDC, BTC, ETH, LTC, SEPA, PayPal или Wise




FAQ
Есть ли SDK?
API достаточно компактный, чтобы вызывать его напрямую; в справочнике есть примеры на cURL, PHP, Node.js и Python, а по файлу OpenAPI можно сгенерировать клиент для любого языка.
Какие лимиты запросов?
600 запросов в минуту на проект и 1 200 на один IP.
Платежи идемпотентны?
Да. order_id уникален в пределах проекта и режима; повтор вернёт 409.