Ребята, мы разрабатываем игру, которая будет получать платежи через транзакции FB Credits, и проблема, с которой мы сталкиваемся, - это сообщение «Произошла ошибка», как только FB.ui с методом «pay» отображается.Я пытался отладить все это, но уже много лет, чтобы выяснить, что может быть причиной этого.Я действительно отчаянно нуждаюсь в исправлении этого уже!Пожалуйста, помогите!
Я создал тестовое приложение 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
}
}
Любая помощь будет принята с благодарностью!Спасибо!