65 lines
3.0 KiB
PHP
65 lines
3.0 KiB
PHP
<?php
|
||
include 'config.php';
|
||
// the function returns an MD5 of parameters passed
|
||
// функция возвращает MD5 переданных ей параметров
|
||
function ref_sign() {
|
||
$params = func_get_args();
|
||
$prehash = implode("::", $params);
|
||
return md5($prehash);
|
||
}
|
||
|
||
// filtering junk off acquired parameters
|
||
// парсим полученные параметры на предмет мусора
|
||
foreach($_REQUEST as $request_key => $request_value) {
|
||
$_REQUEST[$request_key] = substr(strip_tags(trim($request_value)), 0, 250);
|
||
}
|
||
|
||
// service secret code
|
||
// секретный код сервиса
|
||
$secret_code = "cnfhsqrke,";
|
||
|
||
// collecting required data
|
||
// собираем необходимые данные
|
||
$purse = $_REQUEST["s_purse"]; // sms:bank id идентификатор смс:банка
|
||
$order_id = $_REQUEST["s_order_id"]; // operation id идентификатор операции
|
||
$amount = $_REQUEST["s_amount"]; // transaction sum сумма транзакции
|
||
$clear_amount = $_REQUEST["s_clear_amount"]; // billing algorithm алгоритм подсчета стоимости
|
||
$inv = $_REQUEST["s_inv"]; // operation number номер операции
|
||
$phone = $_REQUEST["s_phone"]; // phone number номер телефона
|
||
$sign = $_REQUEST["s_sign_v2"]; // signature подпись
|
||
|
||
// making the reference signature
|
||
// создаем эталонную подпись
|
||
$reference = ref_sign($secret_code, $purse, $order_id, $amount, $clear_amount, $inv, $phone);
|
||
|
||
// validating the signature
|
||
// проверяем, верна ли подпись
|
||
if($sign == $reference) {
|
||
// success, proceeding
|
||
// обрабатываем полученные данные
|
||
$thing = substr($order_id,0,3);
|
||
$owner = substr($order_id,3,strlen($order_id)-3);
|
||
switch ($thing) {
|
||
case "101":
|
||
mysql_query("INSERT INTO `inventory` (`owner`,`name`, `type`,`maxdur`,`img`) values ('{$owner}','Раритетная открытка', 200, 1,'card03.gif');");
|
||
break;
|
||
case "102":
|
||
mysql_query("INSERT INTO `inventory` (`owner`,`name`, `type`,`maxdur`,`minu`,`maxu`,`img`) values ('{$owner}','Ель', 3, 1,1,3,'el1.gif');");
|
||
break;
|
||
case "103":
|
||
mysql_query("INSERT INTO `inventory` (`owner`,`name`, `type`,`maxdur`,`minu`,`maxu`,`img`) values ('{$owner}','Ель с игрушками', 3, 1,1,5,'elka_w2.gif');");
|
||
break;
|
||
case "104":
|
||
mysql_query("INSERT INTO `inventory` (`owner`,`name`, `type`,`maxdur`,`img`) values ('{$owner}','Сувенир <Сфера БК>', 200, 1,'shar6.gif');");
|
||
break;
|
||
case "105":
|
||
mysql_query("INSERT INTO `inventory` (`owner`,`name`, `type`,`maxdur`,`img`,`goden`,`dategoden`,`magic`) values ('{$owner}','Бутерброд "Новогодний"', 50, 5,'food_l8.gif','15','".(time()+1296000)."',8);");
|
||
break;
|
||
}
|
||
}
|
||
// else {
|
||
// failure, reporting error
|
||
// неправильно составлен запрос
|
||
//}
|
||
?>
|