10

我们目前正在考虑实施 Facebook 的新订阅付款。我们已经为 Facebook 设置了有效的支付设置,并且回调 url 设置正确。如果我进行定期测试付款,回调会被正确调用。

测试订阅的设置是根据这个。但是,如果我选择总是成功或总是失败,则不会对付款回调 url 进行回调。

它确实返回一个表示订阅处于活动状态且具有 ID 的对象。

{status: "active", subscription_id: 204626XXXXXX}
4

3 回答 3

2

如果订阅状态发生变化,您是否可能只收到发送到回调 URL 的请求,并且您已经有用户的活动订阅?我认为在这种情况下您会收到客户端错误,但我没有看到任何证据表明存在错误代码。

如果您为同一个帐户多次进行常规测试付款会怎样?

于 2012-09-24T05:05:16.867 回答
1

Facebook 订阅不是常规购买。

您必须在“payment_subscriptions”对象上设置实时更新并监听这些可用字段:(“status”、“pending_cancel”、“payment_status”、“last_payment”)。请参阅文档: http: //developers.facebook.com/docs/payments/subscriptions/,有一个名为“消费实时更新”的部分

每次用户订阅或取消(或隐式续订)时,您都会收到相关的订阅 ID。然后,您可以向 Graph API 询问有关此订阅对象的信息。

您还可以通过“/payment.subscriptions”上的 Graph Api 调用检索任何用户的订阅列表

所有这些调用都必须使用 App 访问令牌执行。

我必须承认,如果您总是执行“同步”购买,这个过程会很烦人。我确实实现了订阅,这是一次漫长而痛苦的旅行;)

希望这可以帮助

于 2012-11-20T13:43:20.423 回答
0

订阅被映射到 Facebook 端的 OpenGraph 对象,以及虚拟货币,所以,我怀疑服务器端没有回调,你所能做的就是做某种 http 帖子(例如通过表单) insde FB.ui 回调并在 Servlet 中实现 doPost 方法。这将是一种将订阅信息获取到某些数据源的方法。

编辑:关于支付回调,那些订单信息是基于OG对象计算的,facebook不会发送payments_get_items请求,所以订阅创建后无法获取订单信息。另一方面,您可能会在对应的 servlet 中收到一些 payment_status_update(我说的是 servlet,因为我是一名 Java 程序员,但总体思路适用于您选择的任何技术)

于 2012-11-13T14:07:31.207 回答