用Java进行Facebook支付回调

时间:2013-06-04 08:43:46

标签: java facebook httprequest facebook-credits

我在java上有一个带有服务器端的Facebook应用程序。我使用HttpRequestHandler创建了测试回调。问题是当我收到payment_get_items时,Facebook不接受我发送的Json,并给出了这个错误:
“抱歉,我们无法处理您的付款。您未收到此笔交易的费用。请再试一次。” 这是Json我发送的信息:

Integer goldNum = o.get("item_id").getAsInt();
Integer creditsNum = building.getBuy().get(goldNum);

item.addProperty("title", "Buy gold");
item.addProperty("price", creditsNum);
item.addProperty("description", "Buy " + goldNum + " gold!");

JsonObject returnData = new JsonObject(); 
returnData.add("content", item);
returnData.addProperty("method", method);

response.getWriter().write(returnData.toString());
response.getWriter().close();
    return;

以下是日志,当我记录returnData:{“content”:{“title”:“购买黄金”,“价格”:50,“描述”:“买65金!”},“方法 “:” payments_get_items“}。我做错了什么?
有没有办法从Facebook获得更详细的解释?

1 个答案:

答案 0 :(得分:0)

尝试将内容类型设置为application/json

response.setContentType("application/json");
response.getWriter().write(returnData.toString());
response.getWriter().close();