Работа с Payments API.(as3,php)

Только готовые уроки по использованию ВКонтакте API. Flash + PHP + API. НЕ IFrame!

Re: Работа с Payments API.(as3,php)

Сообщение 112 » 21 ноя 2012, 20:53

XELAD писал(а):Представим ситуацию, что это всё связано с БД, в №1 будут вноситься заказы, в №2 (там, где сохранение игроков) будут изменено кол-во монет на счету.
Как я понимаю:
1) Новую запись в БД №1 нужно создавать при case 'get_item'
- Внести user_id, item, order_id, а также app_order_id в виде счетчика. ПЛЮС одна графа, где мы укажем, сколько уведомлений пришло от ВК (подробности ниже), сейчас укажем ноль.
2) При case 'order_status_change' найти в БД №1 строку с теми же user_id, item, order_id....
Вспоминаем, что ВК может несколько раз отправлять уведомления типа Изменения статуса заказа с тем же order_id, смотрим на счетчик в той самой графе. И только если он равен нулю, прибавляем монеток в БД №2! И увеличиваем счетчик в той графе.
Всё это сделано, чтобы при каждом таком уведомлении от ВК, монеты не прибавлялись.
А если мы не находим такую запись в БД №1, то выдаем критическую ошибку.
3) В самом flash получаем событие onOrderSuccess, и загружаем данные пользователя из БД №2 для получения актуальной информации.

Поправьте меня, если я не прав, и если всё намного проще :)


Да вроде бы так :)
Если проще делать,то я бы у себя убрал 3 пункт,ведь допустим при самом загрузке приложения у юзера была 100 монет ,и приложение эти данные при загрузке получило,юзер решил нажать на кнопку купить 50 монет.На сервере вы в бд добавите +50 монет.После того ,как сработает onOrderSuccess вы можете изменить значения монет в самом приложении(в смысле в самом клиенте) (добавить 50),без лишнего запроса к серверу ,ведь вы и так знаете сколько монет купил юзер,тем более если вдруг даже onOrderSuccess сработает несколько раз,то значение измениться в самом клиенте ,а не на сервере и юзер ничего не сможет сделать с теми монетами,которые ему вдруг зачислились в самом клиенте (ну если у вас конечно ,все покупки выполняются через сервер ,а не в самом клиенте) :)
Ну вы меня поняли :D
Если ты дебил ,оставайся им!
Я бы изменил мир,но Бог не дает исходники!
Изображение

За это сообщение автора 112 поблагодарил:
XELAD
Аватара пользователя
112
Модератор
Модератор
 
Автор темы
Сообщения: 2215
Зарегистрирован: 02 фев 2010, 21:53
Благодарил (а): 51 раз.
Поблагодарили: 80 раз.

Чтобы убрать блок с рекламой, зарегистрируйтесь на форуме или войдите.

Google
 



Re: Работа с Payments API.(as3,php)

Сообщение agni » 23 ноя 2012, 21:38

не пойму, почему не работает
при запуске приложения выдает надпись: "....то тестовое приложение в котором показан пример работы с payments Api"
но
при нажатии на кнопку выдает контактовское окно: "Ожидание информации о товаре.."
потом, почти сразу: другое контактовское окно: "Ошибка
Ваш запрос не был обработан. Попробуйте повторить его позднее."
и всё
судя по Charles с адреса обратного вызова, который указан, на приложение ответ не приходит,
но в Логе платежных уведомлений присутствует запись {"response":{"item_id":1, "title":null, "photo_url":"", "price":1}}
подскажите, где ошибка порылась
почему ответ не принимает?
скайп: consacrer
agni

 
Сообщения: 100
Зарегистрирован: 07 июн 2010, 11:04
Благодарил (а): 12 раз.
Поблагодарили: 0 раз.

Re: Работа с Payments API.(as3,php)

Сообщение agni » 24 ноя 2012, 10:33

всё работает, если в файле пхп кириллицу заменить на латиницу
видимо, проблема на серверной стороне
скайп: consacrer
agni

 
Сообщения: 100
Зарегистрирован: 07 июн 2010, 11:04
Благодарил (а): 12 раз.
Поблагодарили: 0 раз.

Re: Работа с Payments API.(as3,php)

Сообщение Serge » 24 ноя 2012, 14:00

agni писал(а):всё работает, если в файле пхп кириллицу заменить на латиницу
видимо, проблема на серверной стороне

Видимо, файлы надо в UTF-8 сохранить
http://sevenlines.com.ua - разработка и продвижение сайтов
Serge
WEB Team
WEB Team
 
Сообщения: 520
Зарегистрирован: 04 мар 2011, 21:55
Благодарил (а): 2 раз.
Поблагодарили: 65 раз.

Re: Работа с Payments API.(as3,php)

Сообщение agni » 24 ноя 2012, 14:56

да, так и сделал, спасибо
скайп: consacrer
agni

 
Сообщения: 100
Зарегистрирован: 07 июн 2010, 11:04
Благодарил (а): 12 раз.
Поблагодарили: 0 раз.

Re: Работа с Payments API.(as3,php)

Сообщение Abarmotina » 02 янв 2013, 14:26

Спасибо!Дошло дело до Payments API,заглянул в официальную документацию,и некоторые вещи были не понятны...Ну как всегда обратился к flapps.ru,и нашёл этот топик.В нём вполне внятно описано,спасибо! :)
Пока они пили водку и катались на скейтах, мы строили бизнес и делали деньги!
Аватара пользователя
Abarmotina

 
Сообщения: 469
Зарегистрирован: 21 апр 2012, 19:34
Благодарил (а): 16 раз.
Поблагодарили: 19 раз.

Re: Работа с Payments API.(as3,php)

Сообщение add0295 » 05 янв 2013, 02:23

Почему у меня вот такая ошибка:

ReferenceError: Error #1069: Не удалось найти свойство error_msg в vk.events.CustomEvent; отсутствует значение по умолчанию.
at payment_fla::MainTimeline/onError()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at vk::APIConnection/customEvent()

И окошко выдает:

Ваш запрос не был обработан. Попробуйте повторить его позднее.

З.Ы. Пока что тестирую на исходниках
add0295

 
Сообщения: 19
Зарегистрирован: 09 авг 2011, 14:46
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Работа с Payments API.(as3,php)

Сообщение add0295 » 05 янв 2013, 02:25

Пересохранял в UTF-8, не помогло.

Лог:

п»ї<br /> <b>Warning</b>: Cannot modify header information - headers already sent by (output started at /home/h36642/data/www/example.ua/pay/payment.php:1) in <b>/home/h36642/data/www/example.ua/pay/payment.php</b> on line <b>2</b><br /> {"response":{"item_id":1, "title":"10 монеток(test mode)", "photo_url":"", "price":1}}
add0295

 
Сообщения: 19
Зарегистрирован: 09 авг 2011, 14:46
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Работа с Payments API.(as3,php)

Сообщение add0295 » 05 янв 2013, 02:45

add0295 писал(а):Пересохранял в UTF-8, не помогло.

Лог:

п»ї<br /> <b>Warning</b>: Cannot modify header information - headers already sent by (output started at /home/h36642/data/www/example.ua/pay/payment.php:1) in <b>/home/h36642/data/www/example.ua/pay/payment.php</b> on line <b>2</b><br /> {"response":{"item_id":1, "title":"10 монеток(test mode)", "photo_url":"", "price":1}}


Во! решил.. Не знаю что изменилось, но когда скопировал именно с вконтакте:
  1. <?php
  2. header("Content-Type: application/json; encoding=utf-8");


тогда заработало)))
add0295

 
Сообщения: 19
Зарегистрирован: 09 авг 2011, 14:46
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Работа с Payments API.(as3,php)

Сообщение add0295 » 05 янв 2013, 16:03

XELAD писал(а):Представим ситуацию, что это всё связано с БД, в №1 будут вноситься заказы, в №2 (там, где сохранение игроков) будут изменено кол-во монет на счету.
Как я понимаю:
1) Новую запись в БД №1 нужно создавать при case 'get_item'
- Внести user_id, item, order_id, а также app_order_id в виде счетчика. ПЛЮС одна графа, где мы укажем, сколько уведомлений пришло от ВК (подробности ниже), сейчас укажем ноль.
2) При case 'order_status_change' найти в БД №1 строку с теми же user_id, item, order_id....
Вспоминаем, что ВК может несколько раз отправлять уведомления типа Изменения статуса заказа с тем же order_id, смотрим на счетчик в той самой графе. И только если он равен нулю, прибавляем монеток в БД №2! И увеличиваем счетчик в той графе.
Всё это сделано, чтобы при каждом таком уведомлении от ВК, монеты не прибавлялись.
А если мы не находим такую запись в БД №1, то выдаем критическую ошибку.
3) В самом flash получаем событие onOrderSuccess, и загружаем данные пользователя из БД №2 для получения актуальной информации.


Хочу сделать как описано сдесь)
Посмотрите правильно ли первый пункт я сделал:
  1. $query = mysql_query('INSERT INTO `'.$table_name.'` (`user_id`, `order_id`, `item`, `app_order_id`, `counter`) VALUES ("'.$in_user_id.'","'.$in_order_id.'","'.$input['item'].'","'.$rndm.'","'.$counter.'");');


А вот со вторым не могу понять:
Объясните пожалуйста с app_order_id и еще, как сделать
найти в БД №1 строку с теми же user_id, item, order_id


Да, а счетчик это app_order_id или то самое дополнительное поле?
И напишите пожалуйста, зачем они... никак не могу понять :oops:
add0295

 
Сообщения: 19
Зарегистрирован: 09 авг 2011, 14:46
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Пред.След.

Вернуться в Уроки по использованию ВКонтакте API



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

cron