2

私はFacebookクレジット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のポップアップに次のように表示されます。アプリケーションが正しく応答していません。

それで、コードに欠けているものや、アプリケーション設定から指定する必要があるものがあります。誰かが何か考えを持っていますか。あなたが言うことができるどんな小さなことでもありがたいです。

前もって感謝します

4

1 に答える 1

2

注文すると、Facebookはサーバーにバックエンド呼び出しを行います(アプリケーション設定ページ(クレジットセクションの下)で設定されたパスに)。

このエラーは、アプリケーションがその最初の呼び出しに正しく応答していないことを意味します(実際には2つ発生します)

バックエンドのサンプルコードの詳細については、 http://developers.facebook.com/docs/creditsapi/を参照してください。

于 2011-05-27T22:09:04.590 に答える