2013-04-10 6 views
0

Я пытаюсь запустить Диалог оплаты, чтобы включить покупку в игровой валюте в нашем приложении. Однако, независимо от того, что я пытаюсь, диалог не появляется, сообщение об ошибке или что-то еще.Диалог оплаты не отображается

Я просто просмотрю список всех вещей, которые я попытался устранить проблему.

  1. Если я запустить приложение с нашего сайта, всплывающее окно появляется с API Код ошибки: 1151. Если запустить в Facebook, это всплывающее окно не появляется, ничего не появляется.

  2. Установлен URL обратного вызова Payments, а также код на стороне сервера. Это было проверено вручную, но в наших журналах нет вызовов из самой facebook.

  3. Я попытался запустить его из нашего приложения в ActionScript, а также вызвать функцию JavaScript, оба ведут себя одинаково.

  4. Я попробовал buy_credits, чтобы попытаться исключить обратный вызов (поскольку это, по-видимому, не требует функции обратного вызова), и это имеет ту же проблему.

  5. Мне только удалось успешно позвонить, установив прямой URL-адрес и вставив его в мой браузер, чтобы проверить, работает ли код на стороне сервера.

На данном этапе мне интересно, если это проблема с режимами отображения Dialog. На прошлой неделе я настроил запросы приложений и не смог открыть диалоговое окно запроса в iframe. В настоящее время он работает только как всплывающее окно. Это была точно такая же проблема, не сообщение об ошибке, просто ничего не произойдет. Поскольку в диалоговом окне оплаты используется режим отображения страницы, возможно, есть проблема с этим и режимом отображения iframe. Однако я не могу найти кого-либо еще с этой проблемой.

Я не верю, что это проблема с кодом, поскольку я пробовал массу примеров, и все они ведут себя одинаково, включая код, взятый прямо со страницы разработчиков Facebook, а также других пользователей в Stack Overflow , Я отправлю его здесь на всякий случай, но я уверен, что это должно быть какая-то настройка либо в настройках приложения на facebook, либо в index.html.

AS:

order_info = 
    { 
     title:'Test Product', 
     description:'Test product description', 
     price:'123' 
    }; 

    Facebook.ui(
     "pay.prompt", 
     {order_info: order_info, purchase_type: "item"}, 
     payCallback); 

JS:

function make_purchase() 
{ 
    var obj = { 
    method: 'pay', 
    action: 'buy_item', 
    order_info: {'item_id': '1a'}, 
    dev_purchase_params: {'oscif': true} 
    }; 

    FB.ui(obj, js_callback); 
} 

var js_callback = function(data) 
{ 
    if (data['order_id']) { 
    } 
}; 

Любая помощь будет высоко ценится.

ответ

1

Мне это удалось. В случае, если кто-то хочет знать, я внедряю Flash-объект нашей игры в веб-страницу с помощью embedSWF, меняя его, поэтому он добавлен с тегом Object, который решил проблему. В настоящее время я не знаю, зачем встраивать его, чтобы диалоги не появлялись, но я буду публиковать здесь снова, когда узнаю.

Смежные вопросы