2012-01-23 2 views
0

guys, Мы разрабатываем игру, которая будет получать платежи через транзакции FB Credits, и проблема, с которой мы сталкиваемся, - «Произошла ошибка», после того, как появится FB.ui с методом «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 
    } 
} 

Любая помощь будет принята с благодарностью! Спасибо!

+0

Вы нашли решение? –

ответ

0

Убедитесь, что вы вызываете placeOrder() после FB.init().