1

我正在开发一款具有应用内购买功能的 Facebook Canvas 应用。这是我目前所处的位置:

  1. 我已经设置了我的实时更新回调页面,当交易发生变化时它会根据需要被调用。

  2. 当调用 RTU 回调时,我成功获取了 PaymentID、Time 和 Changed_Fields。

  3. 我可以在我的 Canvas 应用程序中成功处理测试交易,还可以在 Canvas 应用程序中获得预期的 javascript 回调,以及付款详细信息。

到目前为止一切都很好,但是......我遇到的问题是处理延迟付款完成、争议等。使用用户进行购买但在关闭最终付款对话框之前关闭浏览器的示例场景:收费已制作,但不会调用应用内 javascript 回调。所以在这种情况下,所有存在的只是对用户的收费,以及我保存到我的服务器数据库的 RTU 回调条目,其中包含 PaymentID、时间和 Changed_Fields(除了“操作”之外什么都不说)。

第一个困惑:

通过阅读文档和观看实施视频,我应该能够在收到此 RTU 调用时从我的服务器后端调用图形支付 API 以获取付款详细信息。因为这个页面(它是 C# asp.net)不是我的应用程序,所以我一生都无法弄清楚如何获取应用程序令牌来进行任何调用。在我的所有搜索中,获取令牌的每个示例都涉及用户登录/授权页面以获取访问令牌。由于这个页面是一个后端服务器处理实体,这是不切实际的。如果有人能阐明我应该如何实现这一点,那就太好了。我确实安装了 .net 的 facebook sdk,但还没有想出这一步。

第二个困惑:

我尝试了一条不同的路线,认为可以创建一个唯一的 request_id,创建一个包含即将发生的购买的基本信息的记录,然后在调用 RTU 时根据需要更新该记录。这样,我的应用程序可以简单地观察购买是否已更新为完成等。这里的问题是,当购买开始时,paymentID 还不存在,相反,RTU 调用不会带来任何数据使用 PaymentID、时间和“操作”以外的其他方法。我找不到任何东西可以将这两个事件联系起来以处理履行。

第三个困惑:

在通过 RTU 调用发送的 Json 数据中,Changed_Fields 显示为“操作”,无论支付完成还是失败。所以要么我在这个服务器回调中完全遗漏了一些东西,要么这是我第一次感到困惑的问题,我应该如何获取应用令牌来调用图形 API 以获取详细信息?

这整件事让我感觉很愚蠢,因为我在流程中的某个地方一定缺少了一些东西。不过,我几乎没有偏头痛药了,所以我希望有人能告诉我至少哪一步我没有得到正确的信息,也许还有一些关于在哪里可以找到实现它的信息的方向。

注意:我意识到这些问题不是“特定于代码的”,但 Facebook 说要在此处发布问题。如果有更好的地方请见谅。

4

1 回答 1

1

哇,头疼了 2 天,当我问这个问题时,我发现了如何在以下位置获取我的令牌:

https://developers.facebook.com/docs/facebook-login/access-tokens

我之前曾多次阅读该页面,但错过了获取应用程序令牌的部分,该部分很容易通过 id 和密码完成。

现在我可以继续解析付款明细结果并进行处理。

于 2014-05-05T15:32:12.143 回答