Автор Тема: Не правильно работает проверка авто выплат ФФ  (Прочитано 468 раз)

0 Пользователей и 1 Гость просматривают эту тему.

nikogdaАвтор темы

  • *
  • Оффлайн
  • Награды Более 6 лет на форуме !!! Более 100 сообщений Более 50 созданных тем Топ 10 по созданным темам
  • Дата регистрации: Июль 2016
  • Сообщений: 201
  • Страна: ru
  • Поблагодарили: 4 раз(а)
  • Репутация +0/-0
  • Пол: Мужской
Здравствуйте.
Столкнулся с проблемой и по видимому она связана c проверкой выплат, хотя не знаю...
Ребят, будьте добры выручите.

У меня 3 ПС для выплат ( киви, яндекс и паер) и следовательно 3 кнопки на выбор.

Когда я в настройках не привязываю кошельки, то при клике "заказать выплату" - выскакивает надпись:
}else echo '<div>Ошибка выплаты - Номер счета '.$paySys.' не указан в настройках аккаунта.</p></div>';
Тут вроде все правильно, но!!!

Когда я указал в настройках все кошельки к этим трем ПС и указал в поле не минималку в 100 серебра = 1 руб., а наоборот еще меньше скажем 30 серебра, то  при нажатии на кнопку "заказать выплату" появляется все та же надпись:
}else echo '<div>Ошибка выплаты - Номер счета '.$paySys.' не указан в настройках аккаунта.</p></div>';

Ведь должна срабатывать вот такая надпись, когда вводишь меньше минимальной выплаты:
 }else echo '<div>Ошибка выплаты - Минимальная сумма выплаты на '.$paySys.' составляет: '.$minPay.' серебра.</p></div>';

Я и местами все менял и как только не крутил - не чинится вообще(((


Вот этот самый код:
<?PHP
# Заносим выплату
if(isset($_POST['swap'])){ // проверка: была ли отправлена форма

   if(!isset($_POST['purse'])){

        $ps = Array(
            'Payeer'=>'1136053',
            'QIWI'=>'60792237',
            'ЯндексДеньги'=>'25344',
            'Билайн'=>'24898938',
            'Мегафон'=>'24899391',
            'МТС'=>'24899291',
            'ТЕЛЕ2'=>'95877310',
            'VISA' =>'117146509',
            'MASTERCARD' =>'57644634',
            'MAESTRO' =>'57766314'
        );

        $arrPaySys = array(
                'Payeer' => 'payeer',
                );

        $ps = $ps[$_POST['ps']];
      $paySys = $_POST['ps'];

      if(!empty($ps)){

         if($_POST['ps'] == 'Payeer'){
            function ViewPurse($purse){
               if( substr($purse,0,1) != "P" ) return false;
               if( !preg_match("#^[0-9]{7,15}$#", substr($purse,1)) ) return false;   
               return $purse;
            }
         }
         if($_POST['ps'] == 'ЯндексДеньги'){
            function ViewPurse($purse){
               if( !preg_match("#^41001[0-9]{7,11}$#",$purse) ) return false;
               return $purse;
            }
            $minPay = '1000';
         }
         if($_POST['ps'] == 'QIWI'){
            function ViewPurse($purse){
               if( !preg_match("#^\+(91|994|82|372|375|374|44|998|972|66|90|81|1|507|7|77|380|371|370|996|9955|992|373|84)[0-9]{6,14}$#",$purse) ) return false;
               return $purse;
            }
            $minPay = '1000';
         }
         if(isset($_POST['phone']) && $_POST['ps'] != 'QIWI'){
            function ViewPurse($purse){
               if( !preg_match("#^[\+]{1}[7]{1}[9]{1}[\d]{9}$#",$purse) ) return false;
               return $purse;
            }
            $minPay = '1000';
         }
         
         if($_POST['ps'] == 'VISA'){
            function ViewPurse($purse){
               if(!preg_match("#^([45]{1}[\d]{15}|[6]{1}[\d]{17})$#",$purse)) return false;
               return $purse;
            }
         }
         if($_POST['ps'] == 'MASTERCARD'){
            function ViewPurse($purse){
               if( !preg_match("#^([45]{1}[\d]{15}|[6]{1}[\d]{17})$#",$purse) ) return false;
               return $purse;
            }
            
         }
         if($_POST['ps'] == 'MAESTRO'){
            function ViewPurse($purse){
               if( !preg_match("#^([45]{1}[\d]{15}|[6]{1}[\d]{15,17})$#",$purse) ) return false;
               return $purse;
            }
            
         }
         if(isset($_POST['card'])){
            $minPay = '65000';
            function ViewPerson($person){
               if( !preg_match("#^([a-zA-ZА-Яабвгдеёжзийклмнопрстуфхцчшщьыъэюя\.\-\' ]+)$#",$person) ) return false;
               return $person;
            }
            $person = ViewPerson($_POST['person']);
         }

            //$purse = ViewPurse($_POST['purse']);
         $purse = ViewPurse($user_data[$arrPaySys[$paySys]]);
         if($purse != false){

                if((!empty($person) AND $person != false) OR !isset($person)){

            $sum = round(intval($_POST['sum']),2);
            $val = 'RUB';

            if($sum >= $minPay){

               if($sum <= $user_data['money_p']){
               # Проверяем на существующие заявки
                  $db->Query("SELECT COUNT(*) FROM db_payment WHERE user_id = '$user_id' AND (status = '0' OR status = '1')");
                  if($db->FetchRow() == 0){
                     $sum_pay = round( ($sum / $config_site['ser_per_wmr']), 2);
                     if($user_data["pay_points"] >= $sum_pay){
                                # Делаем выплату
                        $payeer = new rfs_payeer($config->AccountNumber, $config->apiId, $config->apiKey);
                        if ($payeer->isAuth()){
                           $arBalance = $payeer->getBalance();
                           if($arBalance['auth_error'] == 0){
                              $balance = $arBalance['balance']['RUB']['DOSTUPNO'];
                              if($balance >= $sum_pay){
                                 $array = array(
                                    'action' => 'output',
                                    'ps' => $ps,
                                    'curIn' => $val, // счет списания
                                    'sumOut' => $sum_pay, // сумма получения
                                    'curOut' => $val, // валюта получения
                                    'param_ACCOUNT_NUMBER' => $purse // получатель
                                    
                                 );
                                 if(!empty($person)){
                                    $array['param_CONTACT_PERSON'] = $person;
                                 }
                                 $initOutput = $payeer->initOutput($array);
                                 if ($initOutput){
                                    $historyId = $payeer->output();
                                       if ($historyId > 0){
                                       # Снимаем с пользователя
                                            $db->Query("UPDATE db_users_b SET money_p = money_p - '$sum', payment_sum = payment_sum + '$sum_pay', pay_points = pay_points - '$sum_pay' WHERE id = '$user_id'");

                                          # Вставляем запись в выплаты
                                          $da = time();
                                          $dd = $da + 60*60*24*15;
                                          
                                          $ppid = $arTransfer["historyId"];
                                             
                                          $db->Query("INSERT INTO db_payment (user, user_id, purse, sum, valuta, serebro, pay_sys_id, payment_id, date_add, status) VALUES ('$usname','$user_id','$purse','$sum_pay','RUB', '$sum', '$ps', '$ppid','".time()."', '3')");
                                             
                                          $db->Query("UPDATE db_stats SET all_payments = all_payments + '$sum_pay' WHERE id = '1'");
                                          echo '<div>Выплачено</p></div>';
                                          $db->Query("SELECT * FROM db_users_b WHERE id = '$user_id' LIMIT 1");
                                          $user_data = $db->FetchArray();
                                       }else{
                                          echo '<div>Ошибка выплаты - ['.print_r($payeer->getErrors(), true).'] - попробуйте через  20-30 секунд или сообщите о ней администратору!</p></div>';
                                       }
                                 }else{
                                    echo '<div>Ошибка выплаты - ['.print_r($payeer->getErrors(), true).'] - попробуйте через 20-30 секунд или сообщите о ней администратору!</p></div>';
                                 }
                              }else echo '<div>Сервер перегружен - попробуйте через 10-30 секунд или сообщите о ней администратору!</p></div>';
                           }else echo '<div>Ошибка выплаты - Не удалось выплатить! Попробуйте позже.</p></div>';
                        }else echo '<div>Ошибка выплаты - Не удалось выплатить! Попробуйте позже.</p></div>';
                         }else echo '<div>Ошибка выплаты - Недостаточно платежных баллов</p></div>';
                     }else echo '<div>Ошибка выплаты - У вас имеются необработанные заявки. Дождитесь их выполнения.</p></div>';
               }else echo '<div>Ошибка выплаты - Вы указали больше, чем имеется на вашем счету.</p></div>';
                }else echo '<div>Ошибка выплаты - Минимальная сумма выплаты на '.$paySys.' составляет: '.$minPay.' серебра.</p></div>';

            }else echo '<div>Ошибка выплаты - Данные держателя карты указаны неверно.</p></div>';

         }else echo '<div>Ошибка выплаты - Номер счета '.$paySys.' не указан в настройках аккаунта.</p></div>';

      }else echo '<div>Ошибка выплаты - Не был выбран способ вывода заработка.</p></div>';

   }else echo '<div>Ошибка выплаты -Вы не ввели номер кошелька</p></div>';
}
?>

 
Пользователи, которые поблагодарили этот пост: maks100391
Теги: