Здравствуйте.
Столкнулся с проблемой и по видимому она связана 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>';
}
?>