Chung
Thông tin chính
Tạo chữ ký
Tiền gửi
Bắt đầu
Tạo khoản tiền gửi
Tạo khoản tiền gửi mà không chuyển hướng (iframe)
Thông báo về khoản tiền gửi (webhook)
Kiểm tra trạng thái khoản tiền gửi
Lấy danh sách khoản tiền gửi
Tiền gửi không cần chờ 8 ngày (Bảo vệ giao dịch Steam)
Phê duyệt tiền gửi với thời gian giữ 8 ngày
Nhận thông báo webhook không thành công
Tiền gửi không Có Giao diện Người Dùng SkinsBack
Create a deposit without SkinsBack UI (API)
Nhận hàng tồn kho của người dùng
Rút skin
Bảng giá (sẵn có skin)
Tìm kiếm skin
Mua skin
Mua skin số lượng lớn
Trạng thái mua skin
Lịch sử mua skin
Khác
Số dư dự án
Lịch sử rút tiền từ số dư và khoản tiền gửi
Đồng tiền và tỷ giá
Trạng thái máy chủ
Sự kiện thời gian thực: websockets
Sự kiện thời gian thực: webhooks
Tạo khoản nạp
Khác với các hệ thống thanh toán truyền thống, SkinsBack không chấp nhận một số cụ thể để nạp tiền. Số tiền nạp sẽ được gửi đến Result URL (webhook) sau khi chúng tôi nhận được các vật phẩm trong trò chơi.
Phản hồi từ phương thức này sẽ chứa URL mà người dùng cần được chuyển hướng đến (đó chính là trang thanh toán).
Tham số 'min_amount' và/hoặc 'max_amount' chỉ được sử dụng để tạo khoản nạp Limited. Khi đó, cũng cần chỉ định tham số 'currency'. Nếu 'min_amount' nhỏ hơn số giao dịch tối thiểu của trò chơi, số giao dịch tối thiểu của trò chơi sẽ được sử dụng.
Các tham số bắt buộc được đánh dấu bằng màu xanh.
Gửi yêu cầu POST tới Điểm cuối API với các tham số sau:
method
string
create
order_id
string
ID duy nhất của khoản nạp trong hệ thống của bạn
steam_id
string
Steam ID của người dùng mặc định. Người dùng có thể thay đổi tài khoản trong quá trình nạp tiền.
trade_token
string
'token' từ Trade URL của người dùng (8 ký tự)
result_url
string
URL kết quả tùy chọn, sẽ được sử dụng
thay thế cho URL được chỉ định trong cài đặt dự án
thay thế cho URL được chỉ định trong cài đặt dự án
fail_url
string
Fail URL tùy chọn
success_url
string
URL thành công tùy chọn
min_amount
double
Số tiền nạp tối thiểu.
Được sử dụng cùng với 'currency'
Được sử dụng cùng với 'currency'
max_amount
double
Số tiền nạp tối đa. Phải lớn hơn 'min_amount'.
Được sử dụng cùng với 'currency'
Được sử dụng cùng với 'currency'
widget
bool
Nếu có giá trị là 1, thì URL sẽ được truyền từ máy chủ để hiển thị giao diện nạp tiền trong trang web của bạn (iframe). Xem thêm về nạp tiền trực tiếp trên trang web
game
string
Trò chơi mở mặc định khi tải kho đồ trong biểu mẫu thanh toán ('cs2', 'dota2', 'rust')
custom_multiplier
double
Hệ số giá tùy chỉnh (ghi đè giá trị từ cài đặt dự án). Giá trị tối thiểu: 0.5, tối đa: 2
custom_currency
string
Tiền tệ tùy chỉnh (bắt buộc với custom_currency_rate). Bạn có thể truyền tên của một loại tiền tệ tùy chỉnh và chỉ định tỷ giá của nó. Giá giao diện sẽ được hiển thị bằng loại tiền tệ này. Tối đa 4 ký tự.
custom_currency_rate
double
Tỷ giá của một loại tiền tệ tùy ý (bắt buộc với custom_currency). Giá trị tối thiểu: 0,1
Phản hồi từ máy chủ:
Nếu thành công, phản hồi từ máy chủ sẽ là một đối tượng JSON với nội dung sau:
url
string
URL mà người dùng sẽ được chuyển hướng đến
transaction_id
int
ID giao dịch trong hệ thống của chúng tôi
Ví dụ phản hồi thành công:
{
"status": "success",
"url": "https://skinsback.com/_/pay/9421749033d9d3f725c67572575975de/",
"transaction_id": 13
}
Danh sách các lỗi có thể xảy ra:
1
invalid_order_id
Giá trị order_id đã được truyền không đúng cách
2
invalid_steam_id
steam_id không hợp lệ. Ví dụ về ID Steam: 76561198827262007
5
order_id_already_exists
order_id đã chỉ định đã được sử dụng để tạo khoản tiền gửi
7
invalid_max_value
Số tiền nạp tối đa phải lớn hơn 'min_value' và tổng giao dịch trò chơi tối thiểu
8
invalid_currency
Tiền tệ không hợp lệ được chỉ định
9
invalid_result_url
URL không hợp lệ đã chỉ định
10
invalid_success_url
URL thành công không hợp lệ
11
invalid_fail_url
URL thất bại không hợp lệ
12
invalid_custom_currency
Tiền tệ tùy chỉnh không hợp lệ đã chỉ định
13
invalid_custom_currency_rate
Tỷ giá tiền tệ tùy chỉnh không hợp lệ đã chỉ định
14
invalid_custom_multiplier
Hệ số nhân tùy chỉnh không hợp lệ đã chỉ định. Giá trị tối thiểu: 0.5, tối đa: 2
15
invalid_game
Trò chơi không hợp lệ đã chỉ định
các lỗi tiêu chuẩn:
-1
please_use_post_method
Cần sử dụng phương thức POST
-2
invalid_shopid
ID dự án không được tìm thấy trong hệ thống
-3
invalid_signature
Chữ ký được tạo không hợp lệ
-4
shop_not_active
Dự án không hoạt động
-5
invalid_method
Phương thức API không hợp lệ
-7
request_limit_reached
Vượt quá giới hạn yêu cầu (500/1 phút)
-8
invalid_ip_address
Vui lòng cung cấp địa chỉ IP trong cài đặt dự án
-9
under_maintenance
Trang web đang được bảo trì
-10
invalid_client_secret
Tiêu đề X-CLIENT-SECRET không hợp lệ
Ví dụ phản hồi lỗi:
{
"status": "error",
"error_code": 1,
"error_message": "invalid_order_id"
}
Ví dụ về yêu cầu có tiêu đề ủy quyền trong 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);
Ví dụ về yêu cầu có chữ ký trên 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/vi/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);