我已使用以下代码在Facebook上为我的应用程序应用打开Facebook Pay对话框但收到错误:
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<p> <a onclick="placeOrder(); return false;">Buy</a></p>
<script>
FB.init({appId: 367311903326028, status: true, cookie: true});
function placeOrder() {
// If using mobile, this is where you place the
// iOS native app check for credits (see below)
// Assign an internal ID that points to a database record
var order_info = 'abc123';
// calling the API ...
var obj = {
method: 'pay',
order_info: order_info,
action: 'buy_item',
dev_purchase_params: {'oscif': true}
};
FB.ui(obj, callback);
}
var callback = function(data) {
if (data['order_id']) {
return true;
} else {
//handle errors here
return false;
}
};
function writeback(str) {
document.getElementById('output').innerHTML=str;
}
</script>
<br>
错误:
处理您的付款时出现问题
抱歉,我们无法处理您的付款。
您未收到此笔交易的费用。请再试一次。
请有人能告诉我这里出了什么问题。
由于
答案 0 :(得分:0)
如果没有更多信息,我们很难知道这里的问题是什么。具体来说,您对payment_status_update请求提供了哪些响应?您能告诉我们处理这些请求的代码,或者您的回复示例吗?
我个人在我们的回调错误地响应payment_status_update请求的情况下亲自看到了错误消息,但它可能是其他内容。
答案 1 :(得分:0)
在我看来,您使用的是旧货币付款,这是一个坏主意,因为它们将在两个月内被弃用。
检查您在FB应用程序设置中是否使用了新的本地货币付款,就好像已启用它(现在是默认设置),然后您可以采用新方式进行购买的唯一方式。使用旧方法将失败。 停用新的付款方式将允许您同时使用新方法和旧方法。