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




Часті запитання
Чи є SDK?
API досить компактний, щоб викликати його напряму; у довіднику є приклади на cURL, PHP, Node.js і Python, а з файлу OpenAPI можна згенерувати клієнт для будь-якої мови.
Які ліміти запитів?
600 запитів на хвилину на проєкт і 1 200 на IP.
Чи ідемпотентні платежі?
Так. order_id унікальний у межах проєкту й режиму; на повторний запит буде відповідь 409.