- Автор темы
- #1
помогите разобраться с интеграцией 2pay (многоцелевая платежная система).
почитал их api для продажи игровой валюты и за исходник взял пример. Скрипт для проверки реквизитов получился такой
этот код для проверки реквизитов у меня работать отказался.
XML выглядит так при запросе
<?xml version="1.0" encoding="windows-1251"?><response><id>0</id><sum></sum><result>2</result><comment>Unknown request or account not found</comment></response>
v1-(в этом параметре передается ник игрока, либо мыло, вообщем что угодно, что идентифицирует вашего юзера, вы уже сами определитесь)
id-(номер платежа)
sum-(сообственно сумма платежа)
desc-(нужен для того чтобы определить в каком блоке скрипта ошибка)
kod-(сообственно из этого значения и формируется desc)
command-(бывает check-проверка существования акка в базе и pay-соотвественно платеж)
$secret_key-ключ генерируемый при подключение услуги для проекта
если кто не знает что такое $_REQUEST (Ассоциативный массив, который по умолчанию содержит данные переменных $_GET, $_POST и $_COOKIE)
соотвественно v1, sum (вы передаете методом POST в скрипт через текстовое поле)
правильный xml
<?xml version="1.0" encoding="windows-1251"?><response><id>0</id><sum></sum><result>0</result><comment></comment></response>
должен выглядить так, т.е. значение $kod должно равняться 0.
ссылка на описание api продажа игровой валюты и там же пример скрипта)
почитал их api для продажи игровой валюты и за исходник взял пример. Скрипт для проверки реквизитов получился такой
PHP:
<?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 = "здесь мой сгенерированный код взятый с 2pay";
// Переменные для подключения к базе данных, впишите те, которые использовали при установке базы данных
$server='localhost';
$user='login';
$pass='pass';
$db='auth';
//===========================================================================================
$flag = $_REQUEST['command'];
$md5 = $_REQUEST['md5'];
// Идентификатор платежа
$v1 = $_REQUEST['v1'];
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 `account` WHERE `username`='".$v1."' ");
$rows = mysql_num_rows($sql);
if ($rows > 0) {
$kod=0;
$desc='Character exists';
} else {
$kod=1;
$desc='Character not found';
}
} 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;
?>
этот код для проверки реквизитов у меня работать отказался.
XML выглядит так при запросе
<?xml version="1.0" encoding="windows-1251"?><response><id>0</id><sum></sum><result>2</result><comment>Unknown request or account not found</comment></response>
v1-(в этом параметре передается ник игрока, либо мыло, вообщем что угодно, что идентифицирует вашего юзера, вы уже сами определитесь)
id-(номер платежа)
sum-(сообственно сумма платежа)
desc-(нужен для того чтобы определить в каком блоке скрипта ошибка)
kod-(сообственно из этого значения и формируется desc)
command-(бывает check-проверка существования акка в базе и pay-соотвественно платеж)
$secret_key-ключ генерируемый при подключение услуги для проекта
если кто не знает что такое $_REQUEST (Ассоциативный массив, который по умолчанию содержит данные переменных $_GET, $_POST и $_COOKIE)
соотвественно v1, sum (вы передаете методом POST в скрипт через текстовое поле)
правильный xml
<?xml version="1.0" encoding="windows-1251"?><response><id>0</id><sum></sum><result>0</result><comment></comment></response>
должен выглядить так, т.е. значение $kod должно равняться 0.
ссылка на описание api продажа игровой валюты и там же пример скрипта)
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.