Вход Регистрация
Файл: billing/online_twopay.php
Строк: 82
<?
$full_home_path 
= dirname(__FILE__);
require_once(
$full_home_path."/_rootload.php");

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

mconnect();
EnableLanguages();

$bill = GetBillById(intval($_GET["v1"]));

$twopay_id=GetSetting("twopay_id");
$twopay_secret=GetSetting("twopay_secret");

if (!
$_GET["v1"]) { $error_msg = "Отсутствует номер счета биллинг-системы."; $kod="2";}
else if (!
$bill->id) { $error_msg = "Счет # ".$_GET["v1"]." не найден."; $kod="5"; $kodcomment="cant find bill #".$_GET["v1"];}

if (
$_GET["command"] == "status") {

    
$hash = md5($_GET["command"].$_GET["v1"].$twopay_secret);

    if (!
$kod) {
        if (
$hash != $_GET["md5"]) { $error_msg = "Неправильная контрольная подпись."; $kod="3";}
        else if (
$bill->merchantmoney <= 0) { $error_msg = "Не найдена сумма платежа в валюте магазина."; $kod="5";}
    }

    if (
$kod) { $amount = "0"; } else { $amount = $bill->merchantmoney; }

    
header("Content-type: text/xml");
    print 
"<?xml version="1.0" encoding="windows-1251"?><response><amount>".$amount."</amount></response>";

} else if (
$_GET["command"] == "pay") {

    
$hash = md5($_GET["command"].$_GET["v1"].$_GET["id"].$twopay_secret);

    if (!
$kod) {
        if (
$hash != $_GET["md5"]) { $error_msg = "Неправильная контрольная подпись."; $kod="3"; }
        else if (
$bill->merchantmoney != $_GET["sum"]) { $error_msg = "Неправильная сумма оплаты."; $kod="4"; }
    }

    if (!
$kod) {
        
$kod = 0;

        
MakeBillPayed($bill->id,1,"2Pay Merchant (".$_GET["id"].")");
    }

    
header("Content-type: text/xml");
    print 
"<?xml version="1.0" encoding="windows-1251"?><response><id>".$_GET["id"]."</id><sum>".$_GET['sum']."</sum><result>".$kod."</result><comment>".$kodcomment."</comment></response>";

} else { 
$error_msg = "Неправильная команда платежа."; }

if (
$error_msg) {

    
$manager_email=GetSetting('manager_email');

    
$msg = "Автоматическая оплата через 2Pay Merchant отклонена биллинг-системой по причине:nn$error_msgnn$inputnnMD5 by RootPanel: ".$hash."nnIP: $ipnn--nRootPanel";
    
$subject = "Ошибка автоматической оплаты [2Pay]";

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

mclose();

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