Вход Регистрация
Файл: payment/pay/robokassa.php
Строк: 34
<?php
        
require ($_SERVER['DOCUMENT_ROOT'].'/core/sys.php');
/*
#1 - ZYCqgq584VRgVkIj19NY
#2 - p8D7lwsBu8LR7gPaA8FK
--------------------
#1  - YXt8fXrhnP55AiV6V2Ek
#2 - ybx61zv7V6iRsDA3yLJN
*/

$mrh_pass2 "p8D7lwsBu8LR7gPaA8FK"// пароль #2 

// чтение параметров
$out_summ $_REQUEST["OutSum"]; // по умолчанию (не трогать)
$inv_id $_REQUEST["InvId"]; // по умолчанию (не трогать)
$shp_item $_REQUEST["Shp_item"]; // по умолчанию (не трогать)
$crc $_REQUEST["SignatureValue"]; // по умолчанию (не трогать)

$shp_mulo $_REQUEST["shp_mulo"]; // принимаем дополнительный параметр
$shp_names $_REQUEST["shp_names"]; // принимаем дополнительный параметр
$shp_phone $_REQUEST["shp_phone"]; // принимаем дополнительный параметр

$crc strtoupper($crc); // переводим ключ в верхний регистр

$my_crc strtoupper(md5("$out_summ:$inv_id:$mrh_pass2:Shp_item=$shp_item:shp_mulo=$shp_mulo:shp_names=$shp_names:shp_phone=$shp_phone")); // формируем новый ключ

if ($my_crc != $crc// проверка корректности подписи
{
  echo 
"bad signn";
  exit(); 
// останавливаем выполнение скрипта, если подписи не совпадают
}


$pay $db->prepare('SELECT * FROM `pay` WHERE `id` = ?');
$pay -> execute([$inv_id]);
$pay $pay -> fetch(PDO :: FETCH_ASSOC);
$client $db->prepare('SELECT * FROM `platform` WHERE `id` = ?');
$client -> execute([$pay['platform']]);
$client $client -> fetch(PDO :: FETCH_ASSOC);
if( 
$curl curl_init() ) {
    
curl_setopt($curlCURLOPT_URL$client['success']);
    
curl_setopt($curlCURLOPT_RETURNTRANSFER,true);
    
curl_setopt($curlCURLOPT_POSTtrue);
    
curl_setopt($curlCURLOPT_POSTFIELDS"MNM_PAY_ID=$id&MNM_PRICE={$_REQUEST['AMOUNT']}&MNM_VAR={$pay['var']}&MNM_DATE_PAY={$time}&MNM_PLATFORM={$client['id']}&MNM_COM={$pay['com']}");
    
$out curl_exec($curl);
    
curl_close($curl);
}
if(
$out == 'NO'){
header('location :'.$client['error']);
$sql $db->prepare('UPDATE `pay` SET `status` = ?,`ot` = ? WHERE `id` = ?');
$sql -> execute(['bad',$out,$id]);
exit();
}else{
$sql $db->prepare('UPDATE `pay` SET `ot` = ? WHERE `id` = ?');
$sql -> execute([$out,$id]);
}
$time vremja($pay['value']);
$money $db->prepare('UPDATE `platform` SET `money` = ? WHERE `id` = ?');
$money -> execute([$client['money']+$pay['summa'],$client['id']]);
$us $db->prepare('UPDATE `users` SET `money` = ? WHERE `id` = ?');
$us -> execute([$user['money']-($pay['summa']+$pay['summa']*0.05),$user['id']]);
die(
'YES');
Онлайн: 0
Реклама