FB.ui付款方法出现“发生错误,请稍后再试”

时间:2012-01-23 12:49:39

标签: facebook payment facebook-credits fb.ui

人, 我们正在开发一款将通过FB Credits交易接收付款的游戏,一旦显示带有'pay'方法的FB.ui,我们遇到的问题是“发生错误”消息。我试图调试整个事情,但它已经花了很长时间才找出可能导致这种情况的原因。我真的非常渴望解决这个问题!请帮忙!

我创建了一个测试FB应用,其中绝对删除了所有内容,但是为了启动付款,还剩下最必要的内容。你可以在这里访问它:

http://apps.facebook.com/paymentproblemapp

这里也是我的一些FB JS API初始化代码,您也可以在应用程序中找到名为 fbapps-testapp-facebook-1.0.js 的脚本:

初始化功能

init : function() {

  window.fbAsyncInit = function() {
    FB.init({
      appId : window.APP_ID,
      status : true,
      cookie : true,
      oauth : true,
      channelUrl : window.MASTER_URL + "channel",
      frictionlessRequests : true
    });
  };

  (function(d){
    var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
    js = d.createElement('script'); js.id = id; js.async = true;
    js.src = "//connect.facebook.net/en_US/all.js";
    d.getElementsByTagName('head')[0].appendChild(js);
  }(document));

},

和付款功能

// order_info to be constructed in swf
placeOrder : function(order_info, swfOrderCallback) {
  var onOrderPlaced = function(data) {
    if (swfOrderCallback) {
      // further actions within the swf due to payment

      if (data['order_id']) {
        // TODO successful payment
        return true;
      } else {
        // handle errors here
        return false;
      }
    }
  };

  // calling the payment dialog
  try {
    FB.ui({
      method : 'pay',
      order_info : order_info,
      purchase_type : 'item',
      dev_purchase_params : {
        'oscif' : false
      }
    }, onOrderPlaced);
  } catch (err) {
    // TODO handle payment error
  }
}

任何帮助将不胜感激!谢谢!

1 个答案:

答案 0 :(得分:0)

确保在FB.init()之后调用placeOrder()。