- Регистрация
- 13 Июн 2022
- Сообщения
- 200
- Автор темы
- #1
Всем привет! Статья о том, как сделать нормальный рабочий автодонат на абсолютно любую игру
Нам нужно:
• Аккаунт trademc.org c подтвержденным магазином
• База данных MySQL
• Рабочий сайт сервера
I. Настройки магазина TradeMC
II. Настройка сайта
1. Переходим на TradeMC > Мои магазины, и копируем ключ магазина

2. Переходим на наш сайт (у меня это PHP + IspManager)
3. Создаем папку "pay", в ней пять файлов: forma.php, result.php, data.php, suc.php, fail.php
4. Теперь копируем код для каждого файла ниже, и заполняем недостающие данные
Информация о файлах:
• data.php - данные от базы данных
• result.php - сюда будет приходить информация о покупке
• forma.php - это для отправки информации об оплате
• suc.php - при успешной оплате
• fail.php - при неудачной оплате

2. Переходим на наш сайт (у меня это PHP + IspManager)
3. Создаем папку "pay", в ней пять файлов: forma.php, result.php, data.php, suc.php, fail.php
4. Теперь копируем код для каждого файла ниже, и заполняем недостающие данные
Информация о файлах:
• data.php - данные от базы данных
• result.php - сюда будет приходить информация о покупке
• forma.php - это для отправки информации об оплате
• suc.php - при успешной оплате
• fail.php - при неудачной оплате
data.php:
<?php
$HOST = 'ХОСТ';
$USERBD = 'ПОЛЬЗОВАТЕЛЬ';
$PASSBD = 'ПАРОЛЬ';
$NAMEBD = 'НАЗВАНИЕ ТАБЛИЦЫ';
?>
Нужно заменить:
• ID магазина - ID магазина на TradeMC
• ВАША_ССЫЛКА - Ссылка на ваш сайт
• ID магазина - ID магазина на TradeMC
• ВАША_ССЫЛКА - Ссылка на ваш сайт
forma.php:
<?php
$label = $_POST['label'];
$amount = $_POST['summa'];
$curl = curl_init("https://api.trademc.org/shop.getItems?shop=ID МАГАЗИНА");
curl_setopt_array($curl, [
CURLOPT_HTTPHEADER => ['Authorization: Basic lock', 'Accept: application/json'],
CURLOPT_RETURNTRANSFER => true
]);
$response1 = curl_exec($curl);
if (curl_errno($curl) == 0) {
$data1 = json_decode($response1, true);
} else {
$data1 = false;
}
curl_close($curl);
$bId = strval($data1['response']['categories'][0]['items'][0]['id']);
$curl = curl_init("https://api.trademc.org/shop.buyItems?items={$bId}:1&buyer={$label}&user_fields[{$bId}][amount]={$amount}&v=3");
curl_setopt_array($curl, [
CURLOPT_HTTPHEADER => ['Authorization: Basic lock', 'Accept: application/json'],
CURLOPT_RETURNTRANSFER => true
]);
$response = curl_exec($curl);
if (curl_errno($curl) == 0) {
$data = json_decode($response, true);
} else {
$data = false;
}
curl_close($curl);
$urls = [
"https://ВАША_ССЫЛКА/pay/suc.php",
"https://ВАША_ССЫЛКА/pay/fail.php",
"https://ВАША_ССЫЛКА/index.html"
];
$payId = strval($data['response']['cart_id']);
$link = "https://pay.trademc.org?cart_id={$payId}&success_url={$urls[0]}&pending_url={$urls[2]}&fail_url={$urls[1]}";
header("Location: {$link}");
?>
Нужно заменить:
• $shop_key - токен магазина, копировали ранее
• SQL-запрос поменять на свой
• В $data['buyer'] - хранится никнейм игрока
• В $data['items'][0]['game_currency'] - хранится сумма, которую задонатил игрок
• $shop_key - токен магазина, копировали ранее
• SQL-запрос поменять на свой
• В $data['buyer'] - хранится никнейм игрока
• В $data['items'][0]['game_currency'] - хранится сумма, которую задонатил игрок
result.php:
<?php
include 'data.php';
$shop_key = 'ТОКЕН МАГАЗИНА, КОПИРОВАЛИ РАНЕЕ';
$data = json_decode(file_get_contents('php://input'));
$hash = $data->hash;
unset($data->hash);
if($hash == hash('sha256', json_encode($data) . $shop_key))
{
$data = json_decode(file_get_contents('php://input'), true);
$connection = mysqli_connect($HOST, $USERBD, $PASSBD, $NAMEBD, 3306) or die(mysqli_error($connection));
// ЗДЕСЬ ОБНОВЛЕНИЕ ИНФОРМАЦИИ О РУБЛЯХ, МЕНЯЙТЕ НА СВОЙ ЗАПРОС
$updAccStmt = $connection->prepare("UPDATE `accounts` SET `pKassaRub` = `pKassaRub` + ? WHERE `Name` = ? ");
$updAccStmt->bind_param("ds", $data['items'][0]['game_currency'], $data['buyer']);
$updAccStmt->execute();
$updAccStmt->close();
}
die('200');
?>
Заменить в конце "ВАША_ССЫЛКА" - на ваш сайт
suc.php:
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Успешная оплата</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet">
<style>
body {
background-color: #28a745;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
color: white;
font-family: Arial, sans-serif;
}
.container {
text-align: center;
}
h1 {
animation: fadeIn 2s ease-in-out;
font-size: 60px;
}
p {
margin-top: 20px;
font-size: 20px;
}
button {
margin-top: 30px;
padding: 10px 20px;
border-radius: 4px;
background-color: #fff;
color: #000;
cursor: pointer;
transition: all 0.3s;
}
button:hover {
background-color: rgba(255, 255, 255, 0.7);
}
@keyframes fadeIn {
from { opacity: 0; transform: translateY(-50px); }
to { opacity: 1; transform: translateY(0); }
}
</style>
</head>
<body>
<div class="container">
<h1>Оплата успешно прошла</h1>
<p>Донат был зачислен на ваш аккаунт. Введите команду /donaterub на сервере.</p>
<button onclick="window.location.href='http://ВАША_ССЫЛКА/index.html'" class="btn btn-primary">Вернуться на сайт</button>
</div>
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.6/dist/umd/popper.min.js" integrity="sha384-oBqDVmMzZO0iTrkX4tvpjNzF5eTxghaPyEwOGlT58LwmmnaU3a/xs+fyJHGaLPff" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.min.js" integrity="sha384-mQ93GR66B00ZXjt0YO5KlohRA5SY2XofN4zfuZxLkoj1gXtW8ANNCe9d5Ym+eV2H" crossorigin="anonymous"></script>
</body>
</html>
Заменить в конце "ВАША_ССЫЛКА" - на ваш сайт
fail.php:
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Успешная оплата</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet">
<style>
body {
background-color: #dc3545;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
color: white;
font-family: Arial, sans-serif;
}
.container {
text-align: center;
}
h1 {
animation: fadeIn 2s ease-in-out;
font-size: 60px;
}
p {
margin-top: 20px;
font-size: 20px;
}
button {
margin-top: 30px;
padding: 10px 20px;
border-radius: 4px;
background-color: #fff;
color: #000;
cursor: pointer;
transition: all 0.3s;
}
button:hover {
background-color: rgba(255, 255, 255, 0.7);
}
@keyframes fadeIn {
from { opacity: 0; transform: translateY(-50px); }
to { opacity: 1; transform: translateY(0); }
}
</style>
</head>
<body>
<div class="container">
<h1>Оплата не прошла</h1>
<p>Что-то пошло не так. Пожалуйста, попробуйте еще раз.</p>
<button onclick="window.location.href='http://ВАША_ССЫЛКА/index.html'" class="btn btn-primary">Вернуться на сайт</button>
</div>
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.6/dist/umd/popper.min.js" integrity="sha384-oBqDVmMzZO0iTrkX4tvpjNzF5eTxghaPyEwOGlT58LwmmnaU3a/xs+fyJHGaLPff" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.min.js" integrity="sha384-mQ93GR66B00ZXjt0YO5KlohRA5SY2XofN4zfuZxLkoj1gXtW8ANNCe9d5Ym+eV2H" crossorigin="anonymous"></script>
</body>
</html>
III. Создание формы на сайте
Важно:
• Подключить CSS-стили
• Заменить "ВАША_ССЫЛКА" на ссылку на ваш сайт
• Подключить CSS-стили
• Заменить "ВАША_ССЫЛКА" на ссылку на ваш сайт
Код формы:
<form method="POST" action="./pay/forma.php" class="donate-form">
<input type="hidden" name="successURL" value="https://ВАША_ССЫЛКА/pay/suc.php">
<div class="input-wrapper">
<input type="text" class="donate-input input-nickname" placeholder="Ваш никнейм" name="label">
</div>
<div class="input-wrapper">
<input type="number" class="donate-input input-wallet" placeholder="Сумма пополнения" name="summa" min="10" data-type="number">
</div>
<button type="submit" name="create" class="donate-button gradient-button">Пополнить</button>
</form>

