Страница 1 из 2

Как вывести людей которые сделали платеж.

Добавлено: 15 янв 2011, 12:43
Deniska
Собственно вопрос в теме. Я так понял нужно того кто сделал пожертву занести в базу , но каК?

Re: Как вывести людей которые сделали платеж.

Добавлено: 15 янв 2011, 15:31
psix55
С помощью метода secure.withdrawVotes списываешь голоса со счета пользователя на счет приложения...
Если всё пройдет успешно, контакт тебе ответит примерно такое :
<?xml version="1.0" encoding="utf-8"?>
<response>
<transferred>350</transferred>
</response>
Ты должен вынуть "transferred", а потом я думаю всё понятно...

Код: Выделить всё

if($transferred >> 100){      //занести пользователя в БД (Это я думаю ты умеешь делать)}

Re: Как вывести людей которые сделали платеж.

Добавлено: 15 янв 2011, 15:52
Александр
Если каких-то других платежей в приложении нет, то можно использовать метод secure.getTransactionsHistory.

Re: Как вывести людей которые сделали платеж.

Добавлено: 15 янв 2011, 21:43
Deniska
Для secure.getTransactionsHistory требуется специальный серверный класс да? Где бы его найти?

Re: Как вывести людей которые сделали платеж.

Добавлено: 15 янв 2011, 22:16
psix55

Re: Как вывести людей которые сделали платеж.

Добавлено: 16 янв 2011, 14:05
Deniska
Оно. Ели нашел почему на сигнатуру ругалось. Разобрался.

Но теперь выводит информацию в таком виде: Array ( [response] => Array ( [0] => Array ( [id] => 137044564 [uid_from] => 9944676 [votes] => 100 [date] => 1295173102 ) ) )

Как отсюда выделить только нужную мне информацию? ( uid_from и votes)

Re: Как вывести людей которые сделали платеж.

Добавлено: 16 янв 2011, 15:45
Doker
Я записываю каждую транзакция в базу данных.
Все очень хорошо и удобно.

Тоесть при нажатии кнопки "перевести голоса на счет приложения" записывает айди транзакции,айди юзера, время, успешность (если голосов небыло на счету то транзакция отклонена и ставится 0, если были и снялись то 1), кол-во голосов

если надо - могу скинуть скрипт

Re: Как вывести людей которые сделали платеж.

Добавлено: 16 янв 2011, 15:48
Deniska
Буду благодарен если можно.
НО все таки интересно как вывести нужную информацию.

Re: Как вывести людей которые сделали платеж.

Добавлено: 16 янв 2011, 16:51
Doker

Код: Выделить всё

 CREATE TABLE IF NOT EXISTS `logs_add_mattery` (  `id` INT(11) NOT NULL AUTO_INCREMENT,  `username` TEXT NOT NULL,  `mattery` TEXT NOT NULL,  `DATE` TEXT NOT NULL,  `ok` TEXT NOT NULL,  `votes` TEXT NOT NULL,  PRIMARY KEY (`id`)) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; 

Код: Выделить всё

<?phprequire('VkApi.class.php');  $db_host="localhost";       $db_user="sdfsdfsd";      $db_password="sdfsdfsdfs";      $db_name = "sdfsdfsd";$table_name = "sdfsdfsdf";     mysql_connect($db_host, $db_user, $db_password) or die (mysql_error());mysql_select_db($db_name) or die (mysql_error());mysql_query("SET NAMES 'utf8'");   $app_id = 'api id'; $api_secret = 'secret'; $auth_key  = $_POST['auth_key'];  // auth_key из FlashVars приложения$UserID = $_POST['viewer_id']; // id просматривающего приложение$vote = $_POST['vote'];  // Кол-во голосов $real_key = md5($app_id."_".$UserID."_".$api_secret); if ($real_key == $auth_key){ function get_url($query) {$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $query);curl_setopt($ch, CURLOPT_HEADER, 0);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_TIMEOUT, 10);return curl_exec($ch);curl_close($ch);}$api = new VkApiNode($app_id, $api_secret);$query = $api->getBalance($UserID);$user_balance = new SimpleXMLElement(get_url($query)); if($vote>0){$vote2=$vote*100;}if ($user_balance->balance >=$vote2 && $vote>0) {get_url($query = $api->withdrawVotes($UserID, $vote2)); $ok="1";$query3 = 'INSERT INTO logs_add_mattery  (`username`, `mattery`, `date`,`ok`,`votes`) VALUES ("'.$UserID.'","'.$scores.'","'.time().'","'.$ok.'","'.$vote.'")';    $sql3 = @mysql_query($query3); header("Location: index.php");exit();} else{ echo "На вашем счету недостаточно голосов <br />"; echo "На вашем счету: ";echo "not enough votes" + $user_balance->balance;echo " голосов";$vote000=$vote; $ok2="0";$query6 = 'INSERT INTO logs_add_mattery  (`username`, `mattery`, `date`,`ok`,`votes`) VALUES ("'.$UserID.'","'.$scores.'","'.time().'","'.$ok2.'","'.$vote000.'")';    $sql6 = @mysql_query($query6);}}?>

Re: Как вывести людей которые сделали платеж.

Добавлено: 16 янв 2011, 16:53
Deniska
спасибо.