Вход Регистрация
Файл: RootPanel 1.7.0 FreeCode/RootPanel 1.7.0 FreeCode/online_privatbank.php
Строк: 132
<?
session_set_cookie_params
(86400);
session_start();
$full_home_path dirname(__FILE__);
require_once(
$full_home_path."/_rootload.php");

$input '';
foreach (
$_POST as $field=>$value) { 
    
$value iconv("windows-1251""utf-8"$value);
    
$input .= $field." ".$value."n";
}
$input "Входящие параметры:nn$input";

if (
getenv("REQUEST_METHOD") != "POST" or $PRIVATBANK_TEST) { 
    
mconnect();

    
$manager_email=GetSetting('manager_email');

    if (
$PRIVATBANK_TEST) {
        
$msg "С IP-адреса $ip произошло обращение к скрипту online_privatbank.php.nn$inputnn--nRootPanel";
        
$subject "Попытка оплаты [Privatbank]";
    } else {
        
$msg "С IP-адреса $ip произошло обращение к скрипту online_privatbank.php по GET-протоколу.nnБудьте внимательны, т.к. возможно кто-то пытается взломать систему.nn$inputnn--nRootPanel";
        
$subject "Возможная попытка взлома билинга [Privatbank]";
    }

    
$admEmails=GetAdminEmailsWhereTrueParam("senderror");
    if (
count($admEmails) > 0) {
        
WriteMailLog($subject,$msg);
    }
    while (list(
$i,$em) = @each($admEmails)) {
        
sendmail($em,'',$manager_email,$subject,$msg);
    }

    
mclose();
    exit; 
}

if (
$ResponseCode) {
    
mconnect();
    
EnableLanguages();
    
GetCurrentCurrency();
    
head('utf-8');

    if (
$OrderID) {
        
$bill mb_split("_",$OrderID);
        
$cnt count($bill);
        
$billID $bill[$cnt-1];

        
$bill GetBillById(intval($billID));

        if (
$bill->id) {
            if (
$ResponseCode == "1" and $ECI) {
                
$privatbank_id=GetSetting("privatbank_id");
                
$privatbank_pass=GetSetting("privatbank_pass");

                
$hash sha1($privatbank_pass.$privatbank_id."414963".$OrderID);
                
$hash hexbin($hash);
                
$hash base64_encode($hash);

                if (
$MerID != $privatbank_id) { $error_msg "Неправильный ID мерчанта продавца."; print $_lang[Error].": ".$_lang[OnlineErrorData]; }
                else if (
$hash != $Signature) { $error_msg "Неправильная контрольная подпись."; print $_lang[Error].": ".$_lang[OnlineErrorData]; }
                else {
                    
MakeBillPayed($bill->id,1,"Privatbank (xxxx xxxx xxxx $PaddedCardNo)");

                    print 
$_lang[OnlineApproved]." ($ReasonCodeDesc)";
                }
            }
            else {
                print 
$_lang[Error].": ".$_lang[OnlineDeclined]." ($ReasonCodeDesc)";
            }
        }
        else {
            
$error_msg "Счет # $billID не найден.";
            print 
$_lang[Error].": ".$_lang[OnlineBillNotFound];
        }
    } else {
        print 
$_lang[Error].": ".$_lang[OnlineErrorData];
    }

    if (
$error_msg) {
        
$manager_email=GetSetting('manager_email');

        
$msg "Автоматическая оплата через Privatbank отклонена биллинг-системой по причине:nn$error_msgnn$inputnnSHA1 by RootPanel: $hashnnIP$ipnn--nRootPanel";
        
$subject "Ошибка автоматической оплаты [Privatbank]";

        
$admEmails=GetAdminEmailsWhereTrueParam("senderror");
        if (
count($admEmails) > 0) {
            
WriteMailLog($subject,$msg);
        }
        while (list(
$i,$em) = @each($admEmails)) {
            
sendmail($em,'',$manager_email,$subject,$msg);
        }
    }

    
foot('utf-8');
    
mclose();
    exit;
}

?>
Онлайн: 1
Реклама