【问题标题】:Pay Dialog not Appearing付款对话框未出现
【发布时间】:2013-04-10 14:01:42
【问题描述】:

我正在尝试启动支付对话框,以便在我们的应用中购买游戏币。但是,无论我尝试什么,对话框都不会出现,也没有错误消息或任何东西。

我将列出我试图根除问题的所有事情的列表。

  1. 如果我从我们的网页运行应用程序,会出现一个弹出窗口,其中包含 API 错误代码:1151。如果在 Facebook 中运行,则不会出现此弹出窗口,什么也不会出现。

  2. 付款回调 URL 已设置,服务器端代码也已设置。这已经过手动测试,但我们的日志显示没有来自 facebook 本身的调用。

  3. 我尝试在 Actionscript 中从我们的应用程序中启动它,并调用 JavaScript 函数,两者的行为相同。

  4. 我也试过 buy_credits 来排除回调(因为这显然不需要回调函数),这也有同样的问题。

  5. 我刚刚成功地通过设置直接 URL 调用并将其粘贴到浏览器中来成功调用它,以便验证服务器端代码是否正常工作。

在这个阶段,我想知道这是否是对话框显示模式的问题。上周我设置了应用请求,但无法让请求对话框显示在 iframe 中。它目前仅用作弹出窗口。这是完全相同的问题,没有错误消息,只是什么都不会发生。由于支付对话框使用页面显示模式,可能与 iframe 显示模式有问题。但是我找不到其他人遇到这个问题。

我不再认为这是代码问题,因为我已经尝试了大量示例,而且它们的行为都相同,包括直接取自 Facebook 开发人员页面的代码,以及 Stack Overflow 中的其他用户。我会在这里发布以防万一,但我确定它必须是 facebook 上的应用设置或 index.html 中的某种设置。

作为:

   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']) {
    }
};

任何帮助将不胜感激。

【问题讨论】:

    标签: facebook sdk dialog payment


    【解决方案1】:

    我设法解决了这个问题。万一有人想知道,我正在使用 embedSWF 将我们游戏的 flash 对象嵌入到网页中,将其更改为添加一个 Object 标签解决了这个问题。我目前不知道为什么嵌入它会导致对话框不出现,但我会在找到后再次在这里发布。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-30
      • 1970-01-01
      • 2020-01-03
      • 1970-01-01
      • 1970-01-01
      • 2018-06-30
      相关资源
      最近更新 更多