kombatik
Участник
- Сообщения
- 0
- Реакции
- 0
Ребята всем привет! Помогите люди добрые(
Столкнулся с проблемой пополнения баланса на тестируемом Сайте Активной Рекламы.
При пополнении перебрасывает на мерчант Webmoney для подтверждения операции, после ввода данных приходит ответ от сайта
________________________________
Если в настройках мерчанта убрать галочку с "Передавать параметры в предварительном запросе" , то оплата проходит, деньги поступают на кошелек вебмоней, перебрасывает на страницу успешной оплаты НО баланс на самом сайте не пополняется.
_________________________________
При проверке Result URL в мерчанте Webmoney , ответ от сайта приходит такой - "Result URL доступен. Возвращает код 200(SUCCESS) и текст: <html><head><title>?????????..."
Столкнулся с проблемой пополнения баланса на тестируемом Сайте Активной Рекламы.
При пополнении перебрасывает на мерчант Webmoney для подтверждения операции, после ввода данных приходит ответ от сайта
________________________________
Если в настройках мерчанта убрать галочку с "Передавать параметры в предварительном запросе" , то оплата проходит, деньги поступают на кошелек вебмоней, перебрасывает на страницу успешной оплаты НО баланс на самом сайте не пополняется.
_________________________________
При проверке Result URL в мерчанте Webmoney , ответ от сайта приходит такой - "Result URL доступен. Возвращает код 200(SUCCESS) и текст: <html><head><title>?????????..."
Код:
Код мерчант вебмоней на сайте
<?php
header("Content-type: text/html; charset=windows-1251");
require("".$_SERVER['DOCUMENT_ROOT']."/config.php");
require("".$_SERVER['DOCUMENT_ROOT']."/merchant/func_mysql.php");
$sql_p = mysql_query("SELECT `sitewmr` FROM `tb_site` WHERE `id`='1'");
$site_wmr = mysql_result($sql_p,0,0);
$secret_key = "E56A6561-2963-4AC1-8E10-5F1D63EF265C";
$merch_amount = (isset($_REQUEST["LMI_PAYMENT_AMOUNT"])) ? floatval(trim($_REQUEST["LMI_PAYMENT_AMOUNT"])) : false;
$merch_admin_wmr = (isset($_REQUEST["LMI_PAYEE_PURSE"])) ? trim($_REQUEST["LMI_PAYEE_PURSE"]) : false;
$merch_user_wmr = (isset($_REQUEST["LMI_PAYER_PURSE"])) ? trim($_REQUEST["LMI_PAYER_PURSE"]) : false;
$merch_user_wmid = (isset($_REQUEST["LMI_PAYER_WM"]) && preg_match("|^[\d]{12}$|", trim($_REQUEST["LMI_PAYER_WM"]))) ? trim($_REQUEST["LMI_PAYER_WM"]) : false;
$LMI_PREREQUEST = (isset($_REQUEST["LMI_PREREQUEST"])) ? intval(trim($_REQUEST["LMI_PREREQUEST"])) : false;
$merch_tran_id = (isset($_REQUEST["LMI_PAYMENT_NO"])) ? intval(trim($_REQUEST["LMI_PAYMENT_NO"])) : false;
$shp_item = ( isset($_REQUEST["shp_item"]) && preg_match("|^[\d]{1,11}$|", htmlspecialchars(trim($_REQUEST["shp_item"]))) ) ? intval(htmlspecialchars(trim($_REQUEST["shp_item"]))) : false;
$TABLE_ARR = array(
1 => "tb_add_pay",
2 => "tb_ads",
3 => "tb_ads_psevdo",
4 => "tb_ads_bs",
5 => "tb_ads_auto",
6 => "tb_ads_slink",
7 => "tb_ads_kontext",
8 => "tb_ads_banner",
9 => "tb_ads_txt",
10 => "tb_ads_frm",
11 => "tb_ads_mails",
12 => "tb_ads_rc",
13 => "tb_ads_downloads",
14 => "tb_ads_questions",
15 => "tb_ads_emails",
16 => "tb_ads_packet",
20 => "tb_ads_beg_stroka"
);
$STAT_PAY_ARR = array(
1 => "money_in",
2 => "dlink",
3 => "psevdo",
4 => "bserf",
5 => "autoserf",
6 => "statlink",
7 => "kontext",
8 => "banners",
9 => "txtob",
10 => "frmlink",
11 => "mails",
12 => "rekcep",
13 => "files",
14 => "quest",
15 => "sent_mails",
16 => "packet",
20 => "bstroka"
);
if($LMI_PREREQUEST==1 && $shp_item!=false && array_key_exists($shp_item, $TABLE_ARR)) {
$sql = mysql_query("SELECT `money` FROM `".$TABLE_ARR[$shp_item]."` WHERE `status`='0' AND `merch_tran_id`='$merch_tran_id' ORDER BY `id` DESC LIMIT 1");
if(mysql_num_rows($sql)) {
$row = mysql_fetch_array($sql);
if(floatval($row["money"])!=floatval($merch_amount)) {
exit("������: �������� ����� $merch_amount");
}elseif($merch_admin_wmr!=$site_wmr) {
exit("������: �������� ������� ���������� $merch_admin_wmr");
}else{
exit("YES");
}
}else{
exit("������: ������ �$merch_tran_id �� ������� � �������, ���������� �������� ������� �����!");
}
}elseif($LMI_PREREQUEST==false && $shp_item!=false && array_key_exists($shp_item, $TABLE_ARR)) {
$common_string = trim($_POST["LMI_PAYEE_PURSE"].$_POST["LMI_PAYMENT_AMOUNT"].$_POST["LMI_PAYMENT_NO"].$_POST["LMI_MODE"].$_POST["LMI_SYS_INVS_NO"].$_POST["LMI_SYS_TRANS_NO"].$_POST["LMI_SYS_TRANS_DATE"].$secret_key.$_POST["LMI_PAYER_PURSE"].$_POST["LMI_PAYER_WM"]);
$SITE_HASH = strtoupper(hash('sha256', $common_string));
//$SITE_HASH = strtoupper(hash('md5', $common_string));//
$LMI_HASH = strtoupper($_POST["LMI_HASH"]);
if($SITE_HASH!=$LMI_HASH) {
exit("ERROR");
}else{
$sql = mysql_query("SELECT `id`,`username`,`money` FROM `".$TABLE_ARR[$shp_item]."` WHERE `status`='0' AND `merch_tran_id`='$merch_tran_id' LIMIT 1");
if(mysql_num_rows($sql)) {
$row = mysql_fetch_array($sql);
$username = $row["username"];
if($shp_item==3 | $shp_item==6 | $shp_item==8 | $shp_item==9 | $shp_item==10) {
$DATE_END = ", `date_end`=`plan`*'".(24*60*60)."'+'".time()."'";
}else{
$DATE_END = false;
}
if(floatval($row["money"])!=floatval($merch_amount)) {
exit("ERROR");
}elseif($shp_item==1) {
if($username!=false) {
$b=mysql_fetch_array(mysql_query("Select price from tb_config WHERE item='bon_popoln'"));
$merch_amount1=$merch_amount+$merch_amount*$b[0]*0.01;
mysql_query("UPDATE `tb_users` SET `money_rb`=`money_rb`+'$merch_amount1', `money_in`=`money_in`+'$merch_amount1' WHERE `username`='$username'") or die(mysql_error());
mysql_query("UPDATE `tb_add_pay` SET `status`='1', `wmid`='$merch_user_wmid', `date`='".time()."' WHERE `merch_tran_id`='$merch_tran_id'") or die(mysql_error());
mysql_query("INSERT INTO `tb_history` (`user`, `amount`, `date`, `method`, `status`, `tipo`) VALUES('$username', '$merch_amount1', '".DATE("d.m.Y�. H:i")."', '���������� ���������� ������� ����� WebMoney','���������', 'popoln')") or die(mysql_error());
stat_pay($STAT_PAY_ARR[$shp_item], $merch_amount1);
}
}elseif($shp_item==16) {
mysql_query("UPDATE `".$TABLE_ARR[$shp_item]."` SET `status`='1', `wmid`='$merch_user_wmid', `date`='".time()."' WHERE `status`='0' AND `merch_tran_id`='$merch_tran_id' ORDER BY `id` DESC LIMIT 1") or die(mysql_error());
ads_wmid($merch_user_wmid, $merch_user_wmr, $username, $merch_amount);
stat_pay($STAT_PAY_ARR[$shp_item], $merch_amount);
konkurs_ads_new($merch_user_wmid, $username, $merch_amount);
ads_date();
require_once("".$_SERVER['DOCUMENT_ROOT']."/merchant/add_adv_packet.php");
require_once("".$_SERVER['DOCUMENT_ROOT']."/merchant/func_cache.php");
cache_stat_links();
cache_frm_links();
cache_txt_links();
cache_banners();
}else{
mysql_query("UPDATE `".$TABLE_ARR[$shp_item]."` SET `status`='1', `wmid`='$merch_user_wmid', `date`='".time()."' $DATE_END WHERE `status`='0' AND `merch_tran_id`='$merch_tran_id' ORDER BY `id` DESC LIMIT 1") or die(mysql_error());
ads_wmid($merch_user_wmid, $merch_user_wmr, $username, $merch_amount);
stat_pay($STAT_PAY_ARR[$shp_item], $merch_amount);
konkurs_ads_new($merch_user_wmid, $username, $merch_amount);
if($shp_item==2) ads_date();
if($shp_item==6 | $shp_item==7 | $shp_item==8 | $shp_item==9 | $shp_item==10 | $shp_item==12 | $shp_item==20) {
require_once($_SERVER['DOCUMENT_ROOT']."/merchant/func_cache.php");
cache_stat_links();
cache_kontext();
cache_frm_links();
cache_txt_links();
cache_rek_cep();
cache_banners();
cache_beg_stroka();
}
}
}
}
}else{
exit("ERROR!");
}
?>
1. Кодировка файлаkombatik написал(а):Ребята всем привет! Помогите люди добрые(
Столкнулся с проблемой пополнения баланса на тестируемом Сайте Активной Рекламы.
При пополнении перебрасывает на мерчант Webmoney для подтверждения операции, после ввода данных приходит ответ от сайта
________________________________
Если в настройках мерчанта убрать галочку с "Передавать параметры в предварительном запросе" , то оплата проходит, деньги поступают на кошелек вебмоней, перебрасывает на страницу успешной оплаты НО баланс на самом сайте не пополняется.
_________________________________
При проверке Result URL в мерчанте Webmoney , ответ от сайта приходит такой - "Result URL доступен. Возвращает код 200(SUCCESS) и текст: <html><head><title>?????????..."
Код:Код мерчант вебмоней на сайте <?php header("Content-type: text/html; charset=windows-1251"); require("".$_SERVER['DOCUMENT_ROOT']."/config.php"); require("".$_SERVER['DOCUMENT_ROOT']."/merchant/func_mysql.php"); $sql_p = mysql_query("SELECT `sitewmr` FROM `tb_site` WHERE `id`='1'"); $site_wmr = mysql_result($sql_p,0,0); $secret_key = "E56A6561-2963-4AC1-8E10-5F1D63EF265C"; $merch_amount = (isset($_REQUEST["LMI_PAYMENT_AMOUNT"])) ? floatval(trim($_REQUEST["LMI_PAYMENT_AMOUNT"])) : false; $merch_admin_wmr = (isset($_REQUEST["LMI_PAYEE_PURSE"])) ? trim($_REQUEST["LMI_PAYEE_PURSE"]) : false; $merch_user_wmr = (isset($_REQUEST["LMI_PAYER_PURSE"])) ? trim($_REQUEST["LMI_PAYER_PURSE"]) : false; $merch_user_wmid = (isset($_REQUEST["LMI_PAYER_WM"]) && preg_match("|^[\d]{12}$|", trim($_REQUEST["LMI_PAYER_WM"]))) ? trim($_REQUEST["LMI_PAYER_WM"]) : false; $LMI_PREREQUEST = (isset($_REQUEST["LMI_PREREQUEST"])) ? intval(trim($_REQUEST["LMI_PREREQUEST"])) : false; $merch_tran_id = (isset($_REQUEST["LMI_PAYMENT_NO"])) ? intval(trim($_REQUEST["LMI_PAYMENT_NO"])) : false; $shp_item = ( isset($_REQUEST["shp_item"]) && preg_match("|^[\d]{1,11}$|", htmlspecialchars(trim($_REQUEST["shp_item"]))) ) ? intval(htmlspecialchars(trim($_REQUEST["shp_item"]))) : false; $TABLE_ARR = array( 1 => "tb_add_pay", 2 => "tb_ads", 3 => "tb_ads_psevdo", 4 => "tb_ads_bs", 5 => "tb_ads_auto", 6 => "tb_ads_slink", 7 => "tb_ads_kontext", 8 => "tb_ads_banner", 9 => "tb_ads_txt", 10 => "tb_ads_frm", 11 => "tb_ads_mails", 12 => "tb_ads_rc", 13 => "tb_ads_downloads", 14 => "tb_ads_questions", 15 => "tb_ads_emails", 16 => "tb_ads_packet", 20 => "tb_ads_beg_stroka" ); $STAT_PAY_ARR = array( 1 => "money_in", 2 => "dlink", 3 => "psevdo", 4 => "bserf", 5 => "autoserf", 6 => "statlink", 7 => "kontext", 8 => "banners", 9 => "txtob", 10 => "frmlink", 11 => "mails", 12 => "rekcep", 13 => "files", 14 => "quest", 15 => "sent_mails", 16 => "packet", 20 => "bstroka" ); if($LMI_PREREQUEST==1 && $shp_item!=false && array_key_exists($shp_item, $TABLE_ARR)) { $sql = mysql_query("SELECT `money` FROM `".$TABLE_ARR[$shp_item]."` WHERE `status`='0' AND `merch_tran_id`='$merch_tran_id' ORDER BY `id` DESC LIMIT 1"); if(mysql_num_rows($sql)) { $row = mysql_fetch_array($sql); if(floatval($row["money"])!=floatval($merch_amount)) { exit("������: �������� ����� $merch_amount"); }elseif($merch_admin_wmr!=$site_wmr) { exit("������: �������� ������� ���������� $merch_admin_wmr"); }else{ exit("YES"); } }else{ exit("������: ������ �$merch_tran_id �� ������� � �������, ���������� �������� ������� �����!"); } }elseif($LMI_PREREQUEST==false && $shp_item!=false && array_key_exists($shp_item, $TABLE_ARR)) { $common_string = trim($_POST["LMI_PAYEE_PURSE"].$_POST["LMI_PAYMENT_AMOUNT"].$_POST["LMI_PAYMENT_NO"].$_POST["LMI_MODE"].$_POST["LMI_SYS_INVS_NO"].$_POST["LMI_SYS_TRANS_NO"].$_POST["LMI_SYS_TRANS_DATE"].$secret_key.$_POST["LMI_PAYER_PURSE"].$_POST["LMI_PAYER_WM"]); $SITE_HASH = strtoupper(hash('sha256', $common_string)); //$SITE_HASH = strtoupper(hash('md5', $common_string));// $LMI_HASH = strtoupper($_POST["LMI_HASH"]); if($SITE_HASH!=$LMI_HASH) { exit("ERROR"); }else{ $sql = mysql_query("SELECT `id`,`username`,`money` FROM `".$TABLE_ARR[$shp_item]."` WHERE `status`='0' AND `merch_tran_id`='$merch_tran_id' LIMIT 1"); if(mysql_num_rows($sql)) { $row = mysql_fetch_array($sql); $username = $row["username"]; if($shp_item==3 | $shp_item==6 | $shp_item==8 | $shp_item==9 | $shp_item==10) { $DATE_END = ", `date_end`=`plan`*'".(24*60*60)."'+'".time()."'"; }else{ $DATE_END = false; } if(floatval($row["money"])!=floatval($merch_amount)) { exit("ERROR"); }elseif($shp_item==1) { if($username!=false) { $b=mysql_fetch_array(mysql_query("Select price from tb_config WHERE item='bon_popoln'")); $merch_amount1=$merch_amount+$merch_amount*$b[0]*0.01; mysql_query("UPDATE `tb_users` SET `money_rb`=`money_rb`+'$merch_amount1', `money_in`=`money_in`+'$merch_amount1' WHERE `username`='$username'") or die(mysql_error()); mysql_query("UPDATE `tb_add_pay` SET `status`='1', `wmid`='$merch_user_wmid', `date`='".time()."' WHERE `merch_tran_id`='$merch_tran_id'") or die(mysql_error()); mysql_query("INSERT INTO `tb_history` (`user`, `amount`, `date`, `method`, `status`, `tipo`) VALUES('$username', '$merch_amount1', '".DATE("d.m.Y�. H:i")."', '���������� ���������� ������� ����� WebMoney','���������', 'popoln')") or die(mysql_error()); stat_pay($STAT_PAY_ARR[$shp_item], $merch_amount1); } }elseif($shp_item==16) { mysql_query("UPDATE `".$TABLE_ARR[$shp_item]."` SET `status`='1', `wmid`='$merch_user_wmid', `date`='".time()."' WHERE `status`='0' AND `merch_tran_id`='$merch_tran_id' ORDER BY `id` DESC LIMIT 1") or die(mysql_error()); ads_wmid($merch_user_wmid, $merch_user_wmr, $username, $merch_amount); stat_pay($STAT_PAY_ARR[$shp_item], $merch_amount); konkurs_ads_new($merch_user_wmid, $username, $merch_amount); ads_date(); require_once("".$_SERVER['DOCUMENT_ROOT']."/merchant/add_adv_packet.php"); require_once("".$_SERVER['DOCUMENT_ROOT']."/merchant/func_cache.php"); cache_stat_links(); cache_frm_links(); cache_txt_links(); cache_banners(); }else{ mysql_query("UPDATE `".$TABLE_ARR[$shp_item]."` SET `status`='1', `wmid`='$merch_user_wmid', `date`='".time()."' $DATE_END WHERE `status`='0' AND `merch_tran_id`='$merch_tran_id' ORDER BY `id` DESC LIMIT 1") or die(mysql_error()); ads_wmid($merch_user_wmid, $merch_user_wmr, $username, $merch_amount); stat_pay($STAT_PAY_ARR[$shp_item], $merch_amount); konkurs_ads_new($merch_user_wmid, $username, $merch_amount); if($shp_item==2) ads_date(); if($shp_item==6 | $shp_item==7 | $shp_item==8 | $shp_item==9 | $shp_item==10 | $shp_item==12 | $shp_item==20) { require_once($_SERVER['DOCUMENT_ROOT']."/merchant/func_cache.php"); cache_stat_links(); cache_kontext(); cache_frm_links(); cache_txt_links(); cache_rek_cep(); cache_banners(); cache_beg_stroka(); } } } } }else{ exit("ERROR!"); } ?>
2. В запросе нет shp_item
3. В $TABLE_ARR нет $shp_item