Facebook 信用 API 问题

发布于 2024-11-07 04:29:42 字数 2439 浏览 0 评论 0原文

我正在使用 facebook Credits api 并使用其付款方式,以下是我的代码:

 <script type="text/javascript">
 window.fbAsyncInit = function() {
    FB.init({
      'appId'   : '<?php echo $app_id; ?>',
      'session' : <?php echo json_encode($session); ?>, // don't refetch the session when PHP already has it 
      'status'  : true, // check login status
      'cookie'  : true, // enable cookies to allow the server to access the session
      'xfbml'   : true // parse XFBML
    });


    // whenever the user logs in, we refresh the page
    FB.Event.subscribe('auth.login', function() {
      window.location.reload();
    });
    FB.Canvas.setAutoResize();
 };

  (function() {
   FB_RequireFeatures(["CanvasUtil"], function() {
            FB.CanvasClient.scrollTo(0, 0);
            window.FB = null;

            var e = document.createElement('script');
            e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
            e.async = true;
            document.getElementById('fb-root').appendChild(e);
        });
  }());
</script>
    <script type="text/javascript">
        function placeOrder() {

  var order_info = { "title":"Music Mood Points",
                     "description":"Get Music Mood Points to purchase avatars",
                     "price":"10",
                     "product_url":"abc"
                   };

  // calling the API ...
  var obj = {
    method: 'pay',
    order_info: order_info,
    purchase_type: 'item'
  };

  FB.ui(obj, callback);
}

var callback = function(data) {
  if (data['order_id']) {
    writeback("Transaction Completed! </br></br>"
    + "Data returned from Facebook: </br>"
    + "<b>Order ID: </b>" + data['order_id'] + "</br>"
    + "<b>Status: </b>" + data['status']);
  } else if (data['error_code']) {
    writeback("Transaction Failed! </br></br>"
    + "Error message returned from Facebook:</br>"
    + data['error_message']);
  } else {
    writeback("Transaction failed!");
  }
};
  </script>
function writeback(str) {
  $('.get_points').html(str);
}
   </script>

这是要单击的按钮:

 <input type="button" onclick="placeOrder();" value="GET More POINTS NOW" />

因此,当我单击该按钮时,它会在 facebook 弹出窗口中显示: 您的应用程序未正确响应。

那么代码中是否缺少某些内容或需要从应用程序设置中指定某些内容。有没有人有任何想法。您能说出的任何小事都会受到赞赏。

提前致谢

I am using facebook credits api and using its pay method, following is my code:

 <script type="text/javascript">
 window.fbAsyncInit = function() {
    FB.init({
      'appId'   : '<?php echo $app_id; ?>',
      'session' : <?php echo json_encode($session); ?>, // don't refetch the session when PHP already has it 
      'status'  : true, // check login status
      'cookie'  : true, // enable cookies to allow the server to access the session
      'xfbml'   : true // parse XFBML
    });


    // whenever the user logs in, we refresh the page
    FB.Event.subscribe('auth.login', function() {
      window.location.reload();
    });
    FB.Canvas.setAutoResize();
 };

  (function() {
   FB_RequireFeatures(["CanvasUtil"], function() {
            FB.CanvasClient.scrollTo(0, 0);
            window.FB = null;

            var e = document.createElement('script');
            e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
            e.async = true;
            document.getElementById('fb-root').appendChild(e);
        });
  }());
</script>
    <script type="text/javascript">
        function placeOrder() {

  var order_info = { "title":"Music Mood Points",
                     "description":"Get Music Mood Points to purchase avatars",
                     "price":"10",
                     "product_url":"abc"
                   };

  // calling the API ...
  var obj = {
    method: 'pay',
    order_info: order_info,
    purchase_type: 'item'
  };

  FB.ui(obj, callback);
}

var callback = function(data) {
  if (data['order_id']) {
    writeback("Transaction Completed! </br></br>"
    + "Data returned from Facebook: </br>"
    + "<b>Order ID: </b>" + data['order_id'] + "</br>"
    + "<b>Status: </b>" + data['status']);
  } else if (data['error_code']) {
    writeback("Transaction Failed! </br></br>"
    + "Error message returned from Facebook:</br>"
    + data['error_message']);
  } else {
    writeback("Transaction failed!");
  }
};
  </script>
function writeback(str) {
  $('.get_points').html(str);
}
   </script>

And here is button to click:

 <input type="button" onclick="placeOrder();" value="GET More POINTS NOW" />

So when I click the button , it says in a facebook popup: Your application is not responding correctly.

So is there some thing missing in code or some thing that need to specify from application settings. Do any one have any idea. Any little thing you can tell is appreciated.

thanks in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

﹉夏雨初晴づ 2024-11-14 04:29:42

当您下订单时,Facebook 会向您的服务器(在应用程序设置页面(信用部分下)中设置的路径)发出后端调用。

该错误意味着您的应用程序没有正确回复该初始调用(实际上有两个调用会发生)

请参阅 http://developers.facebook.com/docs/creditsapi/
了解更多信息,包括后端的示例代码。

When you place an order Facebook is making an backend call to your server (to the path set in the application setting page (under credit section).

That error means your application is not replying correctly to that initial call (there are actually two that will take place)

See http://developers.facebook.com/docs/creditsapi/
for more including sample code for your backend.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文