Переписываем скрипт оплаты от WebMoney на Интеркассу

AlexBraun

Новичок
Доброго времени суток.

Изучили документацию по веб-мани и интеркассе. Переписали код. Но после оплаты Status URL интеркассы не работает. Не передаёт данные в наш базу.
Может кто сталкивался с данной задачей. Будем очень благодарны за помощь в данном вопросе.

Код от вебмани:
wm.php
PHP:
<?
$username = $_POST['USER_NAME'];
include ("wm_setup.php");
include("../../dbase.php");
/////////////////////////////////
$deposit = $_POST['LMI_PAYMENT_AMOUNT'].".00";
$char = substr($_POST['LMI_PAYER_PURSE'],0,1);
$result = $_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'].$seckey.$_POST['LMI_PAYER_PURSE'].$_POST['LMI_PAYER_WM'];
$md5res = strtoupper(md5($result));
/////////////////////////////
if ($_POST['LMI_HASH'] == $md5res) {	
	mysql_query("update chatusers set money=money+'$deposit.00' where user='$username'");
	mysql_query("INSERT INTO payments (ammount, details) VALUES ('".$deposit."', '$username')");
} 
?>
wm_setup.php
PHP:
<?  
    include("../../dbase.php");
    $sqlz="select purse,secretkey from paymentgate where code='1'";
    $resz=mysql_query($sqlz);
    $rowz=mysql_fetch_array($resz);
    $u_wmz=$rowz['purse'];
    $seckey=$rowz['secretkey'];

?>
И изменные под интеркассу:

ik.php
PHP:
<?
$username = $_POST['USER_NAME'];
include ("ik_setup.php");
include("../../dbase.php");
/////////////////////////////////
$deposit = $_POST['ik_payment_amount'].".00";
$char = substr($_POST['ik_shop_id'],0,1);
$result = $_POST['ik_shop_id'].$_POST['ik_payment_amount'].$_POST['ik_payment_id'].$_POST['ik_paysystem_alias'].$_POST['ik_payment_desc'];
$md5res = strtoupper(md5($result));
/////////////////////////////
if ($_POST['sign_hash'] == $md5res) {	
	mysql_query("update chatusers set money=money+'$deposit.00' where user='$username'");
	mysql_query("INSERT INTO payments (ammount, details) VALUES ('".$deposit."', '$username')");
} 
?>
ik_setup.php
PHP:
<?  
    include("../../dbase.php");
    $sqlz="select purse,secretkey from paymentgate where code='1'";
    $resz=mysql_query($sqlz);
    $rowz=mysql_fetch_array($resz);
    $u_wmz=$rowz['purse'];
    $seckey="Y353ееуу3533535";

?>
 

zerkms

TDD infected
Команда форума
Работа программиста заключается не в "взяли похожий код, попытались бездумно переписать, пошли побираться по форумам".
Работа программиста - писать свой код. Удалите всю лапшу, что у вас уже есть и напишите с чистого листа рабочий код.

Сразу вам даже могу показать почему бездумно:

$deposit = $_POST['ik_payment_amount'].".00";
...money=money+'$deposit.00'...

смысла в этих строках много, ага.

По сабжу:

phpfaq.ru/debug
mysql_error

По поводу безопасности:

передали в ik_payment_amount

PHP:
0' + 99999 /*
и уииииии
 

AlexBraun

Новичок
ik_payment_amount формируется из другой формы.
т.е. есть html страница в которй вбивают сумму и жмут оплатить - далее идёт перенаправление на сайт интеркассы где выбирает как и чем будут платить - далее после оплаты интеркасса передаёт эти данные на ik.php который в свою чоередь добавляет в базу оплаченную сумму.

P.S. С нуля такое написать не смогу. Плохие познания в этой области.
 

AlexBraun

Новичок
ап. дописали код:

PHP:
<?
$username = $_POST['USER_NAME'];
include ("ik_setup.php");
include("../../dbase.php");

$deposit = $_POST['ik_payment_amount'].".00";
$char = substr($_POST['ik_paysystem_alias'],0,1);
$sing_hash_str = $ik_shop_id.':'.$ik_payment_amount.':'.$ik_payment_id.':'.$ik_paysystem_alias.':'.$ik_baggage_fields.':'.$ik_payment_state.':'.$ik_trans_id.':'.$ik_currency_exch.':'.$ik_fees_payer.':'.$ik_key;
$sign_hash = strtoupper(md5($sing_hash_str));

if ($_POST['ik_sign_hash'] == $sign_hash) {	
	mysql_query("update chatusers set money=money+'$deposit.00' where user='$username'");
	mysql_query("INSERT INTO payments (ammount, details) VALUES ('".$deposit."', '$username')");
} 
?>
PHP:
<?  
    include("../../dbase.php");
    $sqlz="select purse,secretkey from paymentgate where code='1'";
    $resz=mysql_query($sqlz);
    $rowz=mysql_fetch_array($resz);
    $u_wmz=$rowz['purse'];
    $ik_key="TIQv3535353q";

?>
Правильная работоспособность под вопросом. Никто не работал с интеркассой?
 

iceman

говнокодер
ты будешь первый! изучи! напиши, потом нам расскажешь )
 
Сверху