РЕШЕНО Нужна помощь по настройке пополнения в ферме.

Статус
Закрыто для дальнейших ответов.

pligin

Команда форума
Администратор
не понимаю что нужно выслать.
Я написал, что нужно выслать

Посмотри в статистике пополнений мерчанта ответ твоего обработчика.
В чём у тебя проблема? Ты не знаешь адрес сайта Payeer? Ты не можешь войти в аккаунт Payeer? Ты не знаешь где статистика в аккаунте Payeer? Ты не знаешь где статистика мерчанта в аккаунте Payeer? Ты не знаешь как левой клавишей мыши нажать на строку в статистике мерчанта Payeer?
Что у тебя не получается? Чего сверхъестественного я попросил сделать в первом моем сообщении?
 

pligin

Команда форума
Администратор
Ну уже близко.
Открой статистику. Это слева в меню часы темные.
В статистике выбери вкладку с названием твоего мерчанта. В недавнем неуспешном платеже в списке справа будут часы белые. Нажми на них и там будет ответ сервера
 

takebet

Местный
в паере платежи успешно прошли. в базу не записывает пополнение на баланс и в статистику.
 

takebet

Местный
платеж по паеру проходит со счета на счет, перекидивает на страницу успешного платежа, но на баланс проекта не пополняет и в статистику проекта не записывает. Возможно в коде чего-то не хватает.
 

pligin

Команда форума
Администратор
платеж по паеру проходит со счета на счет, перекидивает на страницу успешного платежа, но на баланс проекта не пополняет и в статистику проекта не записывает. Возможно в коде чего-то не хватает.
Ты вообще читал, что я тебе написал?
 

takebet

Местный
читал. но плохо понимаю что и где. в паере не вижу статистики, там есть история с часами
 

pligin

Команда форума
Администратор
У меня паер завис, Задержался с ответом немного.
Вот и ответ на твой вопрос.
И на это пришлось потратить ровно час из-за того, что ты не пытался что-то сделать из того, что я просил, а нёс непонятную чушь о скрипте, файлах, надписях и т.п.
 

takebet

Местный
Извиняюсь. Говорю же, долго ничем таким не занимался и всё подзабыл...
 

takebet

Местный
Код:
<?
if(!defined('ROOT_DIR')) die('Что за черт?');


require ROOT_DIR.'/pm.cfg.php';
$summ=$_POST['PAYMENT_AMOUNT'];
$passphrase=strtoupper(md5($pm['in_phrase']));
$hash=$_POST['PAYMENT_ID'].':'.$_POST['PAYEE_ACCOUNT'].':'.
      $_POST['PAYMENT_AMOUNT'].':'.$_POST['PAYMENT_UNITS'].':'.
      $_POST['PAYMENT_BATCH_NUM'].':'.
      $_POST['PAYER_ACCOUNT'].':'.$passphrase.':'.
      $_POST['TIMESTAMPGMT'];
$id=(int)$_POST['ID_USER'];
$hash=strtoupper(md5($hash));
$ident=$id;


$timestampgt=$_POST['TIMESTAMPGMT'];//$a
$payment_batch_num=$_POST['PAYMENT_BATCH_NUM'];//$b
$payment_id=$_POST['PAYMENT_ID'];//$c
$payee_account=$_POST['PAYEE_ACCOUNT'];//$d
$payment_amount=$_POST['PAYMENT_AMOUNT'];//$e
$payment_units=$_POST['PAYMENT_UNITS'];//$f
$payer_account=$_POST['PAYER_ACCOUNT'];//$g

function additionlPaymentCheckingUsingAPI($a,$b,$c,$d,$e,$ft,$g){


require ROOT_DIR.'/pm.cfg.php';
$ld=date("d", $a-86400*2);
$nd=date("d", $a+86400*2);

$pathf='https://perfectmoney.is/acct/historycsv.asp?AccountID='.$pm['out_id'].'&PassPhrase='.$pm['out_pass'].'&startmonth='.date("m", $a-86400*2).'&startday='.$ld.'&startyear='.date("Y", $a-86400*2).'&endmonth='.date("m",$a+86400*2).'&endday='.$nd.'&endyear='.date("Y",$a+86400*2).'&paymentsreceived=1&batchfilter='.$b.'&counterfilter='.$g;
            
            $f=fopen($pathf, 'rb');
            if($f===false) return 'error openning url';

            $lines=array();
            while(!feof($f)) array_push($lines, trim(fgets($f)));

            fclose($f);

            if($lines[0]!='Time,Type,Batch,Currency,Amount,Fee,Payer Account,Payee Account,Payment ID,Memo'){
            $str=$lines[0]."|".date('d.m.y',$a-86400*2)."|".date('d.m.y',$a+86400*2);
                 return $str;
                 #return '0000000';
            }else{

                 $ar=array();
                 $n=count($lines);
                 if ($n<2) return 'payment not found '.$lines[0].'-0 | '.$lines[1].'-1| '.$n.'-количество строк';

                 $item=explode(",", $lines[1], 10);
                 if(count($item)!=10) return $lines[1];
                 $item_named['Time']=$item[0];
                 $item_named['Type']=$item[1];
                 $item_named['Batch']=$item[2];
                 $item_named['Currency']=$item[3];
                 $item_named['Amount']=$item[4];
                 $item_named['Fee']=$item[5];
                 $item_named['Payer Account']=$item[6];
                 $item_named['Payee Account']=$item[7];
                 $item_named['Payment ID']=$item[8];
                 $item_named['Memo']=$item[9];

                // if($item_named['Batch']==$b && $c==$item_named['Payment ID'] && $item_named['Type']=='Income' && $g==$item_named['Payee Account'] && $e==$item_named['Amount'] && $f==$item_named['Currency'] && $d==$item_named['Payer Account']){
                 if($item_named['Batch']==$b && $c==$item_named['Payment ID'] && $item_named['Type']=='Income' && $g==$item_named['Payee Account'] && $e==$item_named['Amount'] && $d==$item_named['Payer Account'] && $ft==$item_named['Currency']){
                        
                        return 'OK';
                 }else{
                 return 'HOOY';
                }
}
}
#$mysqli->query("UPDATE `insys` SET `debug`='1' where `id`='1'");
$apcua=additionlPaymentCheckingUsingAPI($timestampgt,$payment_batch_num,$payment_id,$payee_account,$payment_amount,$payment_units,$payer_account);
#$mysqli->query("UPDATE `insys` SET `debug`='1' where `id`='2'");

$mysqli->query("UPDATE `insys` SET `seedy`='".$apcua."'");

            $summ=floatval($_POST['PAYMENT_AMOUNT']);
            $summ=abs($summ);
if($hash==$_POST['V2_HASH'] && isset($_POST['PAYMENT_ID']) && isset($_POST['PAYEE_ACCOUNT']) && strlen($_POST['V2_HASH'])==32 && $apcua=='OK'){

    if(!is_numeric($_POST['PAYMENT_BATCH_NUM'])){ exit; }
    $ch_in=$mysqli->query("SELECT * FROM `insys` where `order_id`='".$_POST['PAYMENT_BATCH_NUM']."' and `ps`='perfect'");
    if($ch_in->num_rows>0){ exit; }
        $ous=$mysqli->query("SELECT `id`,`email`,`partner_id` FROM `users` where `id`='".$ident."'");
        if($ous->num_rows==0){ exit; }
        
        $row=$ous->fetch_assoc();
        
        
        $ps='perfect';
                            $summ_m=$_POST['PAYMENT_AMOUNT'];
                            $summ_m=floatval($summ_m);               
                
                
                            $v='руб.';
                            if($ps=='perfect') $summ_m=$summ_m*$course;
                            if($ps=='perfect') $v="$";
                            $summ_c=intval($summ_m*1000);
                            
                                
            
            $log=array(
            'type'    =>1,
            'ident'    =>$ident,
            'val1'    =>number_format($_POST['PAYMENT_AMOUNT'],2,'.',' ')." ".$v,
            'val2'    =>number_format($summ_c,0,'',' '),
            'val3'    =>$ps,
            'val4'    =>0
            );
                $SEED->in_log($log);
                        $SEED->insys($ident,$summ_c,$summ_m,$_POST['PAYMENT_BATCH_NUM'],$ps);
                        
                        #$SEED->pushme('Ввод PERFECT',$tex);
                            
                            
                            
        
}



exit('end');
    
?>
 

pligin

Команда форума
Администратор
Код:
<?
if(!defined('ROOT_DIR')) die('Что за черт?');


require ROOT_DIR.'/pm.cfg.php';
$summ=$_POST['PAYMENT_AMOUNT'];
$passphrase=strtoupper(md5($pm['in_phrase']));
$hash=$_POST['PAYMENT_ID'].':'.$_POST['PAYEE_ACCOUNT'].':'.
      $_POST['PAYMENT_AMOUNT'].':'.$_POST['PAYMENT_UNITS'].':'.
      $_POST['PAYMENT_BATCH_NUM'].':'.
      $_POST['PAYER_ACCOUNT'].':'.$passphrase.':'.
      $_POST['TIMESTAMPGMT'];
$id=(int)$_POST['ID_USER'];
$hash=strtoupper(md5($hash));
$ident=$id;


$timestampgt=$_POST['TIMESTAMPGMT'];//$a
$payment_batch_num=$_POST['PAYMENT_BATCH_NUM'];//$b
$payment_id=$_POST['PAYMENT_ID'];//$c
$payee_account=$_POST['PAYEE_ACCOUNT'];//$d
$payment_amount=$_POST['PAYMENT_AMOUNT'];//$e
$payment_units=$_POST['PAYMENT_UNITS'];//$f
$payer_account=$_POST['PAYER_ACCOUNT'];//$g

function additionlPaymentCheckingUsingAPI($a,$b,$c,$d,$e,$ft,$g){


require ROOT_DIR.'/pm.cfg.php';
$ld=date("d", $a-86400*2);
$nd=date("d", $a+86400*2);

$pathf='https://perfectmoney.is/acct/historycsv.asp?AccountID='.$pm['out_id'].'&PassPhrase='.$pm['out_pass'].'&startmonth='.date("m", $a-86400*2).'&startday='.$ld.'&startyear='.date("Y", $a-86400*2).'&endmonth='.date("m",$a+86400*2).'&endday='.$nd.'&endyear='.date("Y",$a+86400*2).'&paymentsreceived=1&batchfilter='.$b.'&counterfilter='.$g;
          
            $f=fopen($pathf, 'rb');
            if($f===false) return 'error openning url';

            $lines=array();
            while(!feof($f)) array_push($lines, trim(fgets($f)));

            fclose($f);

            if($lines[0]!='Time,Type,Batch,Currency,Amount,Fee,Payer Account,Payee Account,Payment ID,Memo'){
            $str=$lines[0]."|".date('d.m.y',$a-86400*2)."|".date('d.m.y',$a+86400*2);
                 return $str;
                 #return '0000000';
            }else{

                 $ar=array();
                 $n=count($lines);
                 if ($n<2) return 'payment not found '.$lines[0].'-0 | '.$lines[1].'-1| '.$n.'-количество строк';

                 $item=explode(",", $lines[1], 10);
                 if(count($item)!=10) return $lines[1];
                 $item_named['Time']=$item[0];
                 $item_named['Type']=$item[1];
                 $item_named['Batch']=$item[2];
                 $item_named['Currency']=$item[3];
                 $item_named['Amount']=$item[4];
                 $item_named['Fee']=$item[5];
                 $item_named['Payer Account']=$item[6];
                 $item_named['Payee Account']=$item[7];
                 $item_named['Payment ID']=$item[8];
                 $item_named['Memo']=$item[9];

                // if($item_named['Batch']==$b && $c==$item_named['Payment ID'] && $item_named['Type']=='Income' && $g==$item_named['Payee Account'] && $e==$item_named['Amount'] && $f==$item_named['Currency'] && $d==$item_named['Payer Account']){
                 if($item_named['Batch']==$b && $c==$item_named['Payment ID'] && $item_named['Type']=='Income' && $g==$item_named['Payee Account'] && $e==$item_named['Amount'] && $d==$item_named['Payer Account'] && $ft==$item_named['Currency']){
                      
                        return 'OK';
                 }else{
                 return 'HOOY';
                }
}
}
#$mysqli->query("UPDATE `insys` SET `debug`='1' where `id`='1'");
$apcua=additionlPaymentCheckingUsingAPI($timestampgt,$payment_batch_num,$payment_id,$payee_account,$payment_amount,$payment_units,$payer_account);
#$mysqli->query("UPDATE `insys` SET `debug`='1' where `id`='2'");

$mysqli->query("UPDATE `insys` SET `seedy`='".$apcua."'");

            $summ=floatval($_POST['PAYMENT_AMOUNT']);
            $summ=abs($summ);
if($hash==$_POST['V2_HASH'] && isset($_POST['PAYMENT_ID']) && isset($_POST['PAYEE_ACCOUNT']) && strlen($_POST['V2_HASH'])==32 && $apcua=='OK'){

    if(!is_numeric($_POST['PAYMENT_BATCH_NUM'])){ exit; }
    $ch_in=$mysqli->query("SELECT * FROM `insys` where `order_id`='".$_POST['PAYMENT_BATCH_NUM']."' and `ps`='perfect'");
    if($ch_in->num_rows>0){ exit; }
        $ous=$mysqli->query("SELECT `id`,`email`,`partner_id` FROM `users` where `id`='".$ident."'");
        if($ous->num_rows==0){ exit; }
      
        $row=$ous->fetch_assoc();
      
      
        $ps='perfect';
                            $summ_m=$_POST['PAYMENT_AMOUNT'];
                            $summ_m=floatval($summ_m);             
              
              
                            $v='руб.';
                            if($ps=='perfect') $summ_m=$summ_m*$course;
                            if($ps=='perfect') $v="$";
                            $summ_c=intval($summ_m*1000);
                          
                              
          
            $log=array(
            'type'    =>1,
            'ident'    =>$ident,
            'val1'    =>number_format($_POST['PAYMENT_AMOUNT'],2,'.',' ')." ".$v,
            'val2'    =>number_format($summ_c,0,'',' '),
            'val3'    =>$ps,
            'val4'    =>0
            );
                $SEED->in_log($log);
                        $SEED->insys($ident,$summ_c,$summ_m,$_POST['PAYMENT_BATCH_NUM'],$ps);
                      
                        #$SEED->pushme('Ввод PERFECT',$tex);
                          
                          
                          
      
}



exit('end');
  
?>
Это перфект и причина понятна.
Загрузи скрипт на Яндекс диск и скинь ссылку.
Я посмотрю завтра.
 

takebet

Местный
блин. не тот код скинул, вот payeer

Код:
<?
if(!defined('ROOT_DIR')) die('Что за черт?');


        $ident=intval($_POST['label']);
        $summ=$_POST['amount'];
        
        
    if (isset($_POST["m_operation_id"]) && isset($_POST["m_sign"]))
{
    require ROOT_DIR.'/pm.cfg.php';
    $m_key = $pe['key'];
    $arHash = array($_POST['m_operation_id'],
            $_POST['m_operation_ps'],
            $_POST['m_operation_date'],
            $_POST['m_operation_pay_date'],
            $_POST['m_shop'],
            $_POST['m_orderid'],
            $_POST['m_amount'],
            $_POST['m_curr'],
            $_POST['m_desc'],
            $_POST['m_status'],
            $m_key);
    $sign_hash = strtoupper(hash('sha256', implode(":", $arHash)));
    if ($_POST["m_sign"] == $sign_hash && $_POST['m_status'] == "success")
    {
            
        $desc=base64_decode($_POST['m_desc']);
        
        
        $user_id=explode('Id:',$desc);
        
        $ident=trim($user_id[1]);
        $summ=$_POST['m_amount'];
        $orderid=$_POST['m_orderid'];
        
        
    $ch_in=$mysqli->query("SELECT * FROM `insys` where `order_id`='".$orderid."' and `ps`='payeer'");
    if($ch_in->num_rows>0){ exit; }
        $ous=$mysqli->query("SELECT `id`,`email`,`partner_id` FROM `users` where `id`='".$ident."'");
        if($ous->num_rows==0){ exit; }
        
        $row=$ous->fetch_assoc();
        
        
        $ps='payeer';
                            $summ_m=$_POST['m_amount'];
                            $summ_m=floatval($summ_m);               
                
                
                            $v='руб.';
                            $summ_c=intval($summ_m*1000);
                            
            
            $log=array(
            'type'    =>1,
            'ident'    =>$ident,
            'val1'    =>number_format($_POST['m_amount'],2,'.',' ')." ".$v,
            'val2'    =>number_format($summ_c,0,'',' '),
            'val3'    =>$ps,
            'val4'    =>0
            );
                $SEED->in_log($log);
                        $SEED->insys($ident,$summ_c,$summ_m,$orderid,$ps);
                        
                            
                    print $_POST['m_orderid']."|success";exit;
    }else{
            print $_POST['m_orderid']."|error";exit;
}
}

exit('end');
    
?>
 
Статус
Закрыто для дальнейших ответов.
Верх