1

当社のUnity WebホストWebGLアプリケーションはFacebook支払いAPIを実装しています。 2017年7月13日以降、一部の製品の価格が変更され、現在は製品のHTMLに記載されている価格と異なることに気付きました。私たちの側では何も変わっていません。Facebook支払いオブジェクトが間違った価格を返します

サンプル製品オブジェクト:

<!DOCTYPE html> 
    <html> 
    <head prefix= 
     "og: http://ogp.me/ns# 
     fb: http:// 
     ogp.me/ns/fb# 
     product: https://ogp.me/ns/product#"> 
     <meta property="og:type"     content="og:product" /> 
     <meta property="og:title"     content="10000 Gold Coins" /> 
     <meta property="og:image"     content="https://[HOST_URL]/Icon.png" /> 
     <meta property="og:description"   content="10000 Gold Coins!" /> 
     <meta property="og:url"     content="https://[HOST_URL]/Coins10000.html" /> 
     <meta property="product:price:amount"  content="2.99"/> 
     <meta property="product:price:currency" content="USD"/>  
     <meta property="product:price:amount"  content="2.99"/> 
     <meta property="product:price:currency" content="EUR"/> 
     <meta property="product:price:amount"  content="2.49"/> 
     <meta property="product:price:currency" content="GBP"/> 
     <meta property="product:price:amount"  content="3.99"/> 
     <meta property="product:price:currency" content="AUD"/> 
     <meta property="product:price:amount"  content="3490"/> 
     <meta property="product:price:currency" content="KRW"/> 
     <meta property="product:price:amount"  content="11.9"/> 
     <meta property="product:price:currency" content="ILS"/> 
     <meta property="product:price:amount"  content="3.99"/> 
     <meta property="product:price:currency" content="CAD"/> 
     <meta property="product:price:amount"  content="314.9"/> 
     <meta property="product:price:currency" content="JPY"/> 
     <meta property="product:price:amount"  content="189.9"/> 
     <meta property="product:price:currency" content="RUB"/> 
     <meta property="product:price:amount"  content="23.9"/> 
     <meta property="product:price:currency" content="HKD"/> 
     <meta property="product:price:amount"  content="2.99"/> 
     <meta property="product:price:currency" content="CHF"/> 
     <meta property="product:price:amount"  content="11.9"/> 
     <meta property="product:price:currency" content="PLN"/> 
    </head> 
    </html> 

このオブジェクトを呼び出すユニティコード:

FB.Canvas.Pay("http://[HOST_URL]/Coins10000.html", callback: FBProductCallback); 

上記の製品は、(代わりに2.99の)のみ1.99ドルの原価計算などのユーザーに対して表示されます。

私の質問は以下の通りです:Facebook側で何か変わったのですか?他の誰かがこの変更を見ましたか?そして最も重要なことは、これをどうやって解決するのか?

サイドノートとして、ペイメントライト(Facebookで直接「ホスティング」された支払い商品)もテストしましたが、複数の通貨はサポートしていません。

+1

コードを変更していないため、Facebookからバグがあるようです。 Plsはあなたのバグを[Facebook](https://developers.facebook.com/bugs/)で報告します。彼らは24時間以内にあなたに連絡します。 –

答えて

1

私はFacebookでバグレポートを開いた後、問題を見つけることができました。

私たちのコードでは、単にHTTPプロトコルでhttpsではなくファイルURLを呼び出していました。これは私には知られていない何らかの理由で、キャッシュされたバージョンの製品を返し、私たちが設定したものとは異なる価格設定になりました。

Facebookの製品の問題をデバッグする必要がある人にボーナス有用なツールに:

  1. は、お使いのブラウザで開発者ツールウィンドウを開き、コンソールに移動します。 enter image description here

  2. をコンソールに次のコードを入力します:ゲームが実行されているIFRAMEへ

  3. 移動

    var obj = { 
        method:'pay', 
        action:'purchaseitem', 
        product:'YOUR_PRODUCT_URL' 
    }; 
    
    FB.ui(obj, function(data) { 
        console.log(data); 
    }); 
    

あなたは異なるURLが中に含まれているかを見ることができるこの方法Facebookのキャンバス。

幸運を祈る!

関連する問題