Facebook Pay对话:处理您的付款时出现问题

时间:2012-05-17 06:35:52

标签: facebook dialog payment

我已使用以下代码在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>

错误:

处理您的付款时出现问题 抱歉,我们无法处理您的付款。
您未收到此笔交易的费用。请再试一次。

请有人能告诉我这里出了什么问题。

由于

2 个答案:

答案 0 :(得分:0)

如果没有更多信息,我们很难知道这里的问题是什么。具体来说,您对payment_status_update请求提供了哪些响应?您能告诉我们处理这些请求的代码,或者您的回复示例吗?

我个人在我们的回调错误地响应payment_status_update请求的情况下亲自看到了错误消息,但它可能是其他内容。

答案 1 :(得分:0)

在我看来,您使用的是旧货币付款,这是一个坏主意,因为它们将在两个月内被弃用。

检查您在FB应用程序设置中是否使用了新的本地货币付款,就好像已启用它(现在是默认设置),然后您可以采用新方式进行购买的唯一方式。使用旧方法将失败。 停用新的付款方式将允许您同时使用新方法和旧方法。