アプリでゲーム内通貨を購入できるように、支払いダイアログを起動しようとしています。しかし、何を試してもダイアログは表示されず、エラーメッセージも何も表示されません。
問題を根絶するために私が試みたすべてのことのリストを実行します。
Web ページからアプリを実行すると、ポップアップに API エラー コード: 1151 が表示されます。Facebook 内で実行すると、このポップアップは表示されず、何も表示されません。
サーバー側のコードと同様に、Payments Callback URL が設定されています。これは手動でテストされていますが、Facebook 自体からの呼び出しはログに記録されていません。
Actionscript でアプリ内から起動しようとしましたが、JavaScript 関数も呼び出してみましたが、どちらも同じように動作します。
コールバックを除外するために buy_credits も試しました (コールバックが機能する必要はないようです) が、これには同じ問題があります。
直接 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']) {
}
};
どんな助けでも大歓迎です。