PAYEER оплата помощь.

coderok

Участник
Помогите, нужно сделать проверку PAYEER кошелька на 10-11 значный. Вот код, который стоит, но он выдает ошибку(
function ViewPurse($purse){
if( substr($purse,0,1) != "P" ) return false;
if( !preg_match("/^[0-7]{0,7}$/", substr($purse,1)) ) {
if( !preg_match("/^[0-11]{11}$/", substr($purse,1)) ) return false;
}
return $purse;
}
 

DjSuzuki

Местный
Помогите, нужно сделать проверку PAYEER кошелька на 10-11 значный. Вот код, который стоит, но он выдает ошибку(
function ViewPurse($purse){
if( substr($purse,0,1) != "P" ) return false;
if( !preg_match("/^[0-7]{0,7}$/", substr($purse,1)) ) {
if( !preg_match("/^[0-11]{11}$/", substr($purse,1)) ) return false;
}
return $purse;
}
А чё не полазиешь по форуму? Недавно было решение этой проблемы
 

CRAFTGAMING

Участник
Местный
Код:
function ViewPurse($purse){
if( substr($purse,0,1) != "P" ) return false;
if( !preg_match("/^[0-7]{0,7}$/", substr($purse,1)) ) {
if( !preg_match("/^[0-11]{11}$/", substr($purse,1)) ) return false;
}
return $purse;
}
А почему у тебя 2 раза повторяеться ?
if( !preg_match("/^[0-11]{11}$/", substr($purse,1)) ) return false;
 

coderok

Участник
Код страницы:
<section class="home boxed-mini">
<div class="section-header">
<h1 class="title">Вывод <span class="title-highlight">средств</span></h1>
<p>
Минимальная сумма для вывода 1 рубль.
</p>

</div> <!-- /.section-header -->
</section>
<?PHP
$_OPTIMIZATION["title"] = "Аккаунт - Заказ выплаты";
$usid = $_SESSION["user_id"];
$usname = $_SESSION["user"];
$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();

$db->Query("SELECT * FROM db_config WHERE id = '1' LIMIT 1");
$sonfig_site = $db->FetchArray();
$status_array = array( 0 => "Проверяется", 1 => "Выплачивается", 2 => "Отменена", 3 => "Выплачено");
# Минималка серебром!
$minPay = 1;
?>

<div class="container">
<section class="features boxed-mini">
<div class="container">
<div class="user-balance">Баланс: <?=sprintf("%.2f",$user_data["money_p"]); ?> руб.</div>


<div class="form-page">

<?PHP


function ViewPurse($purse){
if( substr($purse,0,1) != "P" ) return false;
if(!preg_match("^[0-9]{7,}$", substr($purse,1)) ) return false;
return $purse;
}

# Заносим выплату
if(isset($_POST["purse"])){

$purse = ViewPurse($_POST["purse"]);
$sum = intval($_POST["sum"]);
$val = "RUB";

if($purse !== false){

if($sum >= $minPay){

if($sum <= $user_data["money_p"]){

# Проверяем на существующие заявки
$db->Query("SELECT COUNT(*) FROM db_payment WHERE user_id = '$usid' AND (status = '0' OR status = '1')");
if($db->FetchRow() == 0){


### Делаем выплату ###
$payeer = new rfs_payeer($config->AccountNumber, $config->apiId, $config->apiKey);
if ($payeer->isAuth())
{

$arBalance = $payeer->getBalance();
if($arBalance["auth_error"] == 0)
{

$sum_pay = round( ($sum / $sonfig_site["ser_per_wmr"]), 2);

$balance = $arBalance["balance"]["RUB"]["DOSTUPNO"];
if( ($balance) >= ($sum_pay+1)){



$arTransfer = $payeer->transfer(array(
'curIn' => 'RUB', // счет списания
'sum' => $sum_pay, // сумма получения
'curOut' => 'RUB', // валюта получения
'to' => $purse, // получатель (email)
//'to' => '+71112223344', // получатель (телефон)
//'to' => 'P1000000', // получатель (номер счета)
'comment' => iconv('windows-1251', 'utf-8', "Выплата пользователю {$usname} с проекта Vavo.in"),
'anonim' => 'Y', // анонимный перевод
//'protect' => 'Y', // протекция сделки
//'protectPeriod' => '3', // период протекции (от 1 до 30 дней)
//'protectCode' => '12345', // код протекции
));

if (!empty($arTransfer["historyId"]))
{


# Снимаем с пользователя
$db->Query("UPDATE db_users_b SET money_p = money_p - '$sum' WHERE id = '$usid'");

# Вставляем запись в выплаты
$da = time();
$dd = $da + 60*60*24*15;

$ppid = $arTransfer["historyId"];

$db->Query("INSERT INTO db_payment (user, user_id, purse, sum, valuta, serebro, payment_id, date_add, status)
VALUES ('$usname','$usid','$purse','$sum_pay','RUB', '$sum','$ppid','".time()."', '3')");

$db->Query("UPDATE db_users_b SET payment_sum = payment_sum + '$sum_pay' WHERE id = '$usid'");
$db->Query("UPDATE db_stats SET all_payments = all_payments + '$sum_pay' WHERE id = '1'");

echo "<center><font color = 'green'><b>Выплачено!</b></font></center><BR />";

}
else
{

echo "<div class=\"ui error message\" style=\"display: block\">Внутреняя ошибка - сообщите о ней администратору!</div>";

}


}else echo "<div class=\"ui error message\" style=\"display: block\">Внутреняя ошибка - сообщите о ней администратору!</div>";

}else echo "<div class=\"ui error message\" style=\"display: block\">Не удалось выплатить! Попробуйте позже</div>";

}else echo "<div class=\"ui error message\" style=\"display: block\">Не удалось выплатить! Попробуйте позже</div>";


}else echo "<div class=\"ui error message\" style=\"display: block\">У вас имеются необработанные заявки. Дождитесь их выполнения.</div>";


}else echo "<div class=\"ui error message\" style=\"display: block\">Вы указали больше, чем имеется на вашем счету</div>";

}else echo "<div class=\"ui error message\" style=\"display: block\">Минимальная сумма для выплаты составляет 1 рубль</div>";

}else echo "<div class=\"ui error message\" style=\"display: block\">Кошелек Payeer указан неверно! Смотрите образец!</div>";

}
?>


<form class="ui large form" action="" method="post">
<div class="field">
<td align="center">Введите кошелек Payeer (Пример: P1112457) </td>
<div class="ui left input">
<td><input type="text" name="purse" size="15"/></td>
</div>
</div>
<div class="field field-wallet">
<td align="center">Введите сумму (Мин. 1 Руб.) </td>
<div class="ui left input">
<td align="center"><input type="text" name="sum" id="sum" value="<?=round($user_data["money_p"]); ?>" size="15"/></td>
</div>
</div>
<div style="text-align: center">
<input type="submit" name="swap" value="Получить выплату" class="ui fluid large primary submit button">
</div>

</form> </div>


</div>
</section>
</div>

<section class="overview boxed-mini">
<div class="section-header">
<h4 class="title">История <span class="title-highlight">выплат</span></h4>

</div> <!-- /.section-header -->
<div class="container">
<div id="payment-grid" class="grid-view">
<table class="items">
<thead>
<tr>
<th id="payment-grid_c1"><a class="sort-link" href="/index.php/payout?Payments_sort=amount">Сумма</a></th>
<th id="payment-grid_c2"><a class="sort-link" href="/index.php/payout?Payments_sort=system">Платежная система</a></th>
<th id="payment-grid_c3"><a class="sort-link" href="/index.php/payout?Payments_sort=wallet">Кошелек</a></th>
<th id="payment-grid_c4"><a class="sort-link" href="/index.php/payout?Payments_sort=state">Статус</a></th>
<th id="payment-grid_c6"><a class="sort-link" href="/index.php/payout?Payments_sort=time">Время</a></th>
</thead>
<?PHP

$db->Query("SELECT * FROM db_payment WHERE user_id = '$usid' ORDER BY id DESC LIMIT 20");

if($db->NumRows() > 0){

while($ref = $db->FetchArray()){

?>
<tbody>
<tr class="odd">
<td><?=sprintf("%.2f",$ref["sum"] - $ref["comission"]); ?> <?=$ref["valuta"]; ?></td>
<td>Payeer</td>
<td><?=$ref["purse"]; ?></td>
<td><?=$status_array[$ref["status"]]; ?></td>
<td><?=date("d.m.Y",$ref["date_add"]); ?></td>
</tbody>
<?PHP

}

}else echo '<tr><td align="center" colspan="5">Нет записей</td></tr>'

?>
</table>
</div>
</div>
</section>

А ВОТ ЧТО ВЫШЛО В СКРИНЕ
 

pligin

Команда форума
Администратор
Код страницы:
<section class="home boxed-mini">
<div class="section-header">
<h1 class="title">Вывод <span class="title-highlight">средств</span></h1>
<p>
Минимальная сумма для вывода 1 рубль.
</p>

</div> <!-- /.section-header -->
</section>
<?PHP
$_OPTIMIZATION["title"] = "Аккаунт - Заказ выплаты";
$usid = $_SESSION["user_id"];
$usname = $_SESSION["user"];
$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();

$db->Query("SELECT * FROM db_config WHERE id = '1' LIMIT 1");
$sonfig_site = $db->FetchArray();
$status_array = array( 0 => "Проверяется", 1 => "Выплачивается", 2 => "Отменена", 3 => "Выплачено");
# Минималка серебром!
$minPay = 1;
?>

<div class="container">
<section class="features boxed-mini">
<div class="container">
<div class="user-balance">Баланс: <?=sprintf("%.2f",$user_data["money_p"]); ?> руб.</div>


<div class="form-page">

<?PHP


function ViewPurse($purse){
if( substr($purse,0,1) != "P" ) return false;
if(!preg_match("^[0-9]{7,}$", substr($purse,1)) ) return false;
return $purse;
}

# Заносим выплату
if(isset($_POST["purse"])){

$purse = ViewPurse($_POST["purse"]);
$sum = intval($_POST["sum"]);
$val = "RUB";

if($purse !== false){

if($sum >= $minPay){

if($sum <= $user_data["money_p"]){

# Проверяем на существующие заявки
$db->Query("SELECT COUNT(*) FROM db_payment WHERE user_id = '$usid' AND (status = '0' OR status = '1')");
if($db->FetchRow() == 0){


### Делаем выплату ###
$payeer = new rfs_payeer($config->AccountNumber, $config->apiId, $config->apiKey);
if ($payeer->isAuth())
{

$arBalance = $payeer->getBalance();
if($arBalance["auth_error"] == 0)
{

$sum_pay = round( ($sum / $sonfig_site["ser_per_wmr"]), 2);

$balance = $arBalance["balance"]["RUB"]["DOSTUPNO"];
if( ($balance) >= ($sum_pay+1)){



$arTransfer = $payeer->transfer(array(
'curIn' => 'RUB', // счет списания
'sum' => $sum_pay, // сумма получения
'curOut' => 'RUB', // валюта получения
'to' => $purse, // получатель (email)
//'to' => '+71112223344', // получатель (телефон)
//'to' => 'P1000000', // получатель (номер счета)
'comment' => iconv('windows-1251', 'utf-8', "Выплата пользователю {$usname} с проекта Vavo.in"),
'anonim' => 'Y', // анонимный перевод
//'protect' => 'Y', // протекция сделки
//'protectPeriod' => '3', // период протекции (от 1 до 30 дней)
//'protectCode' => '12345', // код протекции
));

if (!empty($arTransfer["historyId"]))
{


# Снимаем с пользователя
$db->Query("UPDATE db_users_b SET money_p = money_p - '$sum' WHERE id = '$usid'");

# Вставляем запись в выплаты
$da = time();
$dd = $da + 60*60*24*15;

$ppid = $arTransfer["historyId"];

$db->Query("INSERT INTO db_payment (user, user_id, purse, sum, valuta, serebro, payment_id, date_add, status)
VALUES ('$usname','$usid','$purse','$sum_pay','RUB', '$sum','$ppid','".time()."', '3')");

$db->Query("UPDATE db_users_b SET payment_sum = payment_sum + '$sum_pay' WHERE id = '$usid'");
$db->Query("UPDATE db_stats SET all_payments = all_payments + '$sum_pay' WHERE id = '1'");

echo "<center><font color = 'green'><b>Выплачено!</b></font></center><BR />";

}
else
{

echo "<div class=\"ui error message\" style=\"display: block\">Внутреняя ошибка - сообщите о ней администратору!</div>";

}


}else echo "<div class=\"ui error message\" style=\"display: block\">Внутреняя ошибка - сообщите о ней администратору!</div>";

}else echo "<div class=\"ui error message\" style=\"display: block\">Не удалось выплатить! Попробуйте позже</div>";

}else echo "<div class=\"ui error message\" style=\"display: block\">Не удалось выплатить! Попробуйте позже</div>";


}else echo "<div class=\"ui error message\" style=\"display: block\">У вас имеются необработанные заявки. Дождитесь их выполнения.</div>";


}else echo "<div class=\"ui error message\" style=\"display: block\">Вы указали больше, чем имеется на вашем счету</div>";

}else echo "<div class=\"ui error message\" style=\"display: block\">Минимальная сумма для выплаты составляет 1 рубль</div>";

}else echo "<div class=\"ui error message\" style=\"display: block\">Кошелек Payeer указан неверно! Смотрите образец!</div>";

}
?>


<form class="ui large form" action="" method="post">
<div class="field">
<td align="center">Введите кошелек Payeer (Пример: P1112457) </td>
<div class="ui left input">
<td><input type="text" name="purse" size="15"/></td>
</div>
</div>
<div class="field field-wallet">
<td align="center">Введите сумму (Мин. 1 Руб.) </td>
<div class="ui left input">
<td align="center"><input type="text" name="sum" id="sum" value="<?=round($user_data["money_p"]); ?>" size="15"/></td>
</div>
</div>
<div style="text-align: center">
<input type="submit" name="swap" value="Получить выплату" class="ui fluid large primary submit button">
</div>

</form> </div>


</div>
</section>
</div>

<section class="overview boxed-mini">
<div class="section-header">
<h4 class="title">История <span class="title-highlight">выплат</span></h4>

</div> <!-- /.section-header -->
<div class="container">
<div id="payment-grid" class="grid-view">
<table class="items">
<thead>
<tr>
<th id="payment-grid_c1"><a class="sort-link" href="/index.php/payout?Payments_sort=amount">Сумма</a></th>
<th id="payment-grid_c2"><a class="sort-link" href="/index.php/payout?Payments_sort=system">Платежная система</a></th>
<th id="payment-grid_c3"><a class="sort-link" href="/index.php/payout?Payments_sort=wallet">Кошелек</a></th>
<th id="payment-grid_c4"><a class="sort-link" href="/index.php/payout?Payments_sort=state">Статус</a></th>
<th id="payment-grid_c6"><a class="sort-link" href="/index.php/payout?Payments_sort=time">Время</a></th>
</thead>
<?PHP

$db->Query("SELECT * FROM db_payment WHERE user_id = '$usid' ORDER BY id DESC LIMIT 20");

if($db->NumRows() > 0){

while($ref = $db->FetchArray()){

?>
<tbody>
<tr class="odd">
<td><?=sprintf("%.2f",$ref["sum"] - $ref["comission"]); ?> <?=$ref["valuta"]; ?></td>
<td>Payeer</td>
<td><?=$ref["purse"]; ?></td>
<td><?=$status_array[$ref["status"]]; ?></td>
<td><?=date("d.m.Y",$ref["date_add"]); ?></td>
</tbody>
<?PHP

}

}else echo '<tr><td align="center" colspan="5">Нет записей</td></tr>'

?>
</table>
</div>
</div>
</section>

А ВОТ ЧТО ВЫШЛО В СКРИНЕ
это уже новая тема или воспользуйся ПОИСКОМ
 
Верх