Только я одного не понял, надо создавать самому таблицы payments и 2pay_payment ?
<?php
header( 'Content-type: text/xml' );
$check_ip[]="82.146.40.60";
$check_ip[]="188.120.245.101";
$check_ip[]="188.120.245.102";
$date=date("d.m.y");
$secret_key = "";
$server='';
$user='';
$pass='';
$db='';
$flag = $_REQUEST['command'];
$md5 = $_REQUEST['md5'];
$v1 = $_REQUEST['v1'];
$v2 = $_REQUEST['v2'];
$v3 = $_REQUEST['v3'];
if( isset($_REQUEST['id']) ) $id=$_REQUEST['id']; else $id=0;
$kod=1;
if (in_array($_SERVER['REMOTE_ADDR'], $check_ip)) {
mysql_connect($server, $user, $pass) or die("Can't connect to database");
mysql_select_db($db) or die("Can't select database ".$db);
if( ($flag == 'status') && ($md5 == md5($flag.$v1.$secret_key)) )
{
$sql = mysql_query("SELECT * FROM `payments` WHERE `order_id`='".$v1."'");
$rows = mysql_num_rows($sql);
$idpay = mysql_fetch_array($sql);
if ($rows > 0) {
$desc = $idpay['amount'];
} else {
$desc = '0';
}
} else
{
if( ($flag == 'pay') && ($md5 == md5($flag.$v1.$id.$secret_key)) )
{
$sql=mysql_query("SELECT * FROM `2pay_payment` WHERE `id`='".$id."'");
$rows = mysql_num_rows($sql);
if ($rows > 0)
{
$kod=0;
$desc='Payment was send earlier';
} else
{
$sql=mysql_query("UPDATE `payment` SET status='done' WHERE `order_id`='".$v1."' AND sum='".$_REQUEST['sum']."'");
$sql2=mysql_query("INSERT INTO `2pay_payment` (`count`,`date`,`id`) VALUES ('".$_REQUEST['sum']."','".$date."','".$id."')");
if( $sql==true && $sql2 == true)
{
$kod=0;
$desc="ok";
} else
{
$kod=2;
$desc="Error during query";
}
}
} else
{
$kod=2;
$desc="Unknown request or account not found";
}
}
} else { $desc="Parametrs or IP is not correct"; }
if ($flag == 'status') {$html="<?xml version=\"1.0\" encoding=\"windows-1251\"?><response><amount>".$desc."</amount></response>"; } else
{$html="<?xml version=\"1.0\" encoding=\"windows-1251\"?><response><id>".$id."</id><sum>".$_REQUEST['sum']."</sum><result>".$kod."</result><comment>".$desc."</comment></response>"; }
echo $html;
?>