СМС-биллинг в XPG

ShamanOFF

Новичок
Репутация
0 / 195
Собственно вопрос к тем, у кого на проекте уже это реализовано...
Интересует следующее:
  • какой из биллингов лучше
    скрипт начисления ТМ при получении средств от пользователя
какие могут быть подводные камни... в общем все что понадобится при использовании СМС-биллинга
 
smscoin.com
если хоть немного прогаммеры - справитесь, там несложно. выбирайте смсбанк
 
Это не мод!!!
На тебе файл
<div style="margin:20px; margin-top:5px">
<div class="smallfont" style="margin-bottom:2px">Скрытая информация: 2pay.php <input type="button" value="Показать" style="width:60px;font-size:10px;margin:0px;padding:0px;" onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Скрыть'; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Показать'; }">
</div>
<div class="alt2" style="margin: 0px; padding: 6px; border: 1px inset;">
<div style="display: none;">
<?

//
// Payment script 2pay
// Popkov I. Sergey
// ICQ: 14296442
//

header( 'Content-type: text/xml' );

$check_ip="82.146.40.60";
define('INSIDE' , true);

// Секретный ключ
$secret_key = "";
$date=date("H:i d.m.y",time());

// Дата которая пришла в запросе
//$date = $_REQUEST['date'];
$flag = $_REQUEST['command'];
$md5 = $_REQUEST['md5'];


// Ник
$v1 = $_REQUEST['v1'];

// Имя сервера
$v2 = $_REQUEST['v2'];

if (isset($_REQUEST['id'])) {$id=$_REQUEST['id'];} else {$id=0;}
$kod=1;

// Проверяем подлинность IP адреса
if ($_SERVER['REMOTE_ADDR'] == $check_ip) { //(isset($v2))&&($v2 != "")&&

// Реализация выбора сервера (для конкретной игры). У Вас может быть другая логика работы
for ($k=0; $k<count($game_server); $k++) {
if ($game_server[$k]['name']==$v2) {
$i=$k;
}
}

$serv=$i;
// Соединение с БД
require($xgp_root.'config.php');
$conn=mysql_connect($dbsettings["server"], $dbsettings["user"], $dbsettings["pass"]) or db_error("Can't connect to database");
mysql_select_db($dbsettings["name"]) or db_error("Can't select database ".$dbsettings["name"]);

// Если запрос на проверку возможности проведения платежа и если md5 хэш совпадает...
if (($flag == 'check')&&($md5 == md5($flag.$v1.$secret_key))) {
// Поиск персонажа в базе игры
$sql=mysql_query("SELECT * FROM `xgp_users` WHERE `username`='".$v1."' LIMIT 0, 1");
$rows = mysql_num_rows($sql);
if ($rows > 0) {
$kod=0;
$desc='Character exists';
} else {
$kod=1;
$desc='Character not found';
}
} else {
// Если запрос на оплату
if (($flag == 'pay')&&($md5 == md5($flag.$v1.$id.$secret_key))) {
$sql=mysql_query("SELECT * FROM `2pay_payment` WHERE `id`='".$_REQUEST['id']."' LIMIT 0, 1");
$rows = mysql_num_rows($sql);
// Если платеж уже был проведен
if ($rows > 0) {
$kod=0;
$desc='Payment was send earlier';
} else {
// Иначе пытаемся провести платеж
$item_count=$_REQUEST['sum']; // Количество монет для зачисления, полученное в запросе
$item=4037; // Идентификатор предмета CoL
$sql=mysql_query("SELECT * FROM `xgp_users` WHERE `username`='".$v1."' LIMIT 0, 1");
$character=mysql_fetch_array($sql);
$account_ref=$character['account_name'];
// Если персонаж найден
if(mysql_num_rows($sql)==1) {
// Добавляем персонажу количество купленных монет
// $sql=mysql_query("INSERT INTO `items_delayed` (`owner_id`,`item_id`,`count`,`enchant_level`,`flags`,`payment_status`, `description`) VALUES ('".$character['obj_Id']."','".$item."','".$item_count."','0','0','0', '2pay date ".$date." ".$v1."')") or die(mysql_error());
$sql=mysql_query("INSERT INTO `2pay_payment` (`username`,`count`,`date`,`id`) VALUES ('".$v1."','".$_REQUEST['sum']."','".$date."','".$_REQUEST['id']."')");
$sql=mysql_query("UPDATE `xgp_users` SET `darkmatter`=darkmatter+{$_REQUEST['sum']} WHERE `username`='{$v1}'");
// Начало. 5% от реферала
/*$sql=mysql_query("SELECT * FROM `xgp_ref` WHERE `id_ref`='".$character['id']."' LIMIT 0, 1");
$ref=mysql_fetch_array($sql);
$dark = $_REQUEST['sum']*0.05;
$sql=mysql_query("UPDATE `xgp_ref` SET `p_dark`=p_dark+{$dark} WHERE `id`='{$ref['id_user']}'");*/
// Конец. 5% от реферала
$kod=0;
$desc="ok";
} else {
$kod=2;
$desc="Character not found";
}
}
} else {
// Обработка исключения: если не совпал md5 или неизвестный запрос
$kod=2;
$desc="Unknown request or account not found";
}
}
} else {
$desc="Parametrs or IP is not correct";
}
// Формируем ответ
$html="<?xml version=\"1.0\" encoding=\"windows-1251\"?><response><id>".$id."</id><result>".$kod."</result><comment>".$desc."</comment></response>";

echo $html;

?>
</div>
</div>
</div>
 

Похожие темы

Сверху