Вход Регистрация
Файл: app/merchant/index.php
Строк: 71
<?php

              
if(isset($_GET['form'])){
          
           
$curs $db->prepare('SELECT * FROM `curs` ORDER BY `id` DESC');
                    
$curs -> execute();
                    
$curs $curs -> fetch(PDO ::FETCH_ASSOC);
                    
                    
                    
          
       if(isset(
$_POST['shop_id']) and isset($_POST['amount'])){
       
$shop $db->prepare('SELECT * FROM `shop` WHERE `id` = ? and `status` = ?');
       
$shop -> execute([abs(intval($_POST['shop_id'])),1]);
       
$shop $shop -> fetch(PDO :: FETCH_ASSOC);
            if(!isset(
$shop['id'])){
                
$_SESSION['error'] = 'Площадка не найдена';
                
header('Location: /');
                exit;
            }   
          
          
            if(
abs($_POST['amount']) < or abs($_POST['amount']) > 60000){
             
$_SESSION['error'] = 'Неверно указана сумма платежа';
             
header('Location: /');
             exit;
         }
         
$desc 0;

        if(empty(
$_POST['method'])){
            exit(
'Не выбран способ оплаты');
        }
         
         if(isset(
$_POST['method'])){
             if(
$shop[$_POST['method']] == 0){
            exit(
'Данный способ оплаты отключен администратором магазина');
            
        }
        
        
$pay['money'] = str_replace(',','',$_POST['amount']);
        
    
$amount $pay['money']/$curs['bitcoin'];
  
$amount2 $pay['money']/$curs['litecoin'];
    if(
$_POST['method'] == 'bitcoin' and $amount 0.005){
        
$_SESSION['error'] = 'Сумма оплаты должна быть больше 0,005 BTC';
        
header('location: https://pay.uspay.ru/merchant/'.$pay['id']);
        exit;
    }
    
    
    if(
$_POST['method'] == 'litecoin' and $amount2 0.005){
        
$_SESSION['error'] = 'Сумма оплаты должна быть больше 0,005 LTC';
        
header('location: https://pay.uspay.ru/merchant/'.$pay['id']);
        exit;
    }
    
    
        
    
    
$array = ['mobile','qiwi','yandex','card','balans','webmoney','payeer','bitcoin','litecoin','dash','vkpay','advcash'];
 
     if(!
in_array($_POST['method'],$array)){
     exit(
'Неверный параметр method');
     }
    
$method $_POST['method'];
             
         }
         
         
         if(empty(
$_POST['desc'])) $desc htmlspecialchars($_POST['desc']);
         
$add $db->prepare('INSERT INTO `payments` (`shop`,`summa`,`time`,`method`,`desc`) VALUES (?,?,?,?,?)');
             
$add -> execute([$shop['id'],abs($_POST['amount']),time(),$method,$desc]);
             
             
$id $db->lastInsertId();
             
             
$update $db->prepare('UPDATE `payments` SET `label` = ? WHERE `id` = ?');
             
$update -> execute([$id,$id]);
          
header('Location: https://pay.uspay.ru/merchant/'.$id);
          exit;
          
      }
      
      }
      
      
   if(isset(
$_POST['shop_id']) and isset($_POST['amount']) and isset($_POST['hash']) and isset($_POST['label'])){
       
$shop $db->prepare('SELECT * FROM `shop` WHERE `id` = ? and `status` = ?');
       
$shop -> execute([abs(intval($_POST['shop_id'])),1]);
       
$shop $shop -> fetch(PDO :: FETCH_ASSOC);
            if(!isset(
$shop['id'])){
                
$_SESSION['error'] = 'Площадка не найдена';
                
header('Location: /');
                exit;
            }
            
            
       
///hash check
       
       
       
       
       
       
        
$hash  =  hash('sha256'$_POST['shop_id'].$_POST['amount'].$shop['hash'].$_POST['label']);
       if(
$hash != $_POST['hash']){
           
$_SESSION['error'] = 'Не верно составлен HASH платежа';
                
header('Location: /');
                exit;
       }
       
       
       
         if(
abs($_POST['amount']) < or abs($_POST['amount']) > 60000){
             
$_SESSION['error'] = 'Неверно указана сумма платежа';
             
header('Location: /');
             exit;
         }
         
         
$method 0;
         
         if(isset(
$_POST['method'])){
             if(
$shop[$_POST['method']] == 0){
            exit(
'Данный способ оплаты отключен администратором магазина');
            
        }
        
    
   
$array = ['mobile','qiwi','yandex','card','balans','webmoney','payeer','bitcoin','litecoin','dash','vkpay','advcash'];
 
     if(!
in_array($_POST['method'],$array)){
     exit(
'Неверный параметр method');
     }
    
$method $_POST['method'];
             
         }
         
$desc 0;
         if(!empty(
base64_decode($_POST['desc']))){
         
$desc htmlspecialchars(base64_decode($_POST['desc']));
         }
        
         
$add $db->prepare('INSERT INTO `payments` (`shop`,`summa`,`time`,`label`,`method`,`desc`,`month`,`date`) VALUES (?,?,?,?,?,?,?,?)');
             
$add -> execute([$shop['id'],abs($_POST['amount']),time(),abs(intval($_POST['label'])),$method,$desc,date('n'),date('d.m',time())]);
             
             
$id $db->lastInsertId();
             unset(
$_POST['label']);
             unset(
$_POST['amount']);
             unset(
$_POST['hash']);
             unset(
$_POST['shop_id']);
             
$array var_export($_POST,true);
             
$update $db->prepare('UPDATE `payments` SET `post` = ? WHERE `id` = ?');
             
$update -> execute([$arra,$id]);
             
             
header('Location: https://pay.uspay.ru/merchant/'.$id);
         
   }
Онлайн: 0
Реклама